Forum: Compiler & IDEs Debug info beim ATmega64 GCC 3.3.1


von Martin Raffelsieper (Gast)


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

von Ralf Kummetat (Gast)


Lesenswert?

Hallo,
ich habe das gleiche Problem, hat es schon jemand gelöst?

Welche Bedeutung hat die "--change-section-address" Option beim
avr-objcopy?
Gruß Ralf

von Martin Raffelsieper (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.