Benötigte Befehle
(EN google-translate)
(PL google-translate)
In dem hier behandelten speziellen Fall wird immer der gleiche Mikrocontroller und das gleiche Programmiergerät benutzt. Dies macht es einfach die erforderlichen Vorgänge zu automatisieren, bzw. eine GUI in Java zu programmieren, über die eine neuer Quelltext erstellt, kompiliert und auf den Mikrocontroller übertragen.
Die folgende Übersicht stellt die Konsolenbefehle zusammen, die über die GUI ausgelöst werden sollen können:
Beschreibung | Befehl |
---|---|
1) Kompilieren zu .elf-Datei | avr-gcc -O2 -mmcu=atmega32 rs232_senden.c -o rs232_senden.elf |
2) Umwandeln nach .hex-Datei | avr-objcopy -O ihex -j .text -j .data rs232_senden.elf rs232_senden.hex |
3) Flashen | avrdude -c ponyser -p m32 -P /dev/ttyS0 -U flash:w:./rs232_senden.hex:a |
4) Auslesen | avrdude -c ponyser -p m32 -P /dev/ttyS0 -v |
5) Fuses auslesen und in Datei speichern | avrdude -c ponyser -p m32 -P /dev/ttyS0 -U lfuse:r:./lfuse.txt:r -U hfuse:r:./hfuse.txt:r |
Tabelle 0-1: Kurzreferenz zum Test und Betrieb des Seriell-ISP.
Es soll ausserdem dafür gesorgt werden, dass eine Standardkonfiguration bei dem Mikrocontroller eingestellt ist. Die beiden Befehle, um diese zu erreichen lauten:
Beschreibung | Befehl |
---|---|
Hfuse: | avrdude -c ponyser -p m32 -P /dev/ttyS0 -U hfuse:w:0xD9:m -u |
Lfuse: | avrdude -c ponyser -p m32 -P /dev/ttyS0 -U lfuse:w:0xFD:m -u |
Tabelle 0-2: Fuse-Register bei ATmega32 8PU, extern mittl. Quarzfreq., ohne JTAG.
Um zu überprüfen, ob diese Standardkonfiguration bereits gesetzt ist, kann Befehl Nr.5 aus der vorletzten Tabelle benutzt werden.