Atmel-Studio, kein Bootloader: Wie Reset-Vektor für Debugger einstellen?

OP #4488192
Lesenswert?
• ▲
▼
Hallo zusammen,

ich stehe gerade auf dem Schlauch. Ich habe ein Atmel-Studio 6, das über 
einen AVR-Dragon an einer Schaltung mit ATMega324P hängt. Ich habe mit C 
programmiert.

An Stelle 0x0000 steht ein Sprung auf einen Startup-Code, der Status- 
und Stackpointer sowie Speicher auf vordefinierte Werte und weiteren 
Speicher auf 0 initialisiert und anschließend (per CALL) main() 
anspringt.

Ich benutze via Dragon den Debugger, untere anderem dessen 
Reset-Funktion (Shift-F5). Nun ist mir aufgefallen, dass diese 
Reset-Funktion nach 0x3C00 springt. Das ist solange kein Problem, wie 
von dort bis zum Ende nur Nullen sind. Das sind alles NOPs, über die der 
µC irgendwann per PC-Überlauf bei 0 ankommt und somit den normalen 
Reset-Vorgang (wie oben beschrieben) durchführt.

Nun ist mein Projekt soweit angewachsen, dass eben keine Nullen mehr ab 
0x3C00 stehen – und schwupps geht Shift-F5 in die Hose, weil es mitten 
im Code einer meiner Funktionen landet.

Ich vermute, dass die Sache mit 3C00 so gemeint ist, dass dort ein 
Bootloader-Code, oder so, steht. Wie verklickere ich dem Atmel-Studio, 
dass er mit Shift-F5 bitteschön bei 0 und nicht bei 3C00 anfangen soll, 
weil dort eben kein Bootloader ist?

Danke – Peter
Gast #4488351
Lesenswert?
• ▲
▼
Hi

>Wie verklickere ich dem Atmel-Studio,
>dass er mit Shift-F5 bitteschön bei 0 und nicht bei 3C00 anfangen soll,
>weil dort eben kein Bootloader ist?

BOOTRST-Fuse

The Reset Vector can also be moved to the start of the Boot Flash 
section by programming the BOOTRST Fuse, see ”Memory Programming” on 
page 293.

MfG Spess
OP #4489002
Lesenswert?
• ▲
▼
Hmgrmpf – das war's!

Welcher Effekt dazu geführt hatte, dass beim Debuggen das Programm in 
eine zufällig ab 3C00 stehende Endlosschleife führte (nämlich Warten auf 
das Ende einer nicht gestarteten SPI-Transaktion), während es beim Lauf 
ohne Debugger immer normal startete, ist für mich nun erstmal nur noch 
von akademischem Interesse.
Dieses Verhalten ließ mich nicht an die Fuse denken.

Danke – Peter

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.