Bootloader kein Zugang mehr

Gast #5375780
Lesenswert?

Hallo,

ich habe einen Bootloader für die Megas. Der Funktioniert auch.
Eine Firmware ebenfalls. Controller ist ATMega644P.

Komischerweise habe ich, nur bei dieser CPU, das Problem, dass ich 
nachdem ich 1x die Firmware per Bootloader über Bluetooth (Uart) 
geändert habe, keinen Zugriff mehr auf den Bootloader habe. Bei bspw. 
dem Mega328P wo ich den Bootloader auch nutze, klappt es beliebig oft.

Woran kann das liegen? Nach dem updaten habe ich mit Atmel Studio 
veryfing des Flashes gemacht - complete (also Firmware 100% correct 
geändert).

Der Bootloader an sich wird funktionieren, er ist auch noch im Flash 
unberührt vorhanden nach dem Updaten (auch nochmal gegen geprüft, alles 
korrekt).

Im Hauptprogramm springe ich so zum Bootloader (klappt wie gesagt 1x).

void (*jmp_to_bootloader) (void) = 0x7000;


Diese Sprungfunktion rufe ich auf, vorher schalte ich noch wdt_disable, 
und cli(). Genauso mache ich es aber auch anderen Controllern wo es 
geht.

Ich habe, auch wenn der Bootloader nur 1,7kb groß ist, 8kb Bootsection 
genommen.
#5375962
Lesenswert?

Mr. AVR schrieb im Beitrag #5375780:
> Im Hauptprogramm springe ich so zum Bootloader (klappt wie gesagt 1x).
>
> void (*jmp_to_bootloader) (void) = 0x7000;
wo im Hauptprogramm? Am Anfang? 0x7000 passt aber nicht für jeden 
Controller.
Un an was merkst du das der Bootloader nicht aufgerufen wird?
I.d.R. stellt man per Fuse ein das der AVR nach dem Reset die 
Bootloaderadresse anspringt, dann geht das nämlich auch noch wenn beim 
Flashen des Hauptprogramms mal was schief läuft.

Sascha

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren