Hallo, da ich seit ein paar Tagen mit den µC der ATxmega-Serie herumexperimentiere, vermisste ich sehr schnell den KAVR-Bootloader, damit man einfach per Terminal-Programm, was ich eh' ständig zum Debuggen geöffnet habe, die Firmware aktualisieren kann. Der in meinem Test-Board (ALVIDI AL-XSLED EXT) vorinstallierte chip45-Bootloader benötigt nämlich eine Client-App (BootFeedX), die unter OS X ständig abstürzt. Also habe ich kurzerhand den vorhandenen KAVR-Bootloader (vielen Dank an dieser Stelle an den Autor Frank Edelhaeuser) für die ATxmega-Serie umgeschrieben (siehe Anhang). Die Konfiguration geht, wie gehabt, über das Makefile. Das Flashen des Bootloaders mittels Dragon (wie im Makefile angegeben) unter OS X hat zwar nicht funktioniert (scheint ein Bug im avrdude 5.11.1 zu sein), aber das ging dann prima mit meinem virtuellen Windows und Atmel-Studio. Den originalen Assembler-Quellcode "sp_driver.S" aus der Atmel App-Note AVR1316 habe ich auf meine Bedürfnisse eingekürzt. Jetzt sind nur noch die Funktionen SP_LoadFlashWord und SP_EraseWriteApplicationPage enthalten, da der KAVR ja sowieso nur das Programm updaten kann, also den Flash-Speicher beschreibt. Den originalen Eingangs-FIFO, der immer den gesamten FIFO-Inhalt bei jedem Zeichen durchgeschoben hat, habe ich durch einen FIFO mit Ein- und Ausgangs-Pointer ersetzt. Das Umkopieren in einen Zwischenpuffer entfällt, da dies ja bereits mit der SP_LoadFlashWord-Prozedur erledigt wird. Die Doku habe ich übrigens nicht angepasst. Sollte man vielleicht noch mal machen, aber jetzt muss ich erst mit meinem Board herumprobieren :-) Vielleicht kann ja noch jemand diesen Bootloader gebrauchen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.