Gast
#75965
Hi ich habe eben einen Bootloader fertiggestellt. Diesmal mit dem AVRGCC (ASM auf dem AVR ist einfach nicht mein Ding) Hat mit den Hilfsfunktionen aus boot.h auch einwandfrei geklappt. Jetzt ist da nur noch ein Problem: Wie springe ich, wenn der Bootloader seine Aufgabe erledigt hat in die eben geladene Applikation? ein asm volatile("rjmp 0x0000"); wird im List-File zu 19e8: 39 cf rjmp .-398 ; 0x185c Springt also irgendwo mitten in den Bootloader (beginnt ab 0x1800). Selbiges wenn ich einen Funktionspointer bei 0x0000 erzeuge und diesen dann aufrufe. (Aus dem rjmp wird natürlich ein rcall, die Adresse bleibt aber die gleich) Um die Start-Adresse anzupassen hab ich einfach per -Wl,--section-start=.text=$(ROM_START) die Adresse der text-section verschoben. Controller ist ein Mega8 Matthias