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'
 | 
			
		||||
| 
						 | 
				
			
			@ -476,7 +469,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
 | 
			
		||||
| 
						 | 
				
			
			@ -519,14 +512,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 ----
 | 
			
		||||
| 
						 | 
				
			
			@ -543,16 +539,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 
 | 
			
		||||
| 
						 | 
				
			
			@ -707,9 +724,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
 | 
			
		||||
| 
						 | 
				
			
			@ -727,8 +744,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