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.
:
Verschoben durch User
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.