www.mikrocontroller.net

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


Autor: Roland Riegel (roland) Benutzerseite
Datum:
Angehängte Dateien:

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
Autor: Mirko (Gast)
Datum:

ich möchte den bootloader für mega8 mit 8MHz umschreiben. wo muß ich
ansetzen und was verändern. paar tips wären nicht schlecht.
Autor: Roland Riegel (roland) Benutzerseite
Datum:

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
Autor: No Name (nohelp)
Datum:

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?
Autor: Roland Riegel (roland) Benutzerseite
Datum:

Schau mal hier:
  http://avra.sf.net

Sollte aber auch mit dem Standard-Assembler von Atmel funktionieren.

Gruß,
Roland

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
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.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net