Studio 4.08, GCC 3.3.1 + C-structs

Gast #75784
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
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
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
Gast
Hm, jetzt weiß ich auch, warum es bei mir nicht geklappt hat:
Bitfelder werden leider (noch) nicht richtig aufgelöst.

Hilft da nur umschreiben der Software?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.