Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.

Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
This commit is contained in:
Dean Camera 2010-07-19 14:00:44 +00:00
parent 42ac34b484
commit 6b5e684c77
116 changed files with 2969 additions and 4241 deletions

View File

@ -109,7 +109,7 @@ OBJDIR = .
LUFA_PATH = ../.. LUFA_PATH = ../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
@ -121,20 +121,14 @@ LUFA_OPTS += -D NO_DEVICE_SELF_POWER
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -180,16 +174,26 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -208,14 +212,15 @@ CFLAGS += -O$(OPT)
CFLAGS += -funsigned-char CFLAGS += -funsigned-char
CFLAGS += -funsigned-bitfields CFLAGS += -funsigned-bitfields
CFLAGS += -ffunction-sections CFLAGS += -ffunction-sections
CFLAGS += -fno-inline-small-functions
CFLAGS += -fpack-struct CFLAGS += -fpack-struct
CFLAGS += -fshort-enums CFLAGS += -fshort-enums
CFLAGS += -fno-inline-small-functions
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -239,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -317,7 +322,6 @@ EXTMEMOPTS =
# -Map: create map file # -Map: create map file
# --cref: add cross reference to map file # --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
LDFLAGS += -Wl,--section-start=.text=$(BOOT_START)
LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--relax
LDFLAGS += -Wl,--gc-sections LDFLAGS += -Wl,--gc-sections
LDFLAGS += $(EXTMEMOPTS) LDFLAGS += $(EXTMEMOPTS)
@ -329,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -583,7 +569,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -595,7 +581,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -660,15 +646,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -679,7 +663,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -699,8 +682,6 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program clean \ clean_list clean_doxygen program debug gdb-config
debug clean_list clean_binary clean_doxygen \
gdb-config doxygen

View File

@ -109,7 +109,7 @@ OBJDIR = .
LUFA_PATH = ../.. LUFA_PATH = ../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0
LUFA_OPTS += -D CONTROL_ONLY_DEVICE LUFA_OPTS += -D CONTROL_ONLY_DEVICE
@ -122,20 +122,14 @@ LUFA_OPTS += -D NO_DEVICE_SELF_POWER
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -181,16 +175,26 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -209,15 +213,15 @@ CFLAGS += -O$(OPT)
CFLAGS += -funsigned-char CFLAGS += -funsigned-char
CFLAGS += -funsigned-bitfields CFLAGS += -funsigned-bitfields
CFLAGS += -ffunction-sections CFLAGS += -ffunction-sections
CFLAGS += -fdata-sections CFLAGS += -fno-inline-small-functions
CFLAGS += -fpack-struct CFLAGS += -fpack-struct
CFLAGS += -fshort-enums CFLAGS += -fshort-enums
CFLAGS += -fno-inline-small-functions
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +245,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -319,7 +323,6 @@ EXTMEMOPTS =
# -Map: create map file # -Map: create map file
# --cref: add cross reference to map file # --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
LDFLAGS += -Wl,--section-start=.text=$(BOOT_START)
LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--relax
LDFLAGS += -Wl,--gc-sections LDFLAGS += -Wl,--gc-sections
LDFLAGS += $(EXTMEMOPTS) LDFLAGS += $(EXTMEMOPTS)
@ -331,9 +334,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +414,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +460,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +491,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +501,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -585,7 +570,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -597,7 +582,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -662,15 +647,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -681,7 +664,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -701,8 +683,6 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program clean \ clean_list clean_doxygen program debug gdb-config
debug clean_list clean_binary clean_doxygen \
gdb-config doxygen

View File

@ -71,7 +71,7 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>MICROPHONE_BIASED_TO_HALF_RAIL</td> * <td>MICROPHONE_BIASED_TO_HALF_RAIL</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted.</td> * <td>When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted.</td>
* </tr> * </tr>
* <tr> * <tr>

View File

@ -115,29 +115,25 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D MICROPHONE_BIASED_TO_HALF_RAIL
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/Audio.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +179,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +220,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +246,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +335,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +415,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +461,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +492,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +502,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +592,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +604,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +669,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +686,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +705,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -73,17 +73,17 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>AUDIO_OUT_STEREO</td> * <td>AUDIO_OUT_STEREO</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller.</td> * <td>When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUDIO_OUT_MONO</td> * <td>AUDIO_OUT_MONO</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td> * <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUDIO_OUT_PORTC</td> * <td>AUDIO_OUT_PORTC</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an * <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an
* external DAC.</td> * external DAC.</td>
* </tr> * </tr>

View File

@ -115,29 +115,27 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D AUDIO_OUT_STEREO
#LUFA_OPTS += -D AUDIO_OUT_MONO
#LUFA_OPTS += -D AUDIO_OUT_PORTC
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/Audio.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,16 +181,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DAUDIO_OUT_STEREO CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +222,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +248,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +337,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +417,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +463,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +494,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +504,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +594,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +606,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +671,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +688,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +707,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,22 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -218,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -243,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -332,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -414,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -459,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -490,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -502,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -607,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -619,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -684,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -703,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -723,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -218,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -243,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -332,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -414,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -459,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -490,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -502,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -607,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -619,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -684,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -703,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -723,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -218,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -243,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -332,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -414,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -459,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -490,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -502,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -607,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -619,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -684,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -703,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -723,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -218,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -243,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -332,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -414,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -459,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -490,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -502,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -607,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -619,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -684,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -703,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -723,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,21 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MIDI.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -249,14 +249,8 @@ static void SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* MSInterfaceI
*/ */
static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const bool IsDataRead) static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const bool IsDataRead)
{ {
uint32_t BlockAddress; uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]);
uint16_t TotalBlocks; uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]);
/* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */
BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]);
/* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */
TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]);
/* Check if the block address is outside the maximum allowable value for the LUN */ /* Check if the block address is outside the maximum allowable value for the LUN */
if (BlockAddress >= LUN_MEDIA_BLOCKS) if (BlockAddress >= LUN_MEDIA_BLOCKS)

View File

@ -85,8 +85,8 @@
* <tr> * <tr>
* <td>TOTAL_LUNS</td> * <td>TOTAL_LUNS</td>
* <td>MassStorage.h</td> * <td>MassStorage.h</td>
* <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive * <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive -
* - this can be set to any positive non-zero amount.</td> * this can be set to any positive non-zero amount.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

View File

@ -115,33 +115,25 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
Lib/SCSI.c \
Lib/DataflashManager.c \ Lib/DataflashManager.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ Lib/SCSI.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MassStorage.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -187,15 +179,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -220,8 +220,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -245,7 +246,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -334,9 +335,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -416,6 +415,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -461,7 +461,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -492,9 +492,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -504,21 +502,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -609,7 +592,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -621,7 +604,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -686,15 +669,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -705,7 +686,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -725,8 +705,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -85,8 +85,8 @@
* <tr> * <tr>
* <td>TOTAL_LUNS</td> * <td>TOTAL_LUNS</td>
* <td>MassStorage.h</td> * <td>MassStorage.h</td>
* <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive * <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive -
* - this can be set to any positive non-zero amount.</td> * this can be set to any positive non-zero amount.</td>
* </tr> * </tr>
* </table> * </table>
*/ */

View File

@ -71,28 +71,21 @@ BOARD = USBKEY
# Processor frequency. # Processor frequency.
# This will define a symbol, F_CPU, in all source code files equal to the # 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 # 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. # automatically to create a 32-bit value in your source code.
# Typical values are: #
# F_CPU = 1000000 # This will be an integer division of F_CLOCK below, as it is sourced by
# F_CPU = 1843200 # F_CLOCK after it has run through any CPU prescalers. Note that this value
# F_CPU = 2000000 # does not *change* the processor frequency - it should merely be updated to
# F_CPU = 3686400 # reflect the processor speed set externally so that the code can use accurate
# F_CPU = 4000000 # software delays.
# F_CPU = 7372800
# F_CPU = 8000000
# F_CPU = 11059200
# F_CPU = 14745600
# F_CPU = 16000000
# F_CPU = 18432000
# F_CPU = 20000000
F_CPU = 8000000 F_CPU = 8000000
# Input clock frequency. # Input clock frequency.
# This will define a symbol, F_CLOCK, in all source code files equal to the # 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 # 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 # 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' # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
@ -122,36 +115,25 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
Lib/SCSI.c \
Lib/DataflashManager.c \ Lib/DataflashManager.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ Lib/SCSI.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MassStorage.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -197,15 +179,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -230,8 +220,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -255,7 +246,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -344,9 +335,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -426,6 +415,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -471,7 +461,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showeventhooks showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -502,9 +492,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -514,40 +502,38 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 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 --------------------------------------
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
gccversion : gccversion :
@$(CC) --version @$(CC) --version
# Program the device. # Program the device.
program: $(TARGET).hex $(TARGET).eep program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) $(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: # Generate avr-gdb config/init file which does the following:
# define the reset signal, load the target file, connect to target, and set # define the reset signal, load the target file, connect to target, and set
@ -606,7 +592,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +604,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +669,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +686,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +705,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -218,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -243,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -332,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -414,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -459,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -490,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -502,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -607,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -619,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -684,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -703,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -723,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -85,37 +85,37 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_ETHERNET</td> * <td>NO_DECODE_ETHERNET</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received Ethernet headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received Ethernet headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_ARP</td> * <td>NO_DECODE_ARP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received ARP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received ARP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_IP</td> * <td>NO_DECODE_IP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received IP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received IP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_ICMP</td> * <td>NO_DECODE_ICMP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received ICMP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received ICMP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_TCP</td> * <td>NO_DECODE_TCP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received TCP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received TCP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_UDP</td> * <td>NO_DECODE_UDP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received UDP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received UDP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_DHCP</td> * <td>NO_DECODE_DHCP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received DHCP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received DHCP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* </table> * </table>

View File

@ -115,13 +115,25 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_DECODE_ETHERNET
LUFA_OPTS += -D NO_DECODE_ARP
LUFA_OPTS += -D NO_DECODE_IP
LUFA_OPTS += -D NO_DECODE_ICMP
LUFA_OPTS += -D NO_DECODE_TCP
LUFA_OPTS += -D NO_DECODE_UDP
LUFA_OPTS += -D NO_DECODE_DHCP
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
@ -135,20 +147,10 @@ SRC = $(TARGET).c \
Lib/ARP.c \ Lib/ARP.c \
Lib/IP.c \ Lib/IP.c \
Lib/Webserver.c \ Lib/Webserver.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/RNDIS.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -194,17 +196,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DNO_DECODE_ETHERNET -DNO_DECODE_ARP -DNO_DECODE_ICMP CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DNO_DECODE_IP -DNO_DECODE_TCP -DNO_DECODE_UDP -DNO_DECODE_DHCP -DNO_DECODE_DNS CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -229,8 +237,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -254,7 +263,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -343,9 +352,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -425,6 +432,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -470,7 +478,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -501,9 +509,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -513,21 +519,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -618,7 +609,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -630,7 +621,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -695,15 +686,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -714,7 +703,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -734,8 +722,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,22 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,7 +115,7 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -123,24 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -186,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -219,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -244,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -333,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -415,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -460,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -491,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -503,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -608,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -620,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -685,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -704,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -724,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,35 +115,29 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
Lib/SideshowCommon.c \
Lib/SideshowCommands.c \
Lib/SideshowApplications.c \ Lib/SideshowApplications.c \
Lib/SideshowCommands.c \
Lib/SideshowCommon.c \
Lib/SideshowContent.c \ Lib/SideshowContent.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,19 +179,27 @@ EXTRAINCDIRS = $(LUFA_PATH)/
# gnu89 = c89 plus GCC extensions # gnu89 = c89 plus GCC extensions
# c99 = ISO C99 standard (not yet fully implemented) # c99 = ISO C99 standard (not yet fully implemented)
# gnu99 = c99 plus GCC extensions # gnu99 = c99 plus GCC extensions
CSTANDARD = -std=c99 CSTANDARD = -std=gnu99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -222,8 +224,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -247,7 +250,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -336,9 +339,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -418,6 +419,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -463,7 +465,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -494,9 +496,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -506,21 +506,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -611,7 +596,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -623,7 +608,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -688,15 +673,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -707,7 +690,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -727,8 +709,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -71,7 +71,7 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>MICROPHONE_BIASED_TO_HALF_RAIL</td> * <td>MICROPHONE_BIASED_TO_HALF_RAIL</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted.</td> * <td>When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted.</td>
* </tr> * </tr>
* <tr> * <tr>

View File

@ -115,29 +115,24 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D MICROPHONE_BIASED_TO_HALF_RAIL
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +178,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +219,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +245,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +334,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +414,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +460,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +491,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +501,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +591,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +603,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +668,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +685,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +704,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -73,17 +73,17 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>AUDIO_OUT_STEREO</td> * <td>AUDIO_OUT_STEREO</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller.</td> * <td>When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUDIO_OUT_MONO</td> * <td>AUDIO_OUT_MONO</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td> * <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUDIO_OUT_PORTC</td> * <td>AUDIO_OUT_PORTC</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an * <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an
* external DAC.</td> * external DAC.</td>
* </tr> * </tr>

View File

@ -115,29 +115,26 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D AUDIO_OUT_STEREO
#LUFA_OPTS += -D AUDIO_OUT_MONO
#LUFA_OPTS += -D AUDIO_OUT_PORTC
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,16 +180,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DAUDIO_OUT_STEREO CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +221,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +247,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +336,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +416,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +462,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +493,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +503,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +593,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +605,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +670,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +687,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +706,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -252,14 +252,8 @@ static void SCSI_Command_Send_Diagnostic(void)
*/ */
static void SCSI_Command_ReadWrite_10(const bool IsDataRead) static void SCSI_Command_ReadWrite_10(const bool IsDataRead)
{ {
uint32_t BlockAddress; uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&CommandBlock.SCSICommandData[2]);
uint16_t TotalBlocks; uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&CommandBlock.SCSICommandData[7]);
/* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */
BlockAddress = SwapEndian_32(*(uint32_t*)&CommandBlock.SCSICommandData[2]);
/* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */
TotalBlocks = SwapEndian_16(*(uint16_t*)&CommandBlock.SCSICommandData[7]);
/* Check if the block address is outside the maximum allowable value for the LUN */ /* Check if the block address is outside the maximum allowable value for the LUN */
if (BlockAddress >= LUN_MEDIA_BLOCKS) if (BlockAddress >= LUN_MEDIA_BLOCKS)

View File

@ -115,31 +115,24 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
Lib/SCSI.c \
Lib/DataflashManager.c \ Lib/DataflashManager.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ Lib/SCSI.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -185,15 +178,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -218,8 +219,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -243,7 +245,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -332,9 +334,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -414,6 +414,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -459,7 +460,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -490,9 +491,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -502,21 +501,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -607,7 +591,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -619,7 +603,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -684,15 +668,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -703,7 +685,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -723,8 +704,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,24 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
CPPSRC = CPPSRC =
@ -182,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +219,8 @@ CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
#CFLAGS += -mshort-calls #CFLAGS += -mshort-calls
CFLAGS += -Wundef
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -85,37 +85,37 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_ETHERNET</td> * <td>NO_DECODE_ETHERNET</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received Ethernet headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received Ethernet headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_ARP</td> * <td>NO_DECODE_ARP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received ARP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received ARP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_IP</td> * <td>NO_DECODE_IP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received IP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received IP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_ICMP</td> * <td>NO_DECODE_ICMP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received ICMP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received ICMP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_TCP</td> * <td>NO_DECODE_TCP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received TCP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received TCP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_UDP</td> * <td>NO_DECODE_UDP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received UDP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received UDP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_DECODE_DHCP</td> * <td>NO_DECODE_DHCP</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>When defined, received DHCP headers will not be decoded and printed to the device serial port.</td> * <td>When defined, received DHCP headers will not be decoded and printed to the device serial port.</td>
* </tr> * </tr>
* </table> * </table>

View File

@ -115,19 +115,30 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D NO_DECODE_ETHERNET
LUFA_OPTS += -D NO_DECODE_ARP
LUFA_OPTS += -D NO_DECODE_IP
LUFA_OPTS += -D NO_DECODE_ICMP
LUFA_OPTS += -D NO_DECODE_TCP
LUFA_OPTS += -D NO_DECODE_UDP
LUFA_OPTS += -D NO_DECODE_DHCP
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
Lib/RNDIS.c \
Lib/Ethernet.c \ Lib/Ethernet.c \
Lib/ProtocolDecoders.c \ Lib/ProtocolDecoders.c \
Lib/ICMP.c \ Lib/ICMP.c \
@ -137,19 +148,10 @@ SRC = $(TARGET).c \
Lib/ARP.c \ Lib/ARP.c \
Lib/IP.c \ Lib/IP.c \
Lib/Webserver.c \ Lib/Webserver.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ Lib/RNDIS.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -195,16 +197,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DNO_DECODE_ETHERNET -DNO_DECODE_ARP -DNO_DECODE_ICMP -DNO_DECODE_IP -DNO_DECODE_TCP -DNO_DECODE_UDP -DNO_DECODE_DHCP CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -229,8 +238,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -254,7 +264,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -343,9 +353,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -425,6 +433,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -470,7 +479,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -501,9 +510,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -513,21 +520,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -618,7 +610,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -630,7 +622,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -695,15 +687,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -714,7 +704,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -734,8 +723,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D NO_STREAM_CALLBACKS
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,34 +115,26 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
DeviceFunctions.c \ DeviceFunctions.c \
HostFunctions.c \ HostFunctions.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -188,15 +180,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -221,8 +221,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -246,7 +247,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -335,9 +336,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -417,6 +416,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -462,7 +462,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -493,9 +493,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -505,21 +503,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -610,7 +593,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -622,7 +605,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -687,15 +670,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -706,7 +687,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -726,8 +706,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D HID_HOST_BOOT_PROTOCOL_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MIDI.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MIDI.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,22 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY -Wextra LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000 LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MassStorage.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +176,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +217,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +243,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +332,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +412,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +489,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +499,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +589,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +601,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +666,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +683,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +702,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D HID_HOST_BOOT_PROTOCOL_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,27 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/Printer.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -181,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -214,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -239,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -328,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -410,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -455,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -486,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -498,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -603,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -615,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -680,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -699,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -719,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/RNDIS.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/RNDIS.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,27 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/StillImage.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -181,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -214,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -239,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -328,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -410,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -455,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -486,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -498,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -603,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -615,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -680,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -699,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -719,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,21 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_USBCLASS) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +175,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +216,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +242,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +331,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +411,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +457,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +488,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +498,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +588,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +600,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +665,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +682,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +701,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -71,28 +71,21 @@ BOARD = USBKEY
# Processor frequency. # Processor frequency.
# This will define a symbol, F_CPU, in all source code files equal to the # 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 # 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. # automatically to create a 32-bit value in your source code.
# Typical values are: #
# F_CPU = 1000000 # This will be an integer division of F_CLOCK below, as it is sourced by
# F_CPU = 1843200 # F_CLOCK after it has run through any CPU prescalers. Note that this value
# F_CPU = 2000000 # does not *change* the processor frequency - it should merely be updated to
# F_CPU = 3686400 # reflect the processor speed set externally so that the code can use accurate
# F_CPU = 4000000 # software delays.
# F_CPU = 7372800
# F_CPU = 8000000
# F_CPU = 11059200
# F_CPU = 14745600
# F_CPU = 16000000
# F_CPU = 18432000
# F_CPU = 20000000
F_CPU = 16000000 F_CPU = 16000000
# Input clock frequency. # Input clock frequency.
# This will define a symbol, F_CLOCK, in all source code files equal to the # 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 # 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 # 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' # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
@ -122,12 +115,16 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
BluetoothEvents.c \ BluetoothEvents.c \
@ -140,19 +137,9 @@ SRC = $(TARGET).c \
Lib/SDPServices.c \ Lib/SDPServices.c \
Lib/RFCOMM.c \ Lib/RFCOMM.c \
Lib/RFCOMMControl.c \ Lib/RFCOMMControl.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -198,15 +185,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -231,8 +226,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -256,7 +252,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -345,9 +341,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -427,6 +421,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -472,7 +467,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -503,9 +498,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -515,21 +508,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -620,7 +598,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -632,7 +610,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -697,15 +675,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -716,7 +692,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -736,8 +711,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,22 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +176,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +217,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +243,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +332,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +412,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +489,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +499,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +589,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +601,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +666,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +683,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +702,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,30 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
HIDReport.c \ HIDReport.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,22 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +176,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +217,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +243,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +332,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +412,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +489,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +499,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +589,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +601,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +666,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +683,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +702,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,30 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
HIDReport.c \ HIDReport.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,22 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +176,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +217,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +243,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +332,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +412,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +489,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +499,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +589,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +601,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +666,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +683,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +702,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,30 +115,24 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000 LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
Lib/MassStoreCommands.c \ Lib/MassStoreCommands.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,15 +178,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +219,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +245,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +334,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +414,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +460,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +491,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +501,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +591,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +603,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +668,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +685,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +704,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,22 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +176,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +217,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +243,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +332,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +412,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +489,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +499,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +589,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +601,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +666,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +683,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +702,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,30 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
HIDReport.c \ HIDReport.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -217,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -242,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -331,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -413,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -458,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -489,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -501,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -606,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -618,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -683,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -702,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -722,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
Lib/PrinterCommands.c \ Lib/PrinterCommands.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
Lib/RNDISCommands.c \ Lib/RNDISCommands.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,23 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D NO_STREAM_CALLBACKS LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
Lib/StillImageCommands.c \ Lib/StillImageCommands.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +177,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +218,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +244,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +333,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +413,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +459,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +490,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +500,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +590,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +602,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +667,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +684,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +703,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,28 +115,22 @@ OBJDIR = .
LUFA_PATH = ../../../.. LUFA_PATH = ../../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS = -D USB_HOST_ONLY
LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D NO_STREAM_CALLBACKS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
ConfigDescriptor.c \ ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ $(LUFA_SRC_SERIAL) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_SERIALSTREAM)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -182,15 +176,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -215,8 +217,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -240,7 +243,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -329,9 +332,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -411,6 +412,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -456,7 +458,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -487,9 +489,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -499,21 +499,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -604,7 +589,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -616,7 +601,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -681,15 +666,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -700,7 +683,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -720,8 +702,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -39,7 +39,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/Board/Temperature.c * - LUFA/Drivers/Board/Temperature.c <i>(Makefile source module name: LUFA_SRC_TEMPERATURE)</i>
* *
* \section Module Description * \section Module Description
* Temperature sensor driver. This provides an easy to use interface for the hardware temperature sensor located * Temperature sensor driver. This provides an easy to use interface for the hardware temperature sensor located

View File

@ -39,7 +39,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/Peripheral/Serial.c * - LUFA/Drivers/Peripheral/Serial.c <i>(Makefile source module name: LUFA_SRC_SERIAL)</i>
* *
* \section Module Description * \section Module Description
* Hardware serial USART driver. This module provides an easy to use driver for * Hardware serial USART driver. This module provides an easy to use driver for

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/Peripheral/SerialStream.c * - LUFA/Drivers/Peripheral/SerialStream.c <i>(Makefile source module name: LUFA_SRC_SERIALSTREAM)</i>
* *
* \section Module Description * \section Module Description
* Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the * Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the

View File

@ -42,7 +42,8 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/Peripheral/TWI.c * - LUFA/Drivers/Peripheral/TWI.c <i>(Makefile source module name: LUFA_SRC_TWI)</i>
*
* *
* \section Module Description * \section Module Description
* Master Mode Hardware TWI driver. This module provides an easy to use driver for the hardware * Master Mode Hardware TWI driver. This module provides an easy to use driver for the hardware

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/Audio.c * - LUFA/Drivers/USB/Class/Device/Audio.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Audio Class Driver module. This module contains an internal implementation of the USB Audio Class, for Device * Audio Class Driver module. This module contains an internal implementation of the USB Audio Class, for Device

View File

@ -42,8 +42,8 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/CDC.c * - LUFA/Drivers/USB/Class/Device/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/CDC.c * - LUFA/Drivers/USB/Class/Host/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* CDC Class Driver module. This module contains an internal implementation of the USB CDC-ACM class Virtual Serial * CDC Class Driver module. This module contains an internal implementation of the USB CDC-ACM class Virtual Serial

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/Audio.c * - LUFA/Drivers/USB/Class/Device/Audio.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Device Mode USB Class driver framework interface, for the Audio USB Class driver. * Device Mode USB Class driver framework interface, for the Audio USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/CDC.c * - LUFA/Drivers/USB/Class/Device/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Device Mode USB Class driver framework interface, for the CDC USB Class driver. * Device Mode USB Class driver framework interface, for the CDC USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/HID.c * - LUFA/Drivers/USB/Class/Device/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Device Mode USB Class driver framework interface, for the HID USB Class driver. * Device Mode USB Class driver framework interface, for the HID USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/MIDI.c * - LUFA/Drivers/USB/Class/Device/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Device Mode USB Class driver framework interface, for the MIDI USB Class driver. * Device Mode USB Class driver framework interface, for the MIDI USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/MassStorage.c * - LUFA/Drivers/USB/Class/Device/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Device Mode USB Class driver framework interface, for the Mass Storage USB Class driver. * Device Mode USB Class driver framework interface, for the Mass Storage USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/RNDIS.c * - LUFA/Drivers/USB/Class/Device/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Device Mode USB Class driver framework interface, for the RNDIS USB Class driver. * Device Mode USB Class driver framework interface, for the RNDIS USB Class driver.

View File

@ -42,9 +42,9 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/HID.c * - LUFA/Drivers/USB/Class/Device/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/HID.c * - LUFA/Drivers/USB/Class/Host/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/HIDParser.c * - LUFA/Drivers/USB/Class/Host/HIDParser.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* *
* \section Module Description * \section Module Description
* HID Class Driver module. This module contains an internal implementation of the USB HID Class, for both Device * HID Class Driver module. This module contains an internal implementation of the USB HID Class, for both Device

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/CDC.c * - LUFA/Drivers/USB/Class/Host/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the CDC USB Class driver. * Host Mode USB Class driver framework interface, for the CDC USB Class driver.

View File

@ -42,8 +42,8 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/HID.c * - LUFA/Drivers/USB/Class/Host/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/HIDParser.c * - LUFA/Drivers/USB/Class/Host/HIDParser.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the HID USB Class driver. * Host Mode USB Class driver framework interface, for the HID USB Class driver.

View File

@ -41,7 +41,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/HIDParser.c * - LUFA/Drivers/USB/Class/Host/HIDParser.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* *
* \section Module Description * \section Module Description
* Functions, macros, variables, enums and types related to the parsing of HID class device report descriptors. * Functions, macros, variables, enums and types related to the parsing of HID class device report descriptors.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/MIDI.c * - LUFA/Drivers/USB/Class/Host/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the MIDI USB Class driver. * Host Mode USB Class driver framework interface, for the MIDI USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/MassStorage.c * - LUFA/Drivers/USB/Class/Host/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the Mass Storage USB Class driver. * Host Mode USB Class driver framework interface, for the Mass Storage USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/Printer.c * - LUFA/Drivers/USB/Class/Host/Printer.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the Printer USB Class driver. * Host Mode USB Class driver framework interface, for the Printer USB Class driver.

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/RNDIS.c * - LUFA/Drivers/USB/Class/Host/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the Microsoft RNDIS Ethernet * Host Mode USB Class driver framework interface, for the Microsoft RNDIS Ethernet

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/StillImage.c * - LUFA/Drivers/USB/Class/Host/StillImage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Host Mode USB Class driver framework interface, for the Still Image USB Class driver. * Host Mode USB Class driver framework interface, for the Still Image USB Class driver.

View File

@ -42,8 +42,8 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/MIDI.c * - LUFA/Drivers/USB/Class/Device/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/MIDI.c * - LUFA/Drivers/USB/Class/Host/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* MIDI Class Driver module. This module contains an internal implementation of the USB MIDI Class, for both Device * MIDI Class Driver module. This module contains an internal implementation of the USB MIDI Class, for both Device

View File

@ -42,8 +42,8 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/MassStorage.c * - LUFA/Drivers/USB/Class/Device/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/MassStorage.c * - LUFA/Drivers/USB/Class/Host/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Mass Storage Class Driver module. This module contains an internal implementation of the USB Mass Storage Class, for both * Mass Storage Class Driver module. This module contains an internal implementation of the USB Mass Storage Class, for both

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/Printer.c * - LUFA/Drivers/USB/Class/Host/Printer.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Printer Class Driver module. This module contains an internal implementation of the USB Printer Class, for the base * Printer Class Driver module. This module contains an internal implementation of the USB Printer Class, for the base

View File

@ -42,8 +42,8 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/RNDIS.c * - LUFA/Drivers/USB/Class/Device/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* - LUFA/Drivers/USB/Class/Host/RNDIS.c * - LUFA/Drivers/USB/Class/Host/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* RNDIS Class Driver module. This module contains an internal implementation of the Microsoft USB RNDIS Networking * RNDIS Class Driver module. This module contains an internal implementation of the Microsoft USB RNDIS Networking

View File

@ -42,7 +42,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Host/StillImage.c * - LUFA/Drivers/USB/Class/Host/StillImage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
* *
* \section Module Description * \section Module Description
* Still Image Class Driver module. This module contains an internal implementation of the USB Still Image Class, * Still Image Class Driver module. This module contains an internal implementation of the USB Still Image Class,

View File

@ -41,17 +41,17 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/LowLevel/DevChapter9.c * - LUFA/Drivers/USB/LowLevel/DevChapter9.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/Device.c * - LUFA/Drivers/USB/LowLevel/Device.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/Endpoint.c * - LUFA/Drivers/USB/LowLevel/Endpoint.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/Host.c * - LUFA/Drivers/USB/LowLevel/Host.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/HostChapter9.c * - LUFA/Drivers/USB/LowLevel/HostChapter9.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/LowLevel.c * - LUFA/Drivers/USB/LowLevel/LowLevel.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/Pipe.c * - LUFA/Drivers/USB/LowLevel/Pipe.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/LowLevel/USBInterrupt.c * - LUFA/Drivers/USB/LowLevel/USBInterrupt.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c * - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/HighLevel/Events.c * - LUFA/Drivers/USB/HighLevel/Events.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* - LUFA/Drivers/USB/HighLevel/USBTask.c * - LUFA/Drivers/USB/HighLevel/USBTask.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
* *
* \section Module Description * \section Module Description
* Driver and framework for the USB controller hardware on the USB series of AVR microcontrollers. This module * Driver and framework for the USB controller hardware on the USB series of AVR microcontrollers. This module

View File

@ -16,6 +16,7 @@
* - Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros * - Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros
* - Added new AVRStudio 4 project files for all library demos, projects and bootloaders * - Added new AVRStudio 4 project files for all library demos, projects and bootloaders
* - Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project * - Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project
* - Added new LUFA module variables for the different source modules in the core library makefile to simplify project makefiles
* *
* <b>Changed:</b> * <b>Changed:</b>
* - The RingBuff library code has been replaced in the XPLAINBridge, Benito and USBtoSerial projects with an ultra lightweight * - The RingBuff library code has been replaced in the XPLAINBridge, Benito and USBtoSerial projects with an ultra lightweight

View File

@ -14,7 +14,7 @@
* *
* <b>USB Core</b> * <b>USB Core</b>
* - A new USB driver source file, Drivers/USB/LowLevel/Device.c now exists. This source file should be added to all project * - A new USB driver source file, Drivers/USB/LowLevel/Device.c now exists. This source file should be added to all project
* makefiles using the USB driver of LUFA. * makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source variables.
* *
* <b>Device Mode</b> * <b>Device Mode</b>
* - The USB_Device_IsRemoteWakeupSent() macro has been removed, as the remote wakeup request is now fully handled by the * - The USB_Device_IsRemoteWakeupSent() macro has been removed, as the remote wakeup request is now fully handled by the

View File

@ -43,7 +43,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * The following files must be built with any user project that uses this module:
* - LUFA/Scheduler/Scheduler.c * - LUFA/Scheduler/Scheduler.c <i>(Makefile source module name: LUFA_SRC_SCHEDULER)</i>
* *
* \section Module Description * \section Module Description
* Simple round-robbin cooperative scheduler for use in basic projects where non real-time tasks need * Simple round-robbin cooperative scheduler for use in basic projects where non real-time tasks need

View File

@ -6,48 +6,70 @@
# www.fourwalledcubicle.com # www.fourwalledcubicle.com
# #
# Makefile for the LUFA library itself. # Makefile for the LUFA library itself. This can be used to generate the library documentation.
LUFA_SRC_FILES = ./Drivers/USB/LowLevel/DevChapter9.c \
./Drivers/USB/LowLevel/Device.c \
./Drivers/USB/LowLevel/Endpoint.c \
./Drivers/USB/LowLevel/Host.c \
./Drivers/USB/LowLevel/HostChapter9.c \
./Drivers/USB/LowLevel/LowLevel.c \
./Drivers/USB/LowLevel/Pipe.c \
./Drivers/USB/LowLevel/USBInterrupt.c \
./Drivers/USB/HighLevel/ConfigDescriptor.c \
./Drivers/USB/HighLevel/Events.c \
./Drivers/USB/HighLevel/USBTask.c \
./Drivers/USB/Class/Device/Audio.c \
./Drivers/USB/Class/Device/CDC.c \
./Drivers/USB/Class/Device/HID.c \
./Drivers/USB/Class/Device/MIDI.c \
./Drivers/USB/Class/Device/MassStorage.c \
./Drivers/USB/Class/Device/RNDIS.c \
./Drivers/USB/Class/Host/CDC.c \
./Drivers/USB/Class/Host/HID.c \
./Drivers/USB/Class/Host/HIDParser.c \
./Drivers/USB/Class/Host/MassStorage.c \
./Drivers/USB/Class/Host/Printer.c \
./Drivers/USB/Class/Host/StillImage.c \
./Drivers/Board/Temperature.c \
./Drivers/Peripheral/Serial.c \
./Drivers/Peripheral/SerialStream.c \
./Drivers/Peripheral/TWI.c \
./Scheduler/Scheduler.c \
all: # Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
ifeq ($(origin LUFA_PATH), undefined)
LUFA_ROOT_PATH = .
else
LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
endif
clean: # Define module source file lists
LUFA_SRC_USB = $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/DevChapter9.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Device.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Host.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/Events.c \
$(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDParser.c
LUFA_SRC_USBCLASS = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/Audio.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDC.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HID.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorage.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDI.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDIS.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDC.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HID.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorage.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDI.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/Printer.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDIS.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImage.c
LUFA_SRC_TEMPERATURE = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
LUFA_SRC_SERIAL = $(LUFA_ROOT_PATH)/Drivers/Peripheral/Serial.c
LUFA_SRC_SERIALSTREAM = $(LUFA_ROOT_PATH)/Drivers/Peripheral/SerialStream.c
LUFA_SRC_TWI = $(LUFA_ROOT_PATH)/Drivers/Peripheral/TWI.c
LUFA_SRC_SCHEDULER = $(LUFA_ROOT_PATH)/Scheduler/Scheduler.c
# Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
ifeq ($(origin LUFA_PATH), undefined)
LUFA_SRC_FILES = $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) \
$(LUFA_SRC_TEMPERATURE) $(LUFA_SRC_SERIAL) \
$(LUFA_SRC_SERIALSTREAM) $(LUFA_SRC_TWI) \
$(LUFA_SRC_SCHEDULER)
all:
clean:
rm -f $(LUFA_SRC_FILES:%.c=%.o) rm -f $(LUFA_SRC_FILES:%.c=%.o)
clean_list: clean_list:
doxygen: doxygen:
@echo Generating Library Documentation... @echo Generating Library Documentation...
( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen - ( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen -
@echo Documentation Generation Complete. @echo Documentation Generation Complete.
clean_doxygen: clean_doxygen:
rm -rf Documentation rm -rf Documentation
.PHONY: all clean clean_list doxygen clean_doxygen
endif

View File

@ -214,62 +214,62 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>AUX_LINE_PORT</td> * <td>AUX_LINE_PORT</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>PORT register for the programmer's AUX target line. The use of this line varies between the programming protocols, * <td>PORT register for the programmer's AUX target line. The use of this line varies between the programming protocols,
* but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td> * but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUX_LINE_PIN</td> * <td>AUX_LINE_PIN</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>PIN register for the programmer's AUX target line. The use of this line varies between the programming protocols, * <td>PIN register for the programmer's AUX target line. The use of this line varies between the programming protocols,
* but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td> * but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUX_LINE_DDR</td> * <td>AUX_LINE_DDR</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>DDR register for the programmer's AUX target line. The use of this line varies between the programming protocols, * <td>DDR register for the programmer's AUX target line. The use of this line varies between the programming protocols,
* but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td> * but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AUX_LINE_MASK</td> * <td>AUX_LINE_MASK</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Mask for the programmer's AUX target line. The use of this line varies between the programming protocols, * <td>Mask for the programmer's AUX target line. The use of this line varies between the programming protocols,
* but is generally used for the target's /RESET line. <b>Must not be the AVR's /SS pin</b>. <i>Ignored when * but is generally used for the target's /RESET line. <b>Must not be the AVR's /SS pin</b>. <i>Ignored when
* compiled for the XPLAIN board.</i></td> * compiled for the XPLAIN board.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>VTARGET_ADC_CHANNEL</td> * <td>VTARGET_ADC_CHANNEL</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>ADC channel number (on supported AVRs) to use for VTARGET level detection, if NO_VTARGET_DETECT is not defined. * <td>ADC channel number (on supported AVRs) to use for VTARGET level detection, if NO_VTARGET_DETECT is not defined.
* <i>Ignored when compiled for targets lacking an ADC.</i></td> * <i>Ignored when compiled for targets lacking an ADC.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>ENABLE_ISP_PROTOCOL</td> * <td>ENABLE_ISP_PROTOCOL</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Define to enable SPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td> * <td>Define to enable SPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>ENABLE_XPROG_PROTOCOL</td> * <td>ENABLE_XPROG_PROTOCOL</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Define to enable PDI and TPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td> * <td>Define to enable PDI and TPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>NO_VTARGET_DETECT</td> * <td>NO_VTARGET_DETECT</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Define to disable VTARGET sampling and reporting on AVR models with an ADC converter. This will cause the programmer * <td>Define to disable VTARGET sampling and reporting on AVR models with an ADC converter. This will cause the programmer
* to report a fixed 5V target voltage to the host regardless of the real target voltage. <i>Ignored when compiled for * to report a fixed 5V target voltage to the host regardless of the real target voltage. <i>Ignored when compiled for
* targets lacking an ADC.</i></td> * targets lacking an ADC.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>VTARGET_REF_VOLTS</td> * <td>VTARGET_REF_VOLTS</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Indicates the programmer AVR's AVCC reference voltage when measuring the target's supply voltage. Note that the supply * <td>Indicates the programmer AVR's AVCC reference voltage when measuring the target's supply voltage. Note that the supply
* voltage should never exceed the reference voltage on the programmer AVR without some form of protection to prevent damage * voltage should never exceed the reference voltage on the programmer AVR without some form of protection to prevent damage
* to the ADC. <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td> * to the ADC. <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
* </tr> * </tr>
* <tr> * <tr>
* <td>VTARGET_SCALE_FACTOR</td> * <td>VTARGET_SCALE_FACTOR</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Indicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the * <td>Indicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the
* ADC pin for measuring the target's supply voltage, so that voltages above the programmer AVR's AVCC reference voltage can be * ADC pin for measuring the target's supply voltage, so that voltages above the programmer AVR's AVCC reference voltage can be
* measured. This should be the reciprocal of the division performed - e.g. if the VTARGET voltage is halved, this should be set * measured. This should be the reciprocal of the division performed - e.g. if the VTARGET voltage is halved, this should be set
@ -277,7 +277,7 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>LIBUSB_DRIVER_COMPAT</td> * <td>LIBUSB_DRIVER_COMPAT</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making * <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making
* the code compatible with software such as avrdude (all platforms) that use the libUSB driver. * the code compatible with software such as avrdude (all platforms) that use the libUSB driver.
* </tr> * </tr>

View File

@ -112,10 +112,10 @@ OBJDIR = .
# Path to the LUFA library # Path to the LUFA library
LUFA_PATH = ../../ LUFA_PATH = ../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=16 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=16
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
@ -126,6 +126,23 @@ LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
LUFA_OPTS += -D NO_DEVICE_SELF_POWER LUFA_OPTS += -D NO_DEVICE_SELF_POWER
LUFA_OPTS += -D AUX_LINE_PORT=PORTB
LUFA_OPTS += -D AUX_LINE_PIN=PINB
LUFA_OPTS += -D AUX_LINE_DDR=DDRB
LUFA_OPTS += -D AUX_LINE_MASK="(1 << 4)"
LUFA_OPTS += -D ENABLE_ISP_PROTOCOL
LUFA_OPTS += -D ENABLE_XPROG_PROTOCOL
LUFA_OPTS += -D VTARGET_ADC_CHANNEL=2
LUFA_OPTS += -D VTARGET_REF_VOLTS=5
LUFA_OPTS += -D VTARGET_SCALE_FACTOR=1
#LUFA_OPTS += -D NO_VTARGET_DETECT
#LUFA_OPTS += -D LIBUSB_DRIVER_COMPAT
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
@ -137,17 +154,7 @@ SRC = $(TARGET).c \
Lib/XPROG/XPROGTarget.c \ Lib/XPROG/XPROGTarget.c \
Lib/XPROG/XMEGANVM.c \ Lib/XPROG/XMEGANVM.c \
Lib/XPROG/TINYNVM.c \ Lib/XPROG/TINYNVM.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -193,26 +200,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DAUX_LINE_PORT=PORTB CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DAUX_LINE_PIN=PINB CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DAUX_LINE_DDR=DDRB CDEFS += $(LUFA_OPTS)
CDEFS += -DAUX_LINE_MASK="(1 << 4)"
CDEFS += -DENABLE_ISP_PROTOCOL
CDEFS += -DENABLE_XPROG_PROTOCOL
CDEFS += -DVTARGET_ADC_CHANNEL=2
CDEFS += -DVTARGET_REF_VOLTS=5
CDEFS += -DVTARGET_SCALE_FACTOR=1
#CDEFS += -DNO_VTARGET_DETECT
#CDEFS += -DLIBUSB_DRIVER_COMPAT
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -237,8 +241,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -262,7 +267,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -351,9 +356,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -433,6 +436,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -478,7 +482,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -509,9 +513,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -521,21 +523,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -626,7 +613,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -638,7 +625,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -703,15 +690,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -722,7 +707,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -742,8 +726,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -68,32 +68,32 @@
* </tr> * </tr>
* <tr> * <tr>
* <td>AVR_RESET_LINE_PORT</td> * <td>AVR_RESET_LINE_PORT</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Indicates the PORT register of the pin used to generate the target /RESET line pulse.</td> * <td>Indicates the PORT register of the pin used to generate the target /RESET line pulse.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AVR_RESET_LINE_DDR</td> * <td>AVR_RESET_LINE_DDR</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Indicates the DDR register of the pin used to generate the target /RESET line pulse.</td> * <td>Indicates the DDR register of the pin used to generate the target /RESET line pulse.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AVR_RESET_LINE_MASK</td> * <td>AVR_RESET_LINE_MASK</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Indicates the mask of the pin used to generate the target /RESET line pulse.</td> * <td>Indicates the mask of the pin used to generate the target /RESET line pulse.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>AVR_RESET_PULSE_MS</td> * <td>AVR_RESET_PULSE_MS</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Pulse length in milliseconds for the target /RESET pulse.</td> * <td>Pulse length in milliseconds for the target /RESET pulse.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>TX_RX_LED_PULSE_MS</td> * <td>TX_RX_LED_PULSE_MS</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Pulse length in milliseconds for the activity Tx/Rx LEDs.</td> * <td>Pulse length in milliseconds for the activity Tx/Rx LEDs.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>PING_PONG_LED_PULSE_MS</td> * <td>PING_PONG_LED_PULSE_MS</td>
* <td>Makefile CDEFS</td> * <td>Makefile LUFA_OPTS</td>
* <td>Pulse length in milliseconds for the enumeration LED ping-poning between toggles.</td> * <td>Pulse length in milliseconds for the enumeration LED ping-poning between toggles.</td>
* </tr> * </tr>
* </table> * </table>

View File

@ -112,33 +112,33 @@ OBJDIR = .
# Path to the LUFA library # Path to the LUFA library
LUFA_PATH = ../../ LUFA_PATH = ../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D AVR_RESET_LINE_PORT="PORTD"
LUFA_OPTS += -D AVR_RESET_LINE_DDR="DDRD"
LUFA_OPTS += -D AVR_RESET_LINE_MASK="(1 << 4)"
LUFA_OPTS += -D AVR_RESET_PULSE_MS=10
LUFA_OPTS += -D TX_RX_LED_PULSE_MS=30
LUFA_OPTS += -D PING_PONG_LED_PULSE_MS=100
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -184,20 +184,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DAVR_RESET_LINE_PORT="PORTD" CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DAVR_RESET_LINE_DDR="DDRD" CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += -DAVR_RESET_LINE_MASK="(1 << 4)" CDEFS += $(LUFA_OPTS)
CDEFS += -DAVR_RESET_PULSE_MS=10
CDEFS += -DTX_RX_LED_PULSE_MS=30
CDEFS += -DPING_PONG_LED_PULSE_MS=100
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -222,8 +225,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -247,7 +251,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -336,9 +340,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -418,6 +420,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -463,7 +466,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -494,9 +497,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -506,21 +507,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -611,7 +597,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -623,7 +609,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -688,15 +674,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -707,7 +691,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -727,8 +710,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

View File

@ -115,29 +115,26 @@ OBJDIR = .
LUFA_PATH = ../../.. LUFA_PATH = ../../..
# LUFA library compile-time options # LUFA library compile-time options and predefined tokens
LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS = -D USB_DEVICE_ONLY
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
LUFA_OPTS += -D NO_DEVICE_SELF_POWER
# Create the LUFA source path variables by including the LUFA root makefile
include $(LUFA_PATH)/LUFA/makefile
# List C source files here. (C dependencies are automatically generated.) # List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c \ SRC = $(TARGET).c \
Descriptors.c \ Descriptors.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \ $(LUFA_SRC_USB) \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \ $(LUFA_SRC_USBCLASS)
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/MIDI.c \
# List C++ source files here. (C dependencies are automatically generated.) # List C++ source files here. (C dependencies are automatically generated.)
@ -183,15 +180,23 @@ CSTANDARD = -std=c99
# Place -D or -U options here for C sources # Place -D or -U options here for C sources
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) CDEFS = -DF_CPU=$(F_CPU)UL
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
CDEFS += -DBOARD=BOARD_$(BOARD)
CDEFS += $(LUFA_OPTS)
# Place -D or -U options here for ASM sources # Place -D or -U options here for ASM sources
ADEFS = -DF_CPU=$(F_CPU) ADEFS = -DF_CPU=$(F_CPU)
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
ADEFS += -DBOARD=BOARD_$(BOARD)
ADEFS += $(LUFA_OPTS)
# Place -D or -U options here for C++ sources # Place -D or -U options here for C++ sources
CPPDEFS = -DF_CPU=$(F_CPU)UL CPPDEFS = -DF_CPU=$(F_CPU)UL
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
CPPDEFS += -DBOARD=BOARD_$(BOARD)
CPPDEFS += $(LUFA_OPTS)
#CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_LIMIT_MACROS
#CPPDEFS += -D__STDC_CONSTANT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
@ -216,8 +221,9 @@ CFLAGS += -fshort-enums
CFLAGS += -fno-strict-aliasing CFLAGS += -fno-strict-aliasing
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -Wstrict-prototypes CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef #CFLAGS += -mshort-calls
#CFLAGS += -fno-unit-at-a-time #CFLAGS += -fno-unit-at-a-time
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code #CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare #CFLAGS += -Wsign-compare
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
@ -241,7 +247,7 @@ CPPFLAGS += -fpack-struct
CPPFLAGS += -fshort-enums CPPFLAGS += -fshort-enums
CPPFLAGS += -fno-exceptions CPPFLAGS += -fno-exceptions
CPPFLAGS += -Wall CPPFLAGS += -Wall
CFLAGS += -Wundef CPPFLAGS += -Wundef
#CPPFLAGS += -mshort-calls #CPPFLAGS += -mshort-calls
#CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -fno-unit-at-a-time
#CPPFLAGS += -Wstrict-prototypes #CPPFLAGS += -Wstrict-prototypes
@ -330,9 +336,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
#---------------- Programming Options (avrdude) ---------------- #---------------- Programming Options (avrdude) ----------------
# Programming hardware: alf avr910 avrisp bascom bsd # Programming hardware
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
@ -412,6 +416,7 @@ REMOVEDIR = rm -rf
COPY = cp COPY = cp
WINSHELL = cmd WINSHELL = cmd
# Define Messages # Define Messages
# English # English
MSG_ERRORS_NONE = Errors: none MSG_ERRORS_NONE = Errors: none
@ -457,7 +462,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target. # Default target.
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end all: begin gccversion sizebefore build sizeafter end
# Change the build target to build a HEX file or a library. # Change the build target to build a HEX file or a library.
build: elf hex eep lss sym build: elf hex eep lss sym
@ -488,9 +493,7 @@ end:
# Display size of file. # Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
sizebefore: sizebefore:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
@ -500,21 +503,6 @@ sizeafter:
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
2>/dev/null; echo; fi 2>/dev/null; echo; fi
showliboptions:
@echo
@echo ---- Compile Time Library Options ----
@for i in $(LUFA_OPTS:-D%=%); do \
echo $$i; \
done
@echo --------------------------------------
showtarget:
@echo
@echo --------- Target Information ---------
@echo AVR Model: $(MCU)
@echo Board: $(BOARD)
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
@echo --------------------------------------
# Display compiler version information. # Display compiler version information.
@ -605,7 +593,7 @@ extcoff: $(TARGET).elf
%.hex: %.elf %.hex: %.elf
@echo @echo
@echo $(MSG_FLASH) $@ @echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
%.eep: %.elf %.eep: %.elf
@echo @echo
@ -617,7 +605,7 @@ extcoff: $(TARGET).elf
%.lss: %.elf %.lss: %.elf
@echo @echo
@echo $(MSG_EXTENDED_LISTING) $@ @echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -z -S $< > $@ $(OBJDUMP) -h -S -z $< > $@
# Create a symbol table from ELF output file. # Create a symbol table from ELF output file.
%.sym: %.elf %.sym: %.elf
@ -682,15 +670,13 @@ $(OBJDIR)/%.o : %.S
# Target: clean project. # Target: clean project.
clean: begin clean_list clean_binary end clean: begin clean_list end
clean_binary: clean_list :
$(REMOVE) $(TARGET).hex @echo
clean_list:
@echo $(MSG_CLEANING) @echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep $(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET)eep.hex
$(REMOVE) $(TARGET).cof $(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf $(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map $(REMOVE) $(TARGET).map
@ -701,7 +687,6 @@ clean_list:
$(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.d)
$(REMOVE) $(SRC:.c=.i) $(REMOVE) $(SRC:.c=.i)
$(REMOVE) InvalidEvents.tmp
$(REMOVEDIR) .dep $(REMOVEDIR) .dep
doxygen: doxygen:
@ -721,8 +706,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
# Listing of phony targets. # Listing of phony targets.
.PHONY : all showliboptions showtarget begin \ .PHONY : all begin finish end sizebefore sizeafter gccversion \
finish end sizebefore sizeafter gccversion build \ build elf hex eep lss sym coff extcoff doxygen clean \
elf hex eep lss sym coff extcoff program dfu flip \ clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
flip-ee dfu-ee clean debug clean_list clean_binary \ debug gdb-config
clean_doxygen gdb-config doxygen

Some files were not shown because too many files have changed in this diff Show More