AVR32 UC3 Bootloader Verständnisfragen

OP #1360065
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.
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
OP
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.