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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.