mikrocontroller.net

Forum: Compiler & IDEs AVR32 UC3 Bootloader Verständnisfragen


Autor: Billy __ (slowflyer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bastel gerade an einem Bootloader für den AVR32 UC3 (A1512) in C. 
Ich habe das Projekt erstmal ganz normal angelegt und hab mir aus dem 
Framework die nötigen Komponenten dazu gepackt. In der main() wird das 
binary gelesen und an eine beliebige Flash-Adresse geschrieben (funzt 
probehalber).

Jetzt gehts es los:

Wie vermittle ich meinem Bootloader-Projekt, dass es sich im 
Bootloader-Bereich befinden soll (macht das der Compiler oder der Linker 
und wenn ja wie)?

Wie vermittle ich dem Controller, dass er erst den Bootloader starten 
soll?

Liegt der Bootloader ab Adresse 0x80000000? Wo sind die Resetvektoren, 
muss ich die in meiner eigentlichen Applikation irgendwie behandeln?

Irgendwie bin leicht verwirrt, da hackt es bei mir noch 
wissenstechnisch.

Autor: Joe Die (kosmonaut_pirx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

zu frage 1: das macht der linker. musst dazu den entsprechenden teil in 
die bootloader-section legen. schau mal hier im forum oder in der hilfe, 
wie man sowas macht.

zu frage 2: da gibts nen fuse-bit für, iirc.

zu frage 3: siehe doku mcu. die resetvektoren werden für den fall des 
bootloader-starts dann auch ab dort erwartet. für die eigentliche 
applikation wird das ja so hin gelinkt.

gruß kosmo

Autor: Billy __ (slowflyer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, für die schnelle Antwort.

Habs jetzt kapiert (glaub ich) und folgendermaßen gemacht:

Bootloader (BL) ist ein normales Projekt, das die max. BL-Größe (hier 
64K) nicht überschreitet. Nach BL-Start wird auf BL-Kondition geprüft, 
sonst Sprung an die Apllikationsstartadresse.

Applikation ist ebenfalls ein normales Projekt. Dazu Trampoline mit der 
Größe des Bootloaders eingebunden (Siehe AVR32 UC3 USB DFU Bootloader 
Dokument von Atmel)

Nur hab ich jetzt mit der Größe des Bootloaders noch ein Problem, das 
aber in einem anderen Thread...

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.