AVR Code Vision Instructions
-
Upload
joshuakkkk -
Category
Documents
-
view
283 -
download
4
Transcript of AVR Code Vision Instructions
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 1
1. Εισαγωγή Ο Infotech CodeVisionAVR είναι ένας C cross compiler, µε δοµηµένο περιβάλλον
ανάπτυξης και αυτοµατοποιηµένης παραγωγής κώδικα σχεδιασµένος για την
οικογένεια των µικροελεγκτών AVR της Atmel.
Το πρόγραµµα είναι µια τριανταδυάµπιτη εφαρµογή που τρέχει κάτω από τα
λειτουργικά συστήµατα WINDOWS 95, 98, NT 4.0, 2000 και XP.
Ο C cross compiler εφαρµόζει σχεδόν όλα τα στοιχεία της γλώσσας Ansi C, που
υποστηρίζονται από την Αρχιτεκτονική AVR, µε µερικά χαρακτηριστικά γνωρίσµατα
που προστίθενται για να εκµεταλλευθούν την ιδιοµορφία της αρχιτεκτονικής AVR.
Το δοµηµένο περιβάλλον ανάπτυξης (Integrated Development Environment (IDE))
έχει ενσωµατωµένο έναν AVR Chip In-System Programmer που επιτρέπει την
αυτόµατη µεταφορά του προγράµµατος στο chip του µικροελεγκτή µόλις
ολοκληρωθεί µε επιτυχία η διαδικασία του compilation. O In-System Programmer
σχεδιάστηκε για να λειτουργήσει για τα αναπτυξιακά board:
• Atmel STK500
• Kanda Systems STK200+/300
• Dontronics DT006
• Vogel Elektronik VTEC-ISP
• Microtronics ATCPU
• Mega2000.
Για τη διόρθωση των ενσωµατωµένων συστηµάτων, που χρησιµοποιούν την σειριακή
επικοινωνία, το IDE έχει ένα ενσωµατωµένο τερµατικό.
Εκτός από τις τυποποιηµένες βιβλιοθήκες C, ο µεταγλωττιστής CodeVisionAVR C
έχει βιβλιοθήκες για:
• Alphanumeric LCD modules
• ∆ίαυλος Philips I2C
• Αισθητήρες θερµοκρασίας LM75 της National Semiconductor
• Philips PCF8563, PCF8583, Dallas Semiconductor DS1302 και DS1307 Real
Time Clocks
• Dallas Semiconductor 1 Wire protocol
• Dallas Semiconductor DS1820/DS1822 Temperature Sensors
• Dallas Semiconductor DS1621 Thermometer/Thermostat
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 2
• Dallas Semiconductor DS2430 & DS2433 EPROM’s
• SPI
• Power management
• Delays
• Μετατροπή κώδικα Gray.
To CodeVisionAVR περιέχει επίσης τον CodeWizardAVR Automatic Program
Generator, ο οποίος επιτρέπει γρήγορη ανάπτυξη κώδικα που απαιτείται για την
εφαρµογή των ακόλουθων λειτουργιών:
• External memory access setup
• Chip reset source identification
• Αρχικοποίηση των Ι/Ο Ports
• Αρχικοποίηση εξωτερικών διακοπών
• Αρχικοποίηση των Timers / Counters
• Αρχικοποίηση Watchdog Timer
• Αρχικοποίηση UART και σειριακής επικοινωνίας µε χρήση διακοπών
• Αρχικοποίηση Αναλογικών συγκριτών
• Αρχικοποίηση ADC
• Αρχικοποίηση SPI Interface
• Αρχικοποίηση I2C Bus, αισθητήρα θερµοκρασίας LM75, DS1621
Thermometer/Thermostat και PCF8563, PCF8583, DS1302, DS1307 real
time clocks.
• Αρχικοποίηση 1 Wire Bus και DS1820/DS1822 αισθητήρων θερµοκρασίας
• Αρχικοποίηση LCD module
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 3
2. ∆ηµιουργία ενός νέου Project Μπορούµε να δηµιουργήσουµε ένα νέο Project επιλέγοντας από το µενού File|New.
Στο πλαίσιο διαλόγου που εµφανίζεται επιλέγουµε Project και στη συνέχεια ΟΚ.
Εικόνα 3.2.1
Ένα νέο παράθυρο διαλόγου εµφανίζεται για να επιβεβαιώσει εάν θα επιθυµούσαµε
να χρησιµοποιήσουµε τον CodeWizardAVR για να δηµιουργήσουµε το νέο
πρόγραµµα.
Εικόνα 3.2.2
Εάν δεν θέλουµε να χρησιµοποιήσουµε τον CodeWizardAVR επιλέγουµε Νο και στη
συνέχεια θα ανοίξει παράθυρο διαλόγου Create New Project. Πρέπει να καθορίσουµε
το νέο όνοµα αρχείου και τη θέση του.
Εικόνα 3.2.3
Το αρχείο Project θα έχει την επέκταση “prj”. Μπορείτε να διαµορφώσoυµε το
Project µε τη χρησιµοποίηση της εντολής επιλογών Project|Configure.
Για να χρησιµοποιήσουµε τον CodeWizardAVR επιλέγουµε YES.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 4
3. Χρησιµοποιώντας τον CodeWizardAVR automatic program generator
Η χρήση του CodeWizardAVR automatic program generator, απλοποιεί τη
διαδικασία της δηµιουργίας κώδικα εκκίνησης για τους διάφορους τύπους
µικροελεγκτών AVR.
Εικόνα 3.3.1
Στο παράθυρο που παρουσιάζεται εµφανίζονται οι ρυθµίσεις του tab “chip” και
επιλέγουµε το µικροελεγκτή AT90S8535 και σαν τιµή ρολογιού τα 4 MHz δεδοµένου
ότι αυτή είναι η τιµή που προβλέπεται για το αναπτυξιακό STK200.
Επιλέγουµε το tab "Ports" για να καθορίσουµε την αρχική κατάσταση των Ι/Ο Ports.
Η προκαθορισµένη ρύθµιση είναι να έχουµε όλες τις πόρτες σαν εισόδους (εικόνα
3.3.2)
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 5
Εικόνα 3.3.2
Επιλέγοντας τα διάφορα tab µπορούµε να κάνουµε ρυθµίσεις για UART, Analog
Comparator, ADC, SPI, I2C, 1Wire, LCD, Bit-Banged, External IRQ και των timers.
Αφού ολοκληρώσουµε τις ρυθµίσεις από το µενού File επιλέγουµε Generate, Save
and Exit και δίνουµε τα ονόµατα των αρχείων προς αποθήκευση.
4. Άνοιγµα ενός υπάρχοντος Project
Μπορούµε να ανοίξουµε ένα υπάρχον αρχείο Project χρησιµοποιώντας την εντολή
στην γραµµή επιλογών File|Open ή µε την επιλογή Open της γραµµής εργαλείων.
Ένα παράθυρο διαλόγου Open εµφανίζεται.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 6
Εικόνα 3.4
Πρέπει να επιλέξoυµε το όνοµα αρχείου του Project που επιθυµούµε να ανοίξουµε.
Επιλέγοντας Open θα ανοίξoυµε το αρχείο Project καθώς και τα αρχεία source.
Μπορούµε να διαµορφώσουµε το Project µε τη χρησιµοποίηση της εντολής επιλογών
Project|Configure.
3.5 Προσθήκη σηµειώσεων ή σχολίων στο Project Με κάθε Project το CodeVisionAVR IDE δηµιουργεί ένα αρχείο κειµένου όπου
µπορούµε να τοποθετήσουµε σηµειώσεις και σχόλια.
Μπορούµε να έχουµε πρόσβαση σε αυτό το αρχείο χρησιµοποιώντας τις εντολές
επιλογών Project|Notes ή Windows.
Αυτό το αρχείο µπορεί να τροποποιηθεί χρησιµοποιώντας τις τυποποιηµένες εντολές
Editor. Το αρχείο σώζεται αυτόµατα όταν επιλέξουµε File|Close Project ή κλείσουµε
το πρόγραµµα CodeVisionAVR.
Εικόνα 3.5
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 7
6. ∆ιαµόρφωση του Project Το Project µπορεί να διαµορφωθεί χρησιµοποιώντας την επιλογή µενού
Project|Configure ή το κουµπί στη γραµµή εργαλείων Project Configure.
Προσθέτοντας ή αφαιρώντας ένα αρχείο από το Project
Για να προσθέσουµε ή να αφαιρέσουµε ένα αρχείο από το τρέχον πρόγραµµα πρέπει
να χρησιµοποιήσουµε την επιλογή µενού Project|Configure.
Ένα tab Configure Project θα ανοίξει. Πρέπει να επιλέξουµε το tab Files.
Με την επιλογή του κουµπιού Add µπορούµε να προσθέσουµε ένα source αρχείο στο
πρόγραµµα. Το πρώτο αρχείο που προστίθεται στο πρόγραµµα είναι το κύριο αρχείο
προγράµµατος.
Η διαδικασία Μake θα γίνεται για αυτό το αρχείο.
Τα υπόλοιπα αρχεία που προστίθενται στο Project θα συνδεθoύν αυτόµατα µε το
κύριο αρχείο προγράµµατος στη διαδικασία Μake.
Εικόνα 3.6.1
Περισσότερα από ένα αρχεία µπορούν να προστεθούν επιλεκτικά µε το κράτηµα του πλήκτρου CTRL στο πλαίσιο διαλόγου Add File To Project.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 8
εικόνα 3.6.2
Όταν το Project ανοίξει όλα τα αρχεία προγράµµατος θα ανοίξουν στον editor.
Με κλικ στο όνοµα του αρχείου και επιλογή του κουµπιού Remove µπορούµε να
αφαιρέσουµε αυτό το αρχείο από το πρόγραµµα. Οι αλλαγές µπορούν να
αποθηκευτούν µε την επιλογή του ΟΚ ή να ακυρωθούν µε την επιλογή CANCEL.
7. Καθορισµός επιλογών του C Compiler Για να ορίσουµε τις επιλογές του C Compiler για το τρέχον project, επιλέγουµε από
το µενού Project|Configure.
Στο διάλογο Configure Project που θα εµφανιστεί επιλέγουµε το tab C Compiler.
εικόνα 3.7
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 9
Μπορούµε να επιλέξουµε τον τύπο του µικροελεγκτή AVR που χρησιµοποιούµε στην
επιλογή Chip.
Πρέπει επίσης να διευκρινίσoυµε την CPU Clock Frequency σε MHz, που
απαιτείται για τα Delay Functions, Wire Protocol Functions, τους θερµικούς
ανιχνευτές Dallas Semiconductor D81820/D51822 Functions και για την
αρχικοποίηση της UART.
Εάν το πρόγραµµα χρησιµοποιεί σειριακή επικοινωνία πρέπει να επιλέξουµε το
Initialize UART και να καθορίσουµε το Baud rate. Ο C Compiler θα παραγάγει
αυτόµατα τον κώδικα εκκίνησης που θα εµπεριέχει τη λειτουργία Initialize UART
και το Baud rate που καθορίσαµε.
Το απαραίτητο µοντέλο µνήµης µπορεί να επιλεγεί µε τη χρησιµοποίηση του option
group Memory Model.
Επίσης µπορούµε να επιλέξουµε την βελτιστοποίηση του κώδικα, ώστε να παραχθεί
ένα πρόγραµµα µε το µικρότερο δυνατό µέγεθος ή µε τη µέγιστη ταχύτητα εκτέλεσης,
χρησιµοποιώντας την επιλογή Optimize for|Size ή Optimize for|Speed αντίστοιχα.
Το µέγεθος του Data Stack πρέπει να διευκρινιστεί επίσης.
Επίσης µπορούµε να διευκρινίσουµε το µέγεθος της εξωτερικής µνήµης SRAM (σε
περίπτωση που ο µικροελεγκτής συνδέεται µε εξωτερική µνήµη SRAM).
Η επιλογή External SRAM Wait State επιτρέπει την εισαγωγή καταστάσεων
αναµονής κατά τη διάρκεια της πρόσβασης στην εξωτερική µνήµη SRAM. Αυτό
είναι χρήσιµο όταν χρησιµοποιούνται αργές συσκευές µνήµης.
Εάν χρησιµοποιηθεί µια συσκευή Atmel AT94K05, AT94K10, AT94K20 ή
AT94K40 FPSLIC, τότε υπάρχει η δυνατότητα να διευκρινιστεί το µέγεθος µνήµης
SRAM (Kwords) που θα χρησιµοποιεί το πρόγραµµα.
Το µέγεθος των µεταβλητών, που τοποθετούνται στους καταχωρητές R2-R15, µπορεί
να διευκρινιστεί στη λίστα τιµών Bit Variables Size.
Η ενεργοποίηση της επιλογής Promote char to int πραγµατοποιεί την µετατροπή
των τελεστών τύπου char σε int. Αυτή η επιλογή µπορεί επίσης να καθοριστεί µε την
χρήση της ψευδοεντολής του compiler #pragma promotechar.
Η προαγωγή των τελεστών char σε int οδηγεί σε αυξηµένο µέγεθος κώδικα και
χαµηλότερη ταχύτητα για έναν µικροελεγκτή 8bit όπως ο AVR.
Αν η επιλογή char is unsigned είναι ενεργοποιηµένη, ο µεταγλωττιστής
µεταχειρίζεται εξ’ ορισµού τον τύπο δεδοµένων char σαν έναν µη προσηµασµένο 8bit
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 10
αριθµό µεταξύ 0...255. Στην περίπτωση που η επιλογή αυτή δεν είναι ενεργοποιηµένη
τότε ο 8bit αριθµός είναι ένας προσηµασµένος αριθµός στο διάστηµα -128...127.
Αυτή η επιλογή µπορεί επίσης να καθοριστεί χρησιµοποιώντας σε επίπεδο
compilation την δήλωση της ψευδοεντολής #pragma uchar.
Στην περίπτωση αυτή που ο τύπος char χειρίζεται σαν µη προσηµασµένος ακέραιος,
επιτυγχάνεται καλύτερο µέγεθος κώδικα και ταχύτητα.
Επιλέγοντας το check box Globally #define επιτρέπεται στις καθορισµένες
µακροεντολές να είναι ορατές σε όλα τα αρχεία του project.
Το υπόλοιπο των καταχωρητών R2 ως R15, που δεν χρησιµοποιείται για τις
µεταβλητές, µπορεί να γίνει αυτόµατα διαθέσιµο στις γενικές µεταβλητές τύπου char
και int µε την επιλογή Code Compilation|Automatic Register Allocation.
Ένα εξωτερικό αρχείο εκκίνησης µπορεί να χρησιµοποιηθεί µε τον έλεγχο του Code
Compilation|Use an External Startup File.
Η παραγωγή µηνυµάτων προειδοποίησης κατά τη διάρκεια του compilation µπορεί να
επιτραπεί ή να τεθεί εκτός λειτουργίας µε τη χρησιµοποίηση του Enable Warnings.
Για λόγους διόρθωσης σφαλµάτων υπάρχει η επιλογή Stack End Markers. Εάν
επιλεγεί, ο µεταγλωττιστής τοποθετεί τα string DSTACKEND, HSTACKEND, στο
τέλος του Data Stack και Hardware Stack αντίστοιχα.
Όταν διορθώνουµε το πρόγραµµα µε το διορθωτή AVR Studio µπορούµε να δούµε
εάν αυτές οι σειρές είναι επικαλυµµένες, και συνεπώς τροποποιούµε το Data Stack
Size.
Όταν το πρόγραµµά µας τρέχει σωστά µπορούµε να θέσουµε εκτός λειτουργίας την
τοποθέτηση των σειρών αυτών προκειµένου να µειώσουµε το µέγεθος κώδικα.
Χρησιµοποιώντας τη λίστα File Output Format(s) µπορούµε να επιλέξουµε ένα από
τα ακόλουθα format για τα αρχεία που παράγονται από το µεταγλωττιστή:
• ∆εκαεξαδικό της Intel
• COFF (που απαιτείται από το διορθωτή Atmel AVR Studio), ROM και EEP
(που απαιτούνται από τον In- System Programmer)
• Atmel γενικά OBJ, ROM και EEP
(που απαιτούνται από τον In-System Programmer).
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 11
Εάν επιλεγεί το format αρχείων COFF και ενεργοποιηθεί το check box Use the
Terminal I/O in AVR Studio, παράγονται επιπλέον πληροφορίες διόρθωσης
σφαλµάτων για την χρησιµοποίηση του τερµατικού εισόδου-εξόδου του AVR Studio
για επικοινωνία µε την εξοµοιωµένη θύρα UART του AVR chip.
Οι αλλαγές µπορούν να αποθηκευτούν ή να ακυρωθούν, χρησιµοποιώντας αντίστοιχα
τα κουµπιά ΟΚ και Cancel.
8. Μεταφορά του µεταγλωττισµένου προγράµµατος στο AVR Chip
µετά τη δηµιουργία του εκτελέσιµου κώδικα Αυτή η επιλογή είναι διαθέσιµη εάν επιλέξουµε την ετικέτα After Make στο
παράθυρο Configure Project.
Εικόνα 3.8
Εάν ενεργοποιηθεί η επιλογή Program the Chip, τότε µετά από µία επιτυχή
διόρθωση/µεταγλώττιση, το πρόγραµµα θα µεταφερθεί αυτόµατα στο AVR chip
χρησιµοποιώντας τον ενσωµατωµένο Programmer.
Τα ακόλουθα βήµατα εκτελούνται αυτόµατα:
• ∆ιαγραφή µνηµών του Chip
• Έλεγχος διαγραφής των FLASH και EEPROM
• Προγραµµατισµός FLASH και επαλήθευση
• Προγραµµατισµός EEPROM και επαλήθευση
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 12
• Προγραµµατισµός Fuse και Lock Bits
Από την επιλογή Chip µπορούµε να επιλέξουµε τον τύπο του chip που θέλουµε να
προγραµµατίσουµε.
Εάν το chip που έχουµε επιλέξει έχει Fuse Bit(s) που µπορούν να προγραµµατιστούν,
τότε θα εµφανιστεί µια συµπληρωµατική επιλογή Fuse bit(s).
Εάν επιθυµούµε να κλειδώσουµε το chip ώστε να αποτρέπεται οποιαδήποτε ενέργεια
για επαναπρογραµµατισµό, πρέπει να επιλέξουµε το αντίστοιχο option από το option
panel FLASH Lock Bits.
Εάν επιθυµούµε έλεγχο της ψηφιακής υπογραφής του chip τότε πρέπει να
ενεργοποιηθεί το Check Signature.
Για να επιταχυνθεί η διαδικασία προγραµµατισµού απενεργοποιούµε το Check
Erasure. Σε αυτήν την περίπτωση δεν θα υπάρξει καµία επαλήθευση της ακρίβειας
της διαγραφής της FLASH.
Το τετραγωνίδιο Preserve EEPROM επιτρέπει την διατήρηση του περιεχοµένου της
EEPROM κατά τη διάρκεια της διαγραφής του chip.
Για να επιταχύνουµε επίσης τον προγραµµατισµό µπορούµε να αποεπιλέξουµε το
check box Verify. Σε αυτήν την περίπτωση δεν θα υπάρξει κανένα verification της
ακρίβειας του προγραµµατισµού των FLASH και EEPROM.
Οι αλλαγές µπορούν να αποθηκευτούν ή να ακυρωθούν, χρησιµοποιώντας
αντίστοιχα τα κουµπιά ΟΚ και CANCEL.
9. Εκτελώντας ένα πρόγραµµα ορισµένο από το χρήστη µετά τη
διαδικασία “Make” Αυτή η επιλογή είναι διαθέσιµη εάν επιλέξουµε την ετικέτα After Make στο
παράθυρο Project Configure.
Εάν ενεργοποιήσουµε την επιλογή Execute User’s Program, τότε ένα πρόγραµµα
που έχουµε διευκρινίσει προηγουµένως, θα εκτελεσθεί µετά τη διαδικασία
µεταγλώττισης.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 13
Εικόνα 3.9
Χρησιµοποιώντας το κουµπί Program Settings µπορείτε να τροποποιήσουµε :
• τον κατάλογο και το όνοµα αρχείου του προγράµµατος
• τις παραµέτρους της γραµµής εντολής του προγράµµατος
• τον κατάλογο εργασίας του προγράµµατος
Εικόνα 3.10
Οι αλλαγές µπορούν να σωθούν ή ακυρωθούν, χρησιµοποιώντας τα κουµπιά OK και
CANCEL.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 14
10. ∆ηµιουργία ενός εκτελέσιµου προγράµµατος Η δηµιουργία ενός εκτελέσιµου προγράµµατος επιτυγχάνεται :
1. Κάνοντας compilation στο πηγαίο αρχείο κώδικα C του project, χρησιµοποιώντας
τον CodeVisionAVR C Compiler και
2. Παράγοντας κώδικα assembly, χρησιµοποιώντας τον assembler AVRASM32 του
Atmel AVR.
Το “compile” ενός αρχείου, εκτελεί το βήµα 1.
Το “make”, εκτελεί τα βήµατα 1 και 2 για το κύριο αρχείο προγράµµατος
11. To compilation ενός Project Για να κάνουµε compilation σε ένα Project πρέπει να χρησιµοποιήσουµε την εντολή
του menu Project|Compile, ή εναλλακτικά πατώντας το F9 function key, ή τέλος
πατώντας το κουµπί Compile της µπάρας εργαλείων. Ο CodeVisionAVR C Compiler
θα εκτελεσθεί, παράγοντας ένα αρχείο κώδικα assembly µε επέκταση .asm.
Το αρχείο assembly µπορεί να εξεταστεί και να τροποποιηθεί µε τον Editor.
Μετά το compilation εµφανίζεται ένα παράθυρο πληροφοριών το οποίο αναφέρει τα
αποτελέσµατα της διαδικασίας compile.
Εικόνα 3.11
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 15
12. ∆ιαδικασία MAKE του Project Για να παράγoυµε (Make) το Project πρέπει να χρησιµοποιήσουµε την εντολή
Project|Make του menu, ή εναλλακτικά να πατήσουµε τον συνδυασµό πλήκτρων
Shift+F9 ή το κουµπί Make της µπάρας εργαλείων. Ο CodeVisionAVR C Compiler
θα εκτελεσθεί, παράγοντας ένα αρχείο κώδικα assembly µε την επέκταση .asm.
Το υπόλοιπα αρχεία που προστέθηκαν στο project θα συνδεθούν αυτόµατα µε το
κύριο αρχείο του προγράµµατος.
Τα ενδεχόµενα λάθη και/ή οι προειδοποιήσεις σύνταξης θα απαριθµηθούν στο
παράθυρο Message, που βρίσκεται κάτω από Παράθυρο του Editor, ή το παράθυρο
Navigator.
Εικόνα 3.12.1
Εάν δεν εντοπίστηκε κανένα λάθος, τότε ο assembler AVRASM32 θα εκτελεσθεί,
δίνοντας σαν έξοδο ένα αρχείο του τύπου που διευκρινίστηκε νωρίτερα στο
παράθυρο επιλογών Project|Configure|C Compiler.
Αφότου ολοκληρωθεί η διαδικασία θα ανοίξει ένα παράθυρο Information, που θα
παρουσιάζει τα αποτελέσµατα.
Στην ετικέτα Compiler φαίνονται τα αποτελέσµατα του compilation.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 16
Εικόνα 3.12.2
Στην ετικέτα Assembler εµφανίζονται τα αποτελέσµατα του assembler.
Εικόνα 3.12.3
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 17
Στην ετικέτα Programmer φαίνεται ο Chip Programming Counter, ο οποίος απαριθµεί
τις φορές, που το AVR chip, έχει προγραµµατιστεί µέχρι τώρα.
Εικόνα 3.12.4
Με το πάτηµα του κουµπιού Set Counter θα ανοίξει το παράθυρο Set Programming
Counter.
Εικόνα 3.12.5
Σε αυτό το παράθυρο διαλόγου επιτρέπεται η µεταβολή της τιµής Chip Programming
Counter.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 18
Το πάτηµα του κουµπιού Program επιτρέπει τον αυτόµατο προγραµµατισµό του chip
AVR µετά από ένα επιτυχές compilation. To Cancel θα θέσει εκτός λειτουργίας τον
αυτόµατο προγραµµατισµό.
13. Κλείσιµο ενός Project Μπορούµε να κλείσουµε το τρέχον Project µε τη χρησιµοποίηση της εντολής
επιλογών File|Close Project.
Εάν τα αρχεία του Project τροποποιήθηκαν και δεν σώθηκαν ακόµα, θα εµφανιστεί
πλαίσιο διαλόγου που θα ρωτά την πρόθεσή µας για αποθήκευση.
Εικόνα 3.13
Πατώντας Yes θα σώσει τις αλλαγές και θα κλείσει το πρόγραµµα.
Πατώντας No θα κλείσει το πρόγραµµα χωρίς αποθήκευση των αλλαγών.
Το πάτηµα του Cancel θα θέσει εκτός λειτουργίας τη διαδικασία κλεισίµατος
προγράµµατος.
Κατά την αποθήκευση, θα δηµιουργηθεί ένα εφεδρικό αρχείο µε µια προέκταση .pr.
14. Ο προγραµµατιστής AVR Το CodeVisionAVR IDE έχει ένα ενσωµατωµένο In-System AVR Chip Programmer
που βοηθά στην εύκολη µεταφορά, του µεταφρασµένου προγράµµατος, στο
µικροελεγκτή για δοκιµή.
Ο Programmer είναι σχεδιασµένος να λειτουργεί µε το Atmel STK500, Kanda
Systems STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP ή τους
MicroTronics ATCPU και Mega2000 πίνακες ανάπτυξης, που συνδέονται µε την
παράλληλη θύρα του υπολογιστή σας.
Ο Programmer εκτελείται µε την επιλογή της εντολής επιλογών TooIs|Chip
Programmer ή πιέζοντας το κουµπί Chip Programmer στη µπάρα εργαλείων.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 19
Εικόνα 3.14.1
Μπορούµε να επιλέξουµε τον τύπο του chip που επιθυµούµε στο πρόγραµµα
χρησιµοποιώντας την επιλογή Chip.
Εάν το chip που έχουµε επιλέξει έχει Fuse Bit(s) που µπορούν να προγραµµατιστούν,
τότε θα εµφανιστεί ένα βοηθητικό check box Fuse Bit(s). Χρησιµοποιώντας αυτό το
check box µπορούµε να θέσουµε τις διάφορες ρυθµίσεις του chip.
Όταν είναι επιθυµητό να κλειδώνεται το chip ώστε να αποτρέπεται οποιαδήποτε
ενέργεια για επαναπρογραµµατισµό, πρέπει να επιλέγεται το αντίστοιχο option από το
option panel FLASH Lock Bits.
Ο Programmer έχει δύο buffer µνήµης:
• τον buffer µνήµης FLASH
• τον buffer µνήµης EEPROM.
Μπορούµε να φορτώσουµε ή να αποθηκεύσουµε το περιεχόµενο αυτών των buffer
χρησιµοποιώντας to File menu. Τα υποστηριζόµενα format αρχείων είναι:
• Atmel .rom και .eep
• ∆εκαεξαδικό (HEX) της Intel
• ∆υαδικό .bin
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 20
Φορτώνοντας ένα αρχείο στον κατάλληλο buffer, οι διευθύνσεις Start και End
ενηµερώνονται αναλόγως. Τις διευθύνσεις αυτές µπορούµε επίσης να τις
τροποποιήσουµε.
Το περιεχόµενο των buffer της FLASH και της EEPROM, µπορούν να εµφανιστούν
και να τροποποιηθούν, µε τις εντολές επιλογών Edit|FLASH και Edit|EEPROM
αντίστοιχα.
Όταν καλείται µια από αυτές τις εντολές, τότε ανοίγει ένα παράθυρο Edit που
επιδεικνύει το περιεχόµενο του αντίστοιχου buffer:
Εικόνα 3.14.2
Τα περιεχόµενα του buffer, στην τονισµένη διεύθυνση, µπορούν να τροποποιηθούν
πληκτρολογώντας µια νέα τιµή.
Η τονισµένη διεύθυνση µπορεί να τροποποιηθεί χρησιµοποιώντας τα πλήκτρα των
arrows, το Tab, το Shift+Tab, το PageUp ή το PageDown.
Το παράθυρο Fill Memory Block µπορεί να ανοίξει κάνοντας δεξί κλικ στο
παράθυρο Edit.
Εικόνα 3.14.3
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 21
Αυτό το παράθυρο µας επιτρέπει να διευκρινίσουµε το Start Address, End Address
και Fill Value της περιοχής µνήµης που πρόκειται να χρησιµοποιηθεί.
Όταν είναι επιθυµητό να ελέγχεται η ψηφιακή υπογραφή του chip πριν από
οποιαδήποτε λειτουργία πρέπει να χρησιµοποιηθεί η επιλογή Check Signature.
Για να επιταχυνθεί η διαδικασία προγραµµατισµού µπορούµε να απενεργοποιήσουµε
το check box Check Erasure. Σε αυτήν την περίπτωση δεν θα υπάρξει καµία
επαλήθευση της ακρίβειας της διαγραφής της FLASH.
Το τετραγωνίδιο Preserve EEPROM επιτρέπει την διατήρηση του περιεχοµένου της
EEPROM κατά τη διαδικασία της διαγραφής του chip.
Για να επιταχυνθεί η διαδικασία προγραµµατισµού µπορούµε επίσης να
απενεργοποιήσουµε το box Verify. Σε αυτήν την περίπτωση δεν θα υπάρξει καµία
επαλήθευση της ακρίβειας του προγραµµατισµού της FLASH και της EEPROM.
Για τη διαγραφή των FLASH και EEPROM ενός chip επιλέγουµε την εντολή
επιλογών Program|Erase. Μετά από τη διαγραφή, η FLASH και η EEPROM του
chip ελέγχονται αυτόµατα ως προς την επίτευξη της εκκένωσης.
Ο τελευταίος αυτός έλεγχος µπορεί να γίνει µεµονωµένα µε την εντολή επιλογών
Program|Blank Check.
Όταν επιθυµούµε να προγραµµατίσουµε τη FLASH µε το περιεχόµενο του buffer της
FLASH πρέπει να χρησιµοποιήσουµε την εντολή Program|FLASH.
Αντίστοιχα για προγραµµατισµό της EEPROM πρέπει να χρησιµοποιήσουµε την
εντολή επιλογών Program|EEPROM. Μετά τον προγραµµατισµό τους, η FLASH
και η EEPROM ελέγχονται για την ορθότητα των περιεχοµένων τους.
Για να προγραµµατιστεί το Lock και τα Fuse Bit(s) χρησιµοποιούνται οι επιλογές του
menu Program|Fuse Bit(s) και Program|Lock Bit(s) αντίστοιχα.
Η εντολή επιλογών Program|All επιτρέπει αυτόµατα:
• ∆ιαγραφή µνηµών του Chip
• Έλεγχος διαγραφής των FLASH και EEPROM
• Προγραµµατισµό FLASH και επαλήθευση
• Προγραµµατισµό EEPROM και επαλήθευση
• Προγραµµατισµό Fuse και Lock Bits
Για το διάβασµα του περιεχόµενου της FLASH και της EEPROM, επιλέγουµε τις
εντολές Read|FLASH και Read|EEPROM αντίστοιχα.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 22
Η ανάγνωση του signature του chip επιτυγχάνεται µε την εντολή επιλογών
Read|Chip Signature.
Το διάβασµα του Lock και των Fuse Bit(s) γίνεται αντίστοιχα µε τις εντολές
Read|Lock Bits και Read|Fuse Bits.
Για τη σύγκριση του περιεχοµένου της FLASH και της EEPROM του chip, µε τους
σχετικούς buffer µνήµης, υπάρχουν οι εντολές του menu Compare|FLASH και
Compare|EEPROM αντίστοιχα.
Για την έξοδο από τον Programmer και την επιστροφή στο CodeVisionAVR IDE
απλά επιλέγουµε File|Close.
15. ∆ιαµόρφωση του Assembler Ο Assembler µπορεί να διαµορφωθεί χρησιµοποιώντας την εντολή επιλογών
Settings|Assembler.
Εικόνα 3.15
Οι επιλογές του panel On Assembler Error καθορίζουν ποιο αρχείο θα ανοίξει
αυτόµατα από τον Editor στην περίπτωση που ο assembler εντοπίσει λάθος.
Οι αλλαγές στις ρυθµίσεις αυτές του Assembler γίνονται αποδεκτές µε το κουµπί ΟΚ
και αντίστοιχα ακυρώνονται µε το Cancel.
16. ∆ιαµόρφωση του προγραµµατιστή AVR Χρησιµοποιώντας την εντολή επιλογών Settings|Programmer, µπορούµε να
επιλέξουµε τον τύπο του ενσωµατωµένου προγραµµατιστή που χρησιµοποιείται, και
τη θύρα του υπολογιστή πάνω στην οποία συνδέεται ο προγραµµατιστής. Η τρέχουσα
έκδοση CodeVisionAVR υποστηρίζει τους ακόλουθους in-system programmers:
• Kanda Systems STK200+/300
• Atmel STK500
• Dontronics DT006
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 23
• Vogel Elektronik VTEC-ISP
• Microtronics ATCPU
• Mega2000.
Οι προγραµµατιστές STK200+, STK300, DT006, VTEC-ISP, ATCPU και Mega2000
χρησιµοποιούν την παράλληλη θύρα εκτωπωτών (parallel printer port) .
Οι ακόλουθες επιλογές είναι διαθέσιµες στο panel επιλογών Printer Port :
• LPT1, στη διεύθυνση 378h
• LPT2, στη διεύθυνση 278h
• LPT3, στη διεύθυνση 3BCh.
Εικόνα 3.16.1
Ο προγραµµατιστής STK500 υποστηρίζεται µέσω του utility γραµµής εντολών
STK500.EXE που παρέχεται από το AVRStudio v3.50 ή µεταγενέστερο.
Προκειµένου να χρησιµοποιηθεί αυτό το utility πρέπει να διευκρινιστεί ο κατάλογος
στον οποίο βρίσκεται. Αυτό γίνεται χρησιµοποιώντας το κουµπί STK500.EXE
Directory.
Ο προγραµµατιστής STK500 χρησιµοποιεί µια σειριακή θύρα επικοινωνίας RS232C,
η οποία µπορεί να διευκρινιστεί στη λίστα Communication Port.
Εικόνα 3.16.2
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 24
Οι αλλαγές αποθηκεύονται µε το κουµπί ΟΚ και ακυρώνονται µε το Cancel.
17. Σειριακή επικοινωνία – Ρυθµίσεις Terminal
Οι ρυθµίσεις Terminal is configured using the SettingslTerminal menu command.
Εικόνα 3.17
Στο παράθυρο Terminal Setup µπορούµε να κάνουµε ρυθµίσεις για:
• Την σειριακή πόρτα που θα χρησιµοποιήσουµε για Terminal, COM1 έως
COM6, καθώς και το ρυθµό µετάδοσης 110 έως 115200.
• Τον αριθµό των data bits που χρησιµοποιούνται για λήψη και αποστολή: 5
έως 8.
• Τον αριθµό των stop bits που χρησιµοποιούνται για λήψη και αποστολή: 1,
1.5 ή 2.
• Την ισοτιµία (parity) που χρησιµοποιείται για λήψη και αποστολή: None,
Odd, Even, Mark ή Space.
• Τον τύπο του τερµατικού εξοµοίωσης : TTY, VT52 ή VT100.
• Τον τύπο του handshaking που χρησιµοποιείται στην επικοινωνία: None,
Hardware (CTS ή DTR) ή Software (XON/XOFF).
• Πιθανότητα για πρόσθεση LF χαρακτήρων µετά από CR χαρακτήρες στη
λήψη και την αποστολή.
• Ενεργοποίηση - απενεργοποίηση του echo στους µεταδιδόµενους χαρακτήρες.
Οι αλλαγές αποθηκεύονται µε το κουµπί ΟΚ και ακυρώνονται µε το Cancel.
Εργαστήριο Εφαρµογών Μικροϋπολογιστών Code Vision AVR
Σελίδα 25
18. Το site της HP InfoTech's
Στο µενού Help - HP InfoTech Web Site , ανοίγει αυτόµατα στον internet explorer
τη σελίδα www.hpinfotech.ro . Εδώ υπάρχουν πληροφορίες και ενηµερώσεις για
τελευταίες εκδόσεις του CodeVisionAVR.
19. Επικοινωνία µε HP InfoTech µέσω E-Mail
Στο µενού HelpIE-Mail HP InfoTech ανοίγει το προκαθορισµένο e-mail
πρόγραµµα, για την αποστολή e-mail στις διευθύνσεις: [email protected] και
20. Κλείνοντας το CodeVisionAVR Για να κλείσουµε το CodeVisionAVR IDE επιλέγουµε την εντολή επιλογών
File|Exit. Εάν µερικά αρχεία κώδικα τροποποιήθηκαν και δεν αποθηκεύθηκαν, θα
εµφανιστεί πλαίσιο διαλόγου που θα επιτρέπει να αποθηκεύσουµε.