Debug info beim ATmega64 GCC 3.3.1

Gast #76488
Lesenswert?
• ▲
▼
Hallo!

wenn man eine Applikation programmiert und diese ab Adresse 0x0000
starten lässt, kann man diese pprima mit GCC schreiben und mit dem
Studio debuggen.

Lege ich sie dagegen in den Bootbereich, z.b. ab Adresse 0xF000
(natürlich mit entsprechender Fuse gesetzt), so ist die Debug-Info weg,
d.h. man kann nur noch auf Assemblerebene durchsteppen und sieht den
Quellcode nicht. Was mache ich da falsch?

Gruß Martin



Linkeraufruf:
avr-gcc ..\O\loader.o ..\O\des.o ..\O\usart0.o
-Wl,-Map=..\M\desbl.map, -o..\M\desbl.elf --cref -mmcu=atmega64
-Ttext=0xF000

(ext.-) Coff -Konvertierung:
avr-objcopy --debugging -O coff-ext-avr --change-section-address
.data-0x800000 --change-section-address .bss-0x800000
--change-section-address .noinit-0x800000 --change-section-address
.eeprom-0x810000 ..\M\desbl.elf desbl.cof
Gast #76490
Lesenswert?
• ▲
▼
tja, das alles habe ich mir irgendwann irgendwo hergeholt. ich vermute,
dass das Studio irgendeinen hohen adressbereich für debug-infos nutzt
und deshalb das change section address erforderlich ist.

Mehr weiss ich leider auch nicht.

Um Code für den Bootsection zu debuggen, habe ich diesen dann immer in
den Speicher ab 0x0000 gelinkt, dort gedebugged, so gut es halt geht,
dann wieder hochgesetzt und nochmals getestet


Gruß Martin

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