Sprung von Bootloader nach Hauptprogramm

Gast #263844
Lesenswert?

Ich habe folgendes Problem:

Ich will von meinem Bootloader in das Hauptprogramm springen
dabei verwende ich asm volatile("rjmp 0"). Aber er macht nicht im
Hauptprogramm weiter...
ATMEGA8
Hauptprogramm bei adresse 0x000
WinAVR

Kann mir jemand bitte weiterhelfen....

Danke
Persönliche Seite #263848
Lesenswert?

Hi

wie compilierst du deinen Bootloader? Wenn du die .text Sektion per
--section-start=.text=... verschiebst wird das mit dem rjmp nichts
werden da der Linker auch die Adresse verschiebt. Ich löse das per
Linkersymbol. Der Linker bekommt an der Kommandozeilen
--defsym=app_start=0 und dann

asm volatile("rjmp app_start");

an der Stelle wo du ins Hauptprogramm springen willst. Kompletten
Bootloader samt passendem makefile findest du in meinem USBisp-Projekt.
-> www.matwei.de

Matthias

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