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