uc: Makefile clean-up, silence make output commands, include fuse programming, use system avrdude
This commit is contained in:
parent
48860d6508
commit
933654eb9c
64
uc/Makefile
64
uc/Makefile
|
@ -38,11 +38,25 @@
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
# project specific settings: WEE!
|
# project specific settings:
|
||||||
#
|
#
|
||||||
TARGET = main
|
TARGET = main
|
||||||
ARDUINO_VERSION = 0011
|
#
|
||||||
INSTALL_DIR = /home/icarus75/arduino/arduino-$(ARDUINO_VERSION)
|
# Predefine the TYPE and SENSORx C macros in main.h via this Makefile.
|
||||||
|
# Override the defaults on the command line by typing:
|
||||||
|
# make TYPE=xxxx SENSOR0=yyyy ...
|
||||||
|
#
|
||||||
|
DBG = 0
|
||||||
|
#
|
||||||
|
TYPE = 2300501
|
||||||
|
METERCONST= 5508
|
||||||
|
#
|
||||||
|
SENSOR0 = 0123456789abcdef0123456789abcde0
|
||||||
|
SENSOR1 = 0123456789abcdef0123456789abcde1
|
||||||
|
SENSOR2 = 0123456789abcdef0123456789abcde2
|
||||||
|
SENSOR3 = 0123456789abcdef0123456789abcde3
|
||||||
|
#
|
||||||
|
CEXTRA = -D DBG=$(DBG) -D TYPE=$(TYPE) -D METERCONST=$(METERCONST) -D 'SENSOR0="$(SENSOR0)"' -D 'SENSOR1="$(SENSOR1)"' -D 'SENSOR2="$(SENSOR2)"' -D 'SENSOR3="$(SENSOR3)"'
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,7 +65,7 @@ INSTALL_DIR = /home/icarus75/arduino/arduino-$(ARDUINO_VERSION)
|
||||||
# serial uploader settings
|
# serial uploader settings
|
||||||
#
|
#
|
||||||
PORT = /dev/ttyUSB*
|
PORT = /dev/ttyUSB*
|
||||||
UPLOAD_RATE = 19200
|
UPLOAD_RATE = 19200
|
||||||
AVRDUDE_PROGRAMMER = usbtiny
|
AVRDUDE_PROGRAMMER = usbtiny
|
||||||
#
|
#
|
||||||
# HINT: If you want to use the automatic reset feature which comes with Arduino
|
# HINT: If you want to use the automatic reset feature which comes with Arduino
|
||||||
|
@ -80,21 +94,6 @@ AVRDUDE_PROGRAMMER = usbtiny
|
||||||
#
|
#
|
||||||
MCU = atmega48
|
MCU = atmega48
|
||||||
F_CPU = 1000000
|
F_CPU = 1000000
|
||||||
#
|
|
||||||
# Predefine the TYPE and SENSORx C macros in main.h via this Makefile.
|
|
||||||
# Override the defaults on the command line by typing:
|
|
||||||
# make TYPE=xxxx SENSOR0=yyyy ...
|
|
||||||
#
|
|
||||||
DBG = 0
|
|
||||||
#
|
|
||||||
TYPE = 2300501
|
|
||||||
#
|
|
||||||
SENSOR0 = 0123456789abcdef0123456789abcde0
|
|
||||||
SENSOR1 = 0123456789abcdef0123456789abcde1
|
|
||||||
SENSOR2 = 0123456789abcdef0123456789abcde2
|
|
||||||
SENSOR3 = 0123456789abcdef0123456789abcde3
|
|
||||||
#
|
|
||||||
CEXTRA = -D DBG=$(DBG) -D TYPE=$(TYPE) -D 'SENSOR0="$(SENSOR0)"' -D 'SENSOR1="$(SENSOR1)"' -D 'SENSOR2="$(SENSOR2)"' -D 'SENSOR3="$(SENSOR3)"'
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
|
@ -140,6 +139,7 @@ LDFLAGS = -lm
|
||||||
|
|
||||||
# Programming support using avrdude. Settings and variables.
|
# Programming support using avrdude. Settings and variables.
|
||||||
AVRDUDE_PORT = $(PORT)
|
AVRDUDE_PORT = $(PORT)
|
||||||
|
AVRDUDE_WRITE_FUSES= -U lfuse:w:0x6E:m -U hfuse:w:0xD6:m -U efuse:w:0x1:m
|
||||||
AVRDUDE_WRITE_FLASH = -U flash:w:bin/$(TARGET).hex
|
AVRDUDE_WRITE_FLASH = -U flash:w:bin/$(TARGET).hex
|
||||||
AVRDUDE_WRITE_EEPROM = -U eeprom:w:bin/$(TARGET).eep
|
AVRDUDE_WRITE_EEPROM = -U eeprom:w:bin/$(TARGET).eep
|
||||||
AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER) -b $(UPLOAD_RATE)
|
AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER) -b $(UPLOAD_RATE)
|
||||||
|
@ -152,7 +152,7 @@ OBJDUMP = $(AVR_TOOLS_PATH)/avr-objdump
|
||||||
AR = $(AVR_TOOLS_PATH)/avr-ar
|
AR = $(AVR_TOOLS_PATH)/avr-ar
|
||||||
SIZE = $(AVR_TOOLS_PATH)/avr-size
|
SIZE = $(AVR_TOOLS_PATH)/avr-size
|
||||||
NM = $(AVR_TOOLS_PATH)/avr-nm
|
NM = $(AVR_TOOLS_PATH)/avr-nm
|
||||||
AVRDUDE = $(INSTALL_DIR)/hardware/tools/avrdude
|
AVRDUDE = avrdude
|
||||||
REMOVE = rm -f
|
REMOVE = rm -f
|
||||||
MV = mv -f
|
MV = mv -f
|
||||||
|
|
||||||
|
@ -175,8 +175,8 @@ all: bin_files build sizeafter
|
||||||
build: elf hex eep
|
build: elf hex eep
|
||||||
|
|
||||||
bin_files: $(TARGET).c
|
bin_files: $(TARGET).c
|
||||||
test -d bin || mkdir bin
|
@test -d bin || mkdir bin
|
||||||
cp $(TARGET).c bin/$(TARGET).c
|
@cp $(TARGET).c bin/$(TARGET).c
|
||||||
|
|
||||||
elf: bin/$(TARGET).elf
|
elf: bin/$(TARGET).elf
|
||||||
hex: bin/$(TARGET).hex
|
hex: bin/$(TARGET).hex
|
||||||
|
@ -186,11 +186,9 @@ sym: bin/$(TARGET).sym
|
||||||
|
|
||||||
# Program the device.
|
# Program the device.
|
||||||
upload: bin/$(TARGET).hex
|
upload: bin/$(TARGET).hex
|
||||||
sudo $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
@$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FUSES) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
||||||
# sudo $(AVRDUDE) -c usbtiny -p atmega168 -b $(UPLOAD_RATE) -U lock:w:0x0F:m
|
|
||||||
|
|
||||||
|
# Display size of file.
|
||||||
# Display size of file.
|
|
||||||
HEXSIZE = $(SIZE) --target=$(FORMAT) bin/$(TARGET).hex
|
HEXSIZE = $(SIZE) --target=$(FORMAT) bin/$(TARGET).hex
|
||||||
ELFSIZE = $(SIZE) bin/$(TARGET).elf
|
ELFSIZE = $(SIZE) bin/$(TARGET).elf
|
||||||
sizebefore:
|
sizebefore:
|
||||||
|
@ -218,10 +216,10 @@ extcoff: $(TARGET).elf
|
||||||
.SUFFIXES: .elf .hex .eep .lss .sym
|
.SUFFIXES: .elf .hex .eep .lss .sym
|
||||||
|
|
||||||
.elf.hex:
|
.elf.hex:
|
||||||
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
|
@$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
|
||||||
|
|
||||||
.elf.eep:
|
.elf.eep:
|
||||||
$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
|
@$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
|
||||||
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
|
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
|
||||||
|
|
||||||
# Create extended listing file from ELF output file.
|
# Create extended listing file from ELF output file.
|
||||||
|
@ -234,20 +232,18 @@ extcoff: $(TARGET).elf
|
||||||
|
|
||||||
# Link: create ELF output file from library.
|
# Link: create ELF output file from library.
|
||||||
bin/$(TARGET).elf: $(TARGET).c bin/core.a
|
bin/$(TARGET).elf: $(TARGET).c bin/core.a
|
||||||
$(CC) $(ALL_CFLAGS) -o $@ bin/$(TARGET).c -L. bin/core.a $(LDFLAGS)
|
@$(CC) $(ALL_CFLAGS) -o $@ bin/$(TARGET).c -L. bin/core.a $(LDFLAGS)
|
||||||
|
|
||||||
bin/core.a: $(OBJ)
|
bin/core.a: $(OBJ)
|
||||||
@for i in $(OBJ); do echo $(AR) rcs bin/core.a $$i; $(AR) rcs bin/core.a $$i; done
|
@for i in $(OBJ); do $(AR) rcs bin/core.a $$i; done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Compile: create object files from C++ source files.
|
# Compile: create object files from C++ source files.
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(CXX) -c $(ALL_CXXFLAGS) $< -o $@
|
@$(CXX) -c $(ALL_CXXFLAGS) $< -o $@
|
||||||
|
|
||||||
# Compile: create object files from C source files.
|
# Compile: create object files from C source files.
|
||||||
.c.o:
|
.c.o:
|
||||||
$(CC) -c $(ALL_CFLAGS) $< -o $@
|
@$(CC) -c $(ALL_CFLAGS) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
# Compile: create assembler files from C source files.
|
# Compile: create assembler files from C source files.
|
||||||
|
|
Loading…
Reference in New Issue