Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names are used in a project.
Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.) Fix allowable F_CPU values comment in project makefiles.
This commit is contained in:
parent
f6700c0ea5
commit
0486f12e3e
52 changed files with 2357 additions and 1468 deletions
|
@ -71,28 +71,21 @@ BOARD = USBKEY
|
|||
|
||||
# Processor frequency.
|
||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||
# processor frequency. You can then use this symbol in your source code to
|
||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||
# automatically to create a 32-bit value in your source code.
|
||||
# Typical values are:
|
||||
# F_CPU = 1000000
|
||||
# F_CPU = 1843200
|
||||
# F_CPU = 2000000
|
||||
# F_CPU = 3686400
|
||||
# F_CPU = 4000000
|
||||
# F_CPU = 7372800
|
||||
# F_CPU = 8000000
|
||||
# F_CPU = 11059200
|
||||
# F_CPU = 14745600
|
||||
# F_CPU = 16000000
|
||||
# F_CPU = 18432000
|
||||
# F_CPU = 20000000
|
||||
#
|
||||
# This will be an integer division of F_CLOCK below, as it is sourced by
|
||||
# F_CLOCK after it has run through any CPU prescalers. Note that this value
|
||||
# does not *change* the processor frequency - it should merely be updated to
|
||||
# reflect the processor speed set externally so that the code can use accurate
|
||||
# software delays.
|
||||
F_CPU = 8000000
|
||||
|
||||
|
||||
# Input clock frequency.
|
||||
# This will define a symbol, F_CLOCK, in all source code files equal to the
|
||||
# input clock frequency (before any prescaling is performed). This value may
|
||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
||||
|
@ -465,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
|
|||
|
||||
|
||||
# Default target.
|
||||
all: begin gccversion sizebefore build showeventhooks showliboptions showtarget sizeafter end
|
||||
all: begin gccversion sizebefore build checkinvalidevents showliboptions showtarget sizeafter end
|
||||
|
||||
# Change the build target to build a HEX file or a library.
|
||||
build: elf hex eep lss sym
|
||||
|
@ -508,14 +501,17 @@ sizeafter:
|
|||
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
|
||||
2>/dev/null; echo; fi
|
||||
|
||||
showeventhooks: build
|
||||
@echo
|
||||
@echo -------- Unhooked LUFA Events --------
|
||||
@$(shell) (grep -s '^EVENT_.*LUFA/.*\\.o' $(TARGET).map | \
|
||||
cut -d' ' -f1 | cut -d'_' -f2- | grep ".*") || \
|
||||
echo "(None)"
|
||||
@echo --------------------------------------
|
||||
$(LUFA_PATH)/LUFA/LUFA_Events.lst:
|
||||
@make -C $(LUFA_PATH)/LUFA/ LUFA_Events.lst
|
||||
|
||||
checkinvalidevents: $(LUFA_PATH)/LUFA/LUFA_Events.lst
|
||||
@echo
|
||||
@echo Checking for invalid events...
|
||||
@$(shell) avr-nm $(TARGET).elf | sed -n -e 's/^.*EVENT_/EVENT_/p' | \
|
||||
grep -F -v --file=$(LUFA_PATH)/LUFA/LUFA_Events.lst > InvalidEvents.tmp || true
|
||||
@sed -n -e 's/^/ WARNING - INVALID EVENT NAME: /p' InvalidEvents.tmp
|
||||
@if test -s InvalidEvents.tmp; then exit 1; fi
|
||||
|
||||
showliboptions:
|
||||
@echo
|
||||
@echo ---- Compile Time Library Options ----
|
||||
|
@ -532,16 +528,37 @@ showtarget:
|
|||
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
|
||||
@echo --------------------------------------
|
||||
|
||||
|
||||
# Display compiler version information.
|
||||
gccversion :
|
||||
@$(CC) --version
|
||||
|
||||
|
||||
|
||||
# Program the device.
|
||||
program: $(TARGET).hex $(TARGET).eep
|
||||
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
||||
|
||||
flip: $(TARGET).hex
|
||||
batchisp -hardware usb -device $(MCU) -operation erase f
|
||||
batchisp -hardware usb -device $(MCU) -operation loadbuffer $(TARGET).hex program
|
||||
batchisp -hardware usb -device $(MCU) -operation start reset 0
|
||||
|
||||
dfu: $(TARGET).hex
|
||||
dfu-programmer $(MCU) erase
|
||||
dfu-programmer $(MCU) flash --debug 1 $(TARGET).hex
|
||||
dfu-programmer $(MCU) reset
|
||||
|
||||
flip-ee: $(TARGET).hex $(TARGET).eep
|
||||
$(COPY) $(TARGET).eep $(TARGET)eep.hex
|
||||
batchisp -hardware usb -device $(MCU) -operation memory EEPROM erase
|
||||
batchisp -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(TARGET)eep.hex program
|
||||
batchisp -hardware usb -device $(MCU) -operation start reset 0
|
||||
$(REMOVE) $(TARGET)eep.hex
|
||||
|
||||
dfu-ee: $(TARGET).hex $(TARGET).eep
|
||||
dfu-programmer $(MCU) flash-eeprom --debug 1 --suppress-bootloader-mem $(TARGET).eep
|
||||
dfu-programmer $(MCU) reset
|
||||
|
||||
|
||||
# Generate avr-gdb config/init file which does the following:
|
||||
# define the reset signal, load the target file, connect to target, and set
|
||||
|
@ -696,9 +713,9 @@ clean_list:
|
|||
$(REMOVE) $(SRC:.c=.s)
|
||||
$(REMOVE) $(SRC:.c=.d)
|
||||
$(REMOVE) $(SRC:.c=.i)
|
||||
$(REMOVE) InvalidEvents.tmp
|
||||
$(REMOVEDIR) .dep
|
||||
|
||||
|
||||
doxygen:
|
||||
@echo Generating Project Documentation...
|
||||
@doxygen Doxygen.conf
|
||||
|
@ -716,8 +733,8 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
|
|||
|
||||
|
||||
# Listing of phony targets.
|
||||
.PHONY : all showeventhooks showliboptions showtarget \
|
||||
begin finish end sizebefore sizeafter gccversion build \
|
||||
elf hex eep lss sym coff extcoff program clean debug \
|
||||
clean_list clean_binary gdb-config doxygen dfu flip \
|
||||
flip-ee dfu-ee
|
||||
.PHONY : all checkinvalidevents showliboptions \
|
||||
showtarget begin finish end sizebefore sizeafter \
|
||||
gccversion build elf hex eep lss sym coff extcoff \
|
||||
program dfu flip flip-ee dfu-ee clean debug \
|
||||
clean_list clean_binary gdb-config doxygen
|
Loading…
Add table
Add a link
Reference in a new issue