Forum: Mikrocontroller und Digitale Elektronik AVRDUDE & bootloader & xMega = Problem


von Michael S. (michi-s2)


Lesenswert?

Hallo,

ich schaffe es einfach nicht, mit AVRDUDE (5.10) nen Bootloader für nen 
xMega32A4 (AU 1131) zu flashen.

Beim xMega32 liegt die Startadresse des bootloaders ja bei 0x8000, 
entsprechend hab ich dem Linker auch "-Wl,--section-start=.text=0x8000" 
mitgegeben. Das Hexfile muss auch funktionieren, denn ich habs mit Atmel 
Studio 6 geflasht und es ging.
Ich vermute das AVRDUDE die Adressen ab 0x8000 einfach ignoriert, wenn 
man mit:
1
avrdude -px32a4 -cavrisp2 -Pusb -V -D -Uflash:w:bootloader.hex:i

flasht.

Es gibt aber die Option boot:
1
avrdude -px32a4 -cavrisp2 -Pusb -V -D -Uboot:w:bootloader.hex:i

nur sagt er mir dann :
1
avrdude: ERROR: address 0x8010 out of range at line 1 of bootloader.hex

Er will nämlich als Startadresse 0x0000 für die bootsektion. Ich kann 
aber nicht einfach das --section-start=.text=0x8000 weglassen, weil dann 
natürlich nichts mehr geht.

Man müsste die Adressen im Hexfile nach dem Kompilieren ändern (-0x8000) 
und dann mit boot in den richtigen Speicher schreiben, aber das kanns ja 
nicht sein.

Ich hab auch schon versucht AVRDUDE zu überlisten und hab in der 
avrdude.conf beim x32a4 die Flashgröße von 0x9000 auf 0xA000 gesetzt, in 
der Hoffnung, dass er dann schreibt, aber macht er nicht.
Aber mir fällt auch grade ein, dass 0x9000 ja auch gereicht hätte...

Jemand ne Idee?

Gruß,
Michi

von Michael S. (michi-s2)


Lesenswert?

Also auch das Update auf avrdude 5.11.1 hat nicht geholfen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.