AVR-GCC und Studio 4.07 - C-Struct's

Gast #75630
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
Gast #75632
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
Gast #75633
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
Gast #75634
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

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