Atmel Studio GDB offset ?

#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

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