Ich nutze avrdude mit makefile. Hier habe ich ein Target namens flash. Ich mach einfach ein "make flash" und alles wird übersetzt und anschliessend in den Atmega mittels avrdude reingepumpt
Code:
CC=avr-gcc-4.5.3
RM=rm -f
OBJCOPY=avr-objcopy
AVRDUDE=sudo avrdude -p m168 -c avrispmkii -P USB -e -U flash:w:
AVRSIZE=avr-size
MCU=atmega168
F_CPU=16000000
CFLAGS=-g -DF_CPU=$(F_CPU) -Wall -Os -mcall-prologues
OBJ = main.o uart.o twimaster.o
BIN = fgcontrol.bin
HEX = fgcontrol.hex
MAP = fgcontrol.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: %.cpp
$(CC) -mmcu=$(MCU) $(CFLAGS) -c $<
clean:
$(RM) $(OBJ) $(BIN) $(HEX) $(MAP)
flash: $(OBJ)
$(AVRDUDE)$(HEX)
size: $(BIN)
$(AVRSIZE) -C --mcu=$(MCU) $(BIN)
Hoffe dass dir das hilft
Gruß
Georg
Lesezeichen