www.mikrocontroller.net

Forum: Compiler & IDEs Studio 4.08, GCC 3.3.1 + C-structs


Autor: Martin Raffelsieper (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fiffi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
struct debugging funktioniert nur mit dem AVR »extended« COFF format
(»make extcoff« bei WinAVR).

Autor: Martin Raffelsieper (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-O coff-ext-avr

Autor: Martin Raffelsieper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke - jetzt klappts!

Autor: Thomas Motz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.