boofa - Bootloader für AVR über UART (AVR109)

OP Persönliche Seite #480765
Lesenswert?
• ▲
▼
Hallo zusammen,

Entschuldigt bitte den Doppelpost, ich habe die folgende Ankündigung 
zuvor versehentlich im Mikrocontroller-Forum gepostet, ich wollte sie 
eigentlich in der Codesammlung haben wo sie besser aufgehoben ist.

Auf
    http://www.roland-riegel.de/boofa/
oder im Anhang findet Ihr meinen kleinen Bootloader namens boofa. Er ist 
komplett in Assembler geschrieben, passt in einen 512-Wort-Bootsektor 
und ermöglicht das Booten über UART gemäß dem Protokoll der AVR109 
Application Note von Atmel.

Eine eigene PC-Applikation ist also nicht notwendig, man verwendet 
einfach z.B. avrdude. Die Version im ZIP-Archiv prüft beim Start den 
Zustand eines Tasters an der MCU und startet nur, wenn dieser gedrückt 
ist. Ansonsten wird das Anwendungsprogramm ab Adresse 0 gestartet.

Getestet habe ich den Bootloader auf dem ATmega16, er ist auch noch für 
den ATmega128 vorbereitet. Andere MCUs sollten aber einfach hinzuzufügen 
sein.

Vorsicht, wie immer könnten durchaus noch einige Bugs enthalten sein, 
also bitte nicht auf wichtigen Geräten ausprobieren!

Bei Fehlern, Wünschen oder anderen Kommentaren bitte hier melden.

Gruß
Roland
Angehängte Dateien:
OP Persönliche Seite #555012
Lesenswert?
• ▲
▼
Im Prinzip musst Du boofa_config.asm so abändern, dass der Bootloader 
gemäß Deinen Vorstellungen z.B. beim Gedrückthalten eines Tasters 
startet, und ansonsten das Anwendungsprogram gestartet wird.

Dann brauchst Du noch eine Datei m8_config.asm, die in boofa.asm statt 
der m16_config.asm eingebunden wird. Als Vorlage kannst Du die 
vorhandene m16_config.asm verwenden. In m8_config.asm wird die 
MCU-Frequenz eingestellt, sowie einige andere Hardwareanpassungen 
vorgenommen.

Insbesondere solltest Du für einen mega8 folgende Änderungen vornehmen:
.equ DEVCODE = 0x77
.equ DEVSIG = 0x1e9307
Daneben muss noch die Zeile
.equ RWWSRE = ASRE
gelöscht werden.

Habe das zwar nicht getestet, aber es sollte Dich schon einen Schritt 
weiter bringen.

Gruß,
Roland
#1230879
Lesenswert?
• ▲
▼
mal hochholen

Angeregt durch den AVR_Softwarepool bin ich hier gelandet.

Würde den Bootloader gerne ausprobieren. Mir ist leider nicht ganz klar, 
wie ich das Projekt compilieren soll. Das Programm avra hab ich nicht. 
Schätze, dass das ein Assembler sein soll. Nur welcher? Kann wer helfen?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.