diff options
Diffstat (limited to 'bootloaders/stk500v2/Makefile')
| -rw-r--r-- | bootloaders/stk500v2/Makefile | 587 | 
1 files changed, 0 insertions, 587 deletions
| diff --git a/bootloaders/stk500v2/Makefile b/bootloaders/stk500v2/Makefile deleted file mode 100644 index eeb9add..0000000 --- a/bootloaders/stk500v2/Makefile +++ /dev/null @@ -1,587 +0,0 @@ -# ----------------------------------------------------------------------------
 -# Makefile to compile and link stk500boot bootloader
 -# Author: Peter Fleury
 -# based on WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al.
 -#
 -# Adjust F_CPU below to the clock frequency in Mhz of your AVR target
 -# Adjust BOOTLOADER_ADDRESS to your AVR target
 -#
 -#----------------------------------------------------------------------------
 -# On command line:
 -#
 -# make all = Make software.
 -#
 -# make clean = Clean out built project files.
 -#
 -# make coff = Convert ELF to AVR COFF.
 -#
 -# make extcoff = Convert ELF to AVR Extended COFF.
 -#
 -# make program = Download the hex file to the device, using avrdude.
 -#                Please customize the avrdude settings below first!
 -#
 -# make debug = Start either simulavr or avarice as specified for debugging, 
 -#              with avr-gdb or avr-insight as the front end for debugging.
 -#
 -# make filename.s = Just compile filename.c into the assembler code only.
 -#
 -# make filename.i = Create a preprocessed source file for use in submitting
 -#                   bug reports to the GCC project.
 -#
 -# To rebuild project do "make clean" then "make all".
 -#----------------------------------------------------------------------------
 -#	<MLS> = Mark Sproul msproul-at-skychariot.com
 -
 -
 -# MCU name
 -#MCU = atmega128
 -
 -
 -# Processor frequency.
 -#     This will define a symbol, F_CPU, in all source code files equal to the 
 -#     processor frequency. You can then use this symbol in your source code to 
 -#     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.
 -#F_CPU = 16000000
 -
 -
 -# Bootloader
 -# Please adjust if using a different AVR
 -# 0x0e00*2=0x1C00 for ATmega8  512 words Boot Size
 -# 0xFC00*2=0x1F800 for ATmega128  1024 words Boot Size
 -# 0xF800*2=0x1F000 for ATmega1280
 -# 0xF000*2=0x1E000 for ATmega1280
 -#BOOTLOADER_ADDRESS = 1E000
 -
 -
 -# Output format. (can be srec, ihex, binary)
 -FORMAT = ihex
 -
 -
 -# Target file name (without extension).
 -TARGET = stk500boot
 -
 -
 -# List C source files here. (C dependencies are automatically generated.)
 -SRC = stk500boot.c 
 -
 -
 -# List Assembler source files here.
 -#     Make them always end in a capital .S.  Files ending in a lowercase .s
 -#     will not be considered source files but generated files (assembler
 -#     output from the compiler), and will be deleted upon "make clean"!
 -#     Even though the DOS/Win* filesystem matches both .s and .S the same,
 -#     it will preserve the spelling of the filenames, and gcc itself does
 -#     care about how the name is spelled on its command-line.
 -ASRC = 
 -
 -
 -# Optimization level, can be [0, 1, 2, 3, s]. 
 -#     0 = turn off optimization. s = optimize for size.
 -#     (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
 -OPT = s
 -
 -
 -# Debugging format.
 -#     Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.
 -#     AVR Studio 4.10 requires dwarf-2.
 -#     AVR [Extended] COFF format requires stabs, plus an avr-objcopy run.
 -DEBUG = dwarf-2
 -
 -
 -# List any extra directories to look for include files here.
 -#     Each directory must be seperated by a space.
 -#     Use forward slashes for directory separators.
 -#     For a directory that has spaces, enclose it in quotes.
 -EXTRAINCDIRS = 
 -
 -
 -# Compiler flag to set the C Standard level.
 -#     c89   = "ANSI" C
 -#     gnu89 = c89 plus GCC extensions
 -#     c99   = ISO C99 standard (not yet fully implemented)
 -#     gnu99 = c99 plus GCC extensions
 -CSTANDARD = -std=gnu99
 -
 -
 -# Place -D or -U options here
 -CDEFS = -DF_CPU=$(F_CPU)UL
 -
 -
 -# Place -I options here
 -CINCS =
 -
 -
 -
 -#---------------- Compiler Options ----------------
 -#  -g*:          generate debugging information
 -#  -O*:          optimization level
 -#  -f...:        tuning, see GCC manual and avr-libc documentation
 -#  -Wall...:     warning level
 -#  -Wa,...:      tell GCC to pass this to the assembler.
 -#    -adhlns...: create assembler listing
 -CFLAGS = -g$(DEBUG)
 -CFLAGS += $(CDEFS) $(CINCS)
 -CFLAGS += -O$(OPT)
 -CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -fno-jump-tables
 -CFLAGS += -Wall -Wstrict-prototypes
 -CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
 -CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 -CFLAGS += $(CSTANDARD)
 -
 -
 -#---------------- Assembler Options ----------------
 -#  -Wa,...:   tell GCC to pass this to the assembler.
 -#  -ahlms:    create listing
 -#  -gstabs:   have the assembler create line number information; note that
 -#             for use in COFF files, additional information about filenames
 -#             and function names needs to be present in the assembler source
 -#             files -- see avr-libc docs [FIXME: not yet described there]
 -ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs 
 -
 -
 -#---------------- Library Options ----------------
 -# Minimalistic printf version
 -PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
 -
 -# Floating point printf version (requires MATH_LIB = -lm below)
 -PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
 -
 -# If this is left blank, then it will use the Standard printf version.
 -PRINTF_LIB = 
 -#PRINTF_LIB = $(PRINTF_LIB_MIN)
 -#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
 -
 -
 -# Minimalistic scanf version
 -SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
 -
 -# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
 -SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
 -
 -# If this is left blank, then it will use the Standard scanf version.
 -SCANF_LIB = 
 -#SCANF_LIB = $(SCANF_LIB_MIN)
 -#SCANF_LIB = $(SCANF_LIB_FLOAT)
 -
 -
 -MATH_LIB = -lm
 -
 -
 -
 -#---------------- External Memory Options ----------------
 -
 -# 64 KB of external RAM, starting after internal RAM (ATmega128!),
 -# used for variables (.data/.bss) and heap (malloc()).
 -#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
 -
 -# 64 KB of external RAM, starting after internal RAM (ATmega128!),
 -# only used for heap (malloc()).
 -#EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
 -
 -EXTMEMOPTS =
 -
 -
 -
 -
 -#---------------- Linker Options ----------------
 -#  -Wl,...:     tell GCC to pass this to linker.
 -#    -Map:      create map file
 -#    --cref:    add cross reference to  map file
 -LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
 -LDFLAGS += $(EXTMEMOPTS)
 -LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
 -
 -
 -#--------------- bootloader linker Options -------
 -# BOOTLOADER_ADDRESS (=Start of Boot Loader section
 -# in bytes - not words) is defined above.
 -#LDFLAGS += -Wl,--section-start=.text=$(BOOTLOADER_ADDRESS) -nostartfiles -nodefaultlibs
 -#LDFLAGS += -Wl,--section-start=.text=$(BOOTLOADER_ADDRESS) -nostartfiles
 -LDFLAGS += -Wl,--section-start=.text=$(BOOTLOADER_ADDRESS)
 -
 -#---------------- Programming Options (avrdude) ----------------
 -
 -# Programming hardware: alf avr910 avrisp bascom bsd 
 -# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
 -#
 -# Type: avrdude -c ?
 -# to get a full listing.
 -#
 -AVRDUDE_PROGRAMMER = stk500v2
 -
 -# com1 = serial port. Use lpt1 to connect to parallel port.
 -AVRDUDE_PORT = com1    # programmer connected to serial device
 -
 -AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
 -#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
 -
 -
 -# Uncomment the following if you want avrdude's erase cycle counter.
 -# Note that this counter needs to be initialized first using -Yn,
 -# see avrdude manual.
 -#AVRDUDE_ERASE_COUNTER = -y
 -
 -# Uncomment the following if you do /not/ wish a verification to be
 -# performed after programming the device.
 -#AVRDUDE_NO_VERIFY = -V
 -
 -# Increase verbosity level.  Please use this when submitting bug
 -# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> 
 -# to submit bug reports.
 -#AVRDUDE_VERBOSE = -v -v
 -
 -AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
 -AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
 -AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
 -AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
 -
 -
 -
 -#---------------- Debugging Options ----------------
 -
 -# For simulavr only - target MCU frequency.
 -DEBUG_MFREQ = $(F_CPU)
 -
 -# Set the DEBUG_UI to either gdb or insight.
 -# DEBUG_UI = gdb
 -DEBUG_UI = insight
 -
 -# Set the debugging back-end to either avarice, simulavr.
 -DEBUG_BACKEND = avarice
 -#DEBUG_BACKEND = simulavr
 -
 -# GDB Init Filename.
 -GDBINIT_FILE = __avr_gdbinit
 -
 -# When using avarice settings for the JTAG
 -JTAG_DEV = /dev/com1
 -
 -# Debugging port used to communicate between GDB / avarice / simulavr.
 -DEBUG_PORT = 4242
 -
 -# Debugging host used to communicate between GDB / avarice / simulavr, normally
 -#     just set to localhost unless doing some sort of crazy debugging when 
 -#     avarice is running on a different computer.
 -DEBUG_HOST = localhost
 -
 -
 -
 -#============================================================================
 -
 -
 -# Define programs and commands.
 -SHELL = sh
 -CC = avr-gcc
 -OBJCOPY = avr-objcopy
 -OBJDUMP = avr-objdump
 -SIZE = avr-size
 -NM = avr-nm
 -AVRDUDE = avrdude
 -REMOVE = rm -f
 -COPY = cp
 -WINSHELL = cmd
 -
 -
 -# Define Messages
 -# English
 -MSG_ERRORS_NONE = Errors: none
 -MSG_BEGIN = -------- begin --------
 -MSG_END = --------  end  --------
 -MSG_SIZE_BEFORE = Size before: 
 -MSG_SIZE_AFTER = Size after:
 -MSG_COFF = Converting to AVR COFF:
 -MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
 -MSG_FLASH = Creating load file for Flash:
 -MSG_EEPROM = Creating load file for EEPROM:
 -MSG_EXTENDED_LISTING = Creating Extended Listing:
 -MSG_SYMBOL_TABLE = Creating Symbol Table:
 -MSG_LINKING = Linking:
 -MSG_COMPILING = Compiling:
 -MSG_ASSEMBLING = Assembling:
 -MSG_CLEANING = Cleaning project:
 -
 -
 -
 -
 -# Define all object files.
 -OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) 
 -
 -# Define all listing files.
 -LST = $(SRC:.c=.lst) $(ASRC:.S=.lst) 
 -
 -
 -# Compiler flags to generate dependency files.
 -GENDEPFLAGS = -MD -MP -MF .dep/$(@F).d
 -
 -
 -# Combine all necessary flags and optional flags.
 -# Add target processor to flags.
 -ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
 -ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
 -
 -
 -
 -############################################################
 -#	May 25,	2010	<MLS> Adding 1280 support
 -mega1280: MCU = atmega1280
 -mega1280: F_CPU = 16000000
 -mega1280: BOOTLOADER_ADDRESS = 1E000
 -mega1280: CFLAGS += -D_MEGA_BOARD_
 -mega1280: begin gccversion sizebefore build sizeafter end 
 -			mv $(TARGET).hex stk500boot_v2_mega1280.hex
 -
 -
 -############################################################
 -#	Jul 6,	2010	<MLS> Adding 2560 support
 -mega2560:	MCU = atmega2560
 -mega2560:	F_CPU = 16000000
 -mega2560:	BOOTLOADER_ADDRESS = 3E000
 -mega2560:	CFLAGS += -D_MEGA_BOARD_
 -mega2560:	begin gccversion sizebefore build sizeafter end 
 -			mv $(TARGET).hex stk500boot_v2_mega2560.hex
 -
 -
 -############################################################
 -#Initial config on Amber128 board
 -#	avrdude: Device signature = 0x1e9702
 -#	avrdude: safemode: lfuse reads as 8F
 -#	avrdude: safemode: hfuse reads as CB
 -#	avrdude: safemode: efuse reads as FF
 -#	Jul 17,	2010	<MLS> Adding 128 support
 -############################################################
 -amber128: MCU = atmega128
 -#amber128: F_CPU = 16000000
 -amber128: F_CPU = 14745600
 -amber128: BOOTLOADER_ADDRESS = 1E000
 -amber128: CFLAGS += -D_BOARD_AMBER128_
 -amber128: begin gccversion sizebefore build sizeafter end 
 -			mv $(TARGET).hex stk500boot_v2_amber128.hex
 -
 -############################################################
 -#	Aug 23, 2010 	<MLS> Adding atmega2561 support
 -m2561: MCU = atmega2561
 -m2561: F_CPU = 8000000
 -m2561: BOOTLOADER_ADDRESS = 3E000
 -m2561: CFLAGS += -D_ANDROID_2561_ -DBAUDRATE=57600
 -m2561: begin gccversion sizebefore build sizeafter end 
 -			mv $(TARGET).hex stk500boot_v2_android2561.hex
 -
 -
 -############################################################
 -#	avrdude: Device signature = 0x1e9801
 -#	avrdude: safemode: lfuse reads as EC
 -#	avrdude: safemode: hfuse reads as 18
 -#	avrdude: safemode: efuse reads as FD
 -#	Aug 23,	2010	<MLS> Adding cerebot 2560 @ 8mhz
 -#avrdude -P usb -c usbtiny -p m2560 -v -U flash:w:/Arduino/WiringBootV2_upd1/stk500boot_v2_cerebotplus.hex 
 -############################################################
 -cerebot:	MCU = atmega2560
 -cerebot:	F_CPU = 8000000
 -cerebot:	BOOTLOADER_ADDRESS = 3E000
 -cerebot:	CFLAGS += -D_CEREBOTPLUS_BOARD_ -DBAUDRATE=38400 -DUART_BAUDRATE_DOUBLE_SPEED=1
 -cerebot:	begin gccversion sizebefore build sizeafter end 
 -			mv $(TARGET).hex stk500boot_v2_cerebotplus.hex
 -
 -
 -############################################################
 -#	Aug 23, 2010 	<MLS> Adding atmega2561 support
 -penguino: MCU = atmega32
 -penguino: F_CPU = 16000000
 -penguino: BOOTLOADER_ADDRESS = 7800
 -penguino: CFLAGS += -D_PENGUINO_ -DBAUDRATE=57600
 -penguino: begin gccversion sizebefore build sizeafter end 
 -			mv $(TARGET).hex stk500boot_v2_penguino.hex
 -
 -
 -# Default target.
 -all: begin gccversion sizebefore build sizeafter end
 -
 -build: elf hex eep lss sym
 -#build:  hex eep lss sym
 -
 -elf: $(TARGET).elf
 -hex: $(TARGET).hex
 -eep: $(TARGET).eep
 -lss: $(TARGET).lss 
 -sym: $(TARGET).sym
 -
 -
 -
 -# Eye candy.
 -# AVR Studio 3.x does not check make's exit code but relies on
 -# the following magic strings to be generated by the compile job.
 -begin:
 -	@echo
 -	@echo $(MSG_BEGIN)
 -
 -end:
 -	@echo $(MSG_END)
 -	@echo
 -
 -
 -# Display size of file.
 -HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
 -ELFSIZE = $(SIZE) --format=avr --mcu=$(MCU) $(TARGET).elf
 -
 -sizebefore:
 -	@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
 -	2>/dev/null; echo; fi
 -
 -sizeafter:
 -	@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
 -	2>/dev/null; echo; fi
 -
 -
 -
 -# Display compiler version information.
 -gccversion : 
 -	@$(CC) --version
 -
 -
 -
 -# Program the device.  
 -program: $(TARGET).hex $(TARGET).eep
 -	$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
 -
 -
 -# Generate avr-gdb config/init file which does the following:
 -#     define the reset signal, load the target file, connect to target, and set 
 -#     a breakpoint at main().
 -gdb-config: 
 -	@$(REMOVE) $(GDBINIT_FILE)
 -	@echo define reset >> $(GDBINIT_FILE)
 -	@echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
 -	@echo end >> $(GDBINIT_FILE)
 -	@echo file $(TARGET).elf >> $(GDBINIT_FILE)
 -	@echo target remote $(DEBUG_HOST):$(DEBUG_PORT)  >> $(GDBINIT_FILE)
 -ifeq ($(DEBUG_BACKEND),simulavr)
 -	@echo load  >> $(GDBINIT_FILE)
 -endif	
 -	@echo break main >> $(GDBINIT_FILE)
 -	
 -debug: gdb-config $(TARGET).elf
 -ifeq ($(DEBUG_BACKEND), avarice)
 -	@echo Starting AVaRICE - Press enter when "waiting to connect" message displays.
 -	@$(WINSHELL) /c start avarice --jtag $(JTAG_DEV) --erase --program --file \
 -	$(TARGET).elf $(DEBUG_HOST):$(DEBUG_PORT)
 -	@$(WINSHELL) /c pause
 -	
 -else
 -	@$(WINSHELL) /c start simulavr --gdbserver --device $(MCU) --clock-freq \
 -	$(DEBUG_MFREQ) --port $(DEBUG_PORT)
 -endif
 -	@$(WINSHELL) /c start avr-$(DEBUG_UI) --command=$(GDBINIT_FILE)
 -	
 -
 -
 -
 -# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
 -COFFCONVERT=$(OBJCOPY) --debugging \
 ---change-section-address .data-0x800000 \
 ---change-section-address .bss-0x800000 \
 ---change-section-address .noinit-0x800000 \
 ---change-section-address .eeprom-0x810000 
 -
 -
 -
 -coff: $(TARGET).elf
 -	@echo
 -	@echo $(MSG_COFF) $(TARGET).cof
 -	$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
 -
 -
 -extcoff: $(TARGET).elf
 -	@echo
 -	@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
 -	$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
 -
 -
 -# Create final output files (.hex, .eep) from ELF output file.
 -%.hex: %.elf
 -	@echo
 -	@echo $(MSG_FLASH) $@
 -	$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
 -
 -%.eep: %.elf
 -	@echo
 -	@echo $(MSG_EEPROM) $@
 -	-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
 -	--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
 -
 -# Create extended listing file from ELF output file.
 -%.lss: %.elf
 -	@echo
 -	@echo $(MSG_EXTENDED_LISTING) $@
 -	$(OBJDUMP) -h -S $< > $@
 -
 -# Create a symbol table from ELF output file.
 -%.sym: %.elf
 -	@echo
 -	@echo $(MSG_SYMBOL_TABLE) $@
 -	$(NM) -n $< > $@
 -
 -
 -
 -# Link: create ELF output file from object files.
 -.SECONDARY : $(TARGET).elf
 -.PRECIOUS : $(OBJ)
 -%.elf: $(OBJ)
 -	@echo
 -	@echo $(MSG_LINKING) $@
 -	$(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
 -
 -
 -# Compile: create object files from C source files.
 -%.o : %.c
 -	@echo
 -	@echo $(MSG_COMPILING) $<
 -	$(CC) -c $(ALL_CFLAGS) $< -o $@ 
 -
 -
 -# Compile: create assembler files from C source files.
 -%.s : %.c
 -	$(CC) -S $(ALL_CFLAGS) $< -o $@
 -
 -
 -# Assemble: create object files from assembler source files.
 -%.o : %.S
 -	@echo
 -	@echo $(MSG_ASSEMBLING) $<
 -	$(CC) -c $(ALL_ASFLAGS) $< -o $@
 -
 -# Create preprocessed source for use in sending a bug report.
 -%.i : %.c
 -	$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@ 
 -
 -
 -# Target: clean project.
 -clean: begin clean_list end
 -
 -clean_list :
 -	@echo
 -	@echo $(MSG_CLEANING)
 -	$(REMOVE) *.hex
 -	$(REMOVE) *.eep
 -	$(REMOVE) *.cof
 -	$(REMOVE) *.elf
 -	$(REMOVE) *.map
 -	$(REMOVE) *.sym
 -	$(REMOVE) *.lss
 -	$(REMOVE) $(OBJ)
 -	$(REMOVE) $(LST)
 -	$(REMOVE) $(SRC:.c=.s)
 -	$(REMOVE) $(SRC:.c=.d)
 -	$(REMOVE) .dep/*
 -
 -
 -
 -# Include the dependency files.
 --include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
 -
 -
 -# Listing of phony targets.
 -.PHONY : all begin finish end sizebefore sizeafter gccversion \
 -build elf hex eep lss sym coff extcoff \
 -clean clean_list program debug gdb-config
 -
 | 
