Hallo Gerhard,
ich mach das eigentlich nur unter Linux mit dem folgenden Makefile:
Code:
CC=avr-gcc
RM=rm -f
OBJCOPY=avr-objcopy
AVRDUDE=sudo avrdude -p m168 -c avrispmkii -P USB -e -U flash:w:
AVRSIZE=avr-size
MCU=atmega168p
F_CPU=16000000
CFLAGS=-g -DF_CPU=$(F_CPU) -Wall -Os -mcall-prologues
OBJ = main.o rc5.o
BIN = ir.bin
HEX = ir.hex
MAP = ir.map
.phony: all
all: $(OBJ)
$(RM) $(HEX) $(BIN) $(MAP)
$(CC) -mmcu=$(MCU) $(CFLAGS) -o $(BIN) -Wl,-Map,$(MAP) $(OBJ)
$(OBJCOPY) -R .eeprom -O ihex $(BIN) $(HEX)
%.o: %.c
$(CC) -mmcu=$(MCU) $(CFLAGS) -c $<
clean:
$(RM) $(OBJ) $(BIN) $(HEX) $(MAP)
flash: $(OBJ)
$(AVRDUDE)$(HEX)
size: $(BIN)
$(AVRSIZE) -C --mcu=$(MCU) $(BIN)
In dem Fall handelt es sich eben um einen Atmega168p/16MHz welcher mit avrdude und einem AvrISPmkII programmiert wird. Die Quelldateien sind main.c und rc5.c
ir.hex/ir.map/ir.bin sind die Übersetzten Dateien. Das Hexfile wird aus der bin Datei extrahiert.
Oben ist die Konfiguration, welche relativ einfach angepasst werden kann.
mit
Code:
make clean all flash
wird alles bereinigt, übersetzt und anschliessend auf den Zielprozessor geflasht.
Mit kannst du dir den SPeicherverbrauch auf dem Ziel anzeigen lassen. Flash und Ram.
Bei Fragen, einfach fragen 
Gruß
Georg
Lesezeichen