Atmel Studio GDB offset ?

OP #5226583
Lesenswert?
• ▲
▼
Das linker script macht was es soll leider weiß Atmel Studio davon 
nichts. Die Adressen sind Reverse zum Code nicht mehr festzustellen. So 
das ein debugging nur auf ASM Ebne möglich ist. Breakpoints kann man 
nicht setzen da die Adressen nicht mehr passen. Diese sind ja um den 
bootloader verschoben.

Das hochladen per Debug funktioniert ja ohne den bootloader zu 
überschreiben. der Code wird oberhalb des bootloaders in den flash 
geschrieben.

Ähnliches würde passieren wenn der gcc etwas wegoptimiert. Der Sinnlose 
Code ist zwar in der Quelle noch vorhanden aber nicht im Flash. Somit 
kann man an dieser stelle im Quelltext auch keinen breakpoint setzten.
Gast #5226609
Lesenswert?
• ▲
▼
Marco H. schrieb:
> Das linker script macht was es soll leider weiß Atmel Studio davon
> nichts.
Wie kann das sein? Über das Linker-Script werden die Adressen im Code 
(d.h. in der ELf-Datei) überhaupt erst berechnet, bei korrektem Script 
mit Offset. Wo bekommt das Atmel Studio denn seine falschen Adressen 
her, wenn nicht aus dem Kompilat, wo aber die richtigen Adressen drin 
stehen?
Gast #5226742
Lesenswert?
• ▲
▼
Ich denke auch das hier ein Effekt völlig falsch zugeordnet wird.
Das Applikation Immage um einen Bootloader zu verschieben ist gängige 
Praxis.
Bei den Cortexen und Co geht das meiner Meinung nicht anderst.

Bei den 32bittigen AVR32 hat Atmel extra ein Trampoline.S Assembler 
Datei dazugpackt, welche
1) als Platzhalter für das Bootloader Image dient.
2) diesen Bereich auch überspringt so dass die App gestartet wird

Ähliches mach ich bei meinen Cortex Projekten auch.

Wenn eine Release gebaut werden muss, wird das Bootloader Image mit 
SREC_CAT zusammengeklebt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.