Hallo,
ich verwende den ISP-bootloader "butterfly" von Atmel um meinen AVR per
UART flashen zu können. Ich führe den Flash-Vorgang bereits mit einem
delay aus, um Geschwindigkeitsprobleme ausschließen zu können:
1 | avrdude -i 1000 -p m164p -P COM5 -c avr109 -b 9600 -U flash:w:test.hex
|
Durch ein anschließendes auslesen vom gesamten Flash (mit Hilfe des
JTAGICE mkII) kann ich sehen, dass alle Daten korrekt gespeichert
wurden. Auch die Fuses sind richtig eingestellt.
Mein Problem ist nun, dass der AVR sich nach dem Flashen durch den
Butterfly-Bootloader immerzu selber resetet. Erkennen kann ich das am
Aufblitzen meiner LED und an der Ausgabe der ersten paar Zeichen, welche
in der eigentlichen Firmware per UART gesendet werden sollen.
Ein auf Masse ziehen der Resetleitung ändert nichts an dem Verhalten.
Lediglich ein längeres ausgeschaltet lassen (ca. 30 sek.) führt dazu,
dass der Code wieder ordnungsgemäß ausgeführt wird.
30 Sek. langes warten spricht allerdings nicht gerade für das Verwenden
eines Bootloaders.
Hat jemand eine Idee was das Problem sein könnte? Ein Hardwareproblem
würde ich mal ausschließen, da eigentlich alles läuft. Nur eben beim ISP
läuft es immer schief.