www.mikrocontroller.net

Forum: Projekte & Code boofa - Bootloader für AVR über UART (AVR109)


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

Bewertung
0 lesenswert
nicht 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

Autor: Mirko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht 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

Autor: No Name (nohelp)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Roland Riegel (roland) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.