Forum: Compiler & IDEs AVR-GCC und Studio 4.07 - C-Struct's


von Martin Raffelsieper (Gast)


Lesenswert?

Hallo zusammen!

Weiss jemand, wie man dem Studio beibringen kann, eine Struktur im
Watch-Window darzustellen?

so hab ich die Struktur definiert:

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

Studio zeigt aber nur an, dass es eine Struktur ist, das sieht dann wie
folgt aus:

otto    {...}



Muss ich denn noch irgendeine Debug-info generieren lassen?? Angeblich
soll das Studio so was anzeigen könne, wenn man einen käuflich zu
erwebenden Compiler verewendet



Gruß Martin

von Joerg Wunsch (Gast)


Lesenswert?

Upgrade auf aktuelles WinAVR und AS4.08.

von Jörg (Gast)


Lesenswert?

Ich wollte einen Atmega 128 u Board 500+501 mit C Programmierten mit Avr
4.07.
Hast Du vieleicht eine genaue Vorgehensweise ? Das ich schnell zum
Erfolg komme. Auch wie es mit der verbindung ist vom C Compiler und Avr
mit dem make file. extcoff usw wie man am besten damit hantiert um ein
Erfolg zu sehen.
MFG Jörg

von Jörg (Gast)


Lesenswert?

Hast Du eine genaue Vorgehensweise wie man ein Atmega 128 u Board
500+501 mit C schnell erfolgreich Programmiert ?
Als Werkzeug habe ich die selbe Softwar wie Du.
Ich versteh nur nicht mit dem extcoff mit dem make file erzeugen usw.
Wenn es geht in Deutsch.
Mfg Jörg

von Martin Raffelsieper (Gast)


Lesenswert?

hallo Jörg,

ich arbeitete lediglich mit einer BATCH-datei, die immer alles
compiliert,linkt etc.

Diese sähe etwa wie folgt aus, wenn man zwei Quelldateien PC.C und
MAIN.C hätte (hier ist allerdings ein 64er Prozessor verwendet) :



echo *** Compiliere main.c:   (*.c nach *.o)
avr-gcc -g -Wall -O2 -mmcu=atmega64 -c -o ..\O\main.o main.c
if errorlevel 1 goto :ende

echo *** Compiliere pc.c:   (*.c nach *.o)
avr-gcc -g -Wall -O2 -mmcu=atmega64 -c -o ..\O\pc.o pc.c
if errorlevel 1 goto :ende


echo *** Linke alles Zusammen  (*.o  nach   *.elf *.map)
avr-gcc ..\O\main.o ..\O\pc.o -Wl,-Map=..\M\reader.map, -o
..\M\reader.elf --cref -mmcu=atmega64

if errorlevel 1 goto :fehler

echo *** erzeuge COFF File   (*.elf  nach   *.cof) für das AVR Studio -
das COFF File liegt im Quellverzeichnis
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
if errorlevel 1 goto :fehler


echo *** erzeuge HEX File   (*.elf  nach   *.hex)
avr-objcopy  -O ihex -R .eeprom ..\M\reader.elf ..\M\reader.hex
if errorlevel 1 goto :fehler


:ok
echo #########################
echo #### Durchgelaufen ######
echo #########################

goto :ende

:fehler
echo ###################################
echo #####  leider nicht geklappt ######
echo ###################################



:ende





dazu ist es nötig, dass folgende Verzeichnisstruktur vorliegt:

C:\......\S   C-Quellen, dort liegt auch die beschriebene
BATCH-Datei
auch das coff-File für das Studio landet hier
C:\......\O   Obj-Verzeicnis, dorthin wird compiliert
C:\......\M   Hirher wird das Hex-File für den Flasher gelegt

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.