Hallo! Ich habe hier ein Problem mit einem Mega2560 und meinem Bootloader. Es funktioniert so weit alles, bis auf den Sprung zu der Applikation. Wird es beim 2560 erledigt auch mit: void (*start)(void)=0x00000; . . start(); oder muss ich hier wegen >64k beachten? Meine Applikation funktioniert nämlich mit zurückgesetztem BOOTSZ flag anstandslos und der Bootloader funktioniert mit gesetztem BOOTSZ. Den Bootloader habe ich bisher mit Mega640 und darunter verwendet und es gab keine Probleme. Ich habe das Gefühl, der Sprung nach 0x0000 landet irgendwo in der Pampa, nur nicht bei 0x0000... Danke im Voraus! Thomas
Mein Gefühl war richtig. Damit funktioniert es:
asm volatile("clr r30");
asm volatile("clr r31");
EIND = 0;
asm volatile("eijmp");
Quelle:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=55006&start=0
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.