Studio 4.08, GCC 3.3.1 + C-structs

Gast #75784
Lesenswert?

was mache ich nur falsch?

so hab ich die Struktur definiert:

typedef struct { u08  status; u08  except; } st_otto;
volatile st_otto otto;

Studio zeigt auch an, dass es eine Struktur ist:

otto    {...}

ich kann die Struktur aber nicht aufblättern, d.h. ich kann die
Strukturelemente nicht sehen.
Muss ich denn noch irgendeine Debug-info generieren lassen oder wo
liegt mein fehler??

So sieht derzeit mein Compileraufruf aus:
avr-gcc -g -Wall -O2 -mmcu=atmega64 -c -o ..\O\main.o main.c

und so der Linker-Aufruf:
avr-gcc ..\O\main.o -Wl,-Map=..\M\reader.map, -o..\M\reader.elf
--cref -mmcu=atmega64

und so die coff-Konvertierung:
avr-objcopy --debugging -O coff-avr --change-section-address
.data-0x800000 --change-section-address .bss-0x800000
--change-section-address .noinit-0x800000 --change-section-address
.eeprom-0x810000 ..\M\reader.elf reader.cof


wer kann mir da helfen

Gruß Martin
Gast #75785
Lesenswert?

Hallo Martin,

ich verwende AVR-Studio 4.08 und WinAVR 20030913 und das Makefile aus
dem Verzeichnis "sample".

Ich definiere einen Struktur z.B. so:

#define u08 unsigned char

struct DCF_TIME_STRUCT {
  u08 second;
  u08 minute;
  u08 hour;
  u08 date;
  u08 weekday;
  u08 month;
  u08 year;
} volatile dcf_time;


Nach dem "make all" und "make extcoff" öffne ich die ".cof" Datei
im AVR-Studio und kann die Struktur "aufblättern".


Gruß

Fiffi
Gast #75787
Lesenswert?

vielen Dank, Fiffi + Jörg,

aber wie geht das genau? muss ich da die coff-Konvertierung ändern oder
was ist ext coff?


so sieht sie bei mir zur Zeit aus:

avr-objcopy --debugging -O coff-avr --change-section-address
.data-0x800000 --change-section-address .bss-0x800000
--change-section-address .noinit-0x800000 --change-section-address
.eeprom-0x810000 ..\M\reader.elf reader.cof

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