📄 makefile
字号:
# Makefile for ATmegaBOOT# E.Lins, 18.7.2005# versionBUILD = 051110# program name should not be changed...PROGRAM = ATmegaBOOT# enter the product name for which you want to build the bootloader/monitor#PRODUCT = CRUMB8#PRODUCT = CRUMB128#PRODUCT = CRUMB168#PRODUCT = PROBOMEGA128#PRODUCT = SAVVY128PRODUCT = MEGA16# enter the target CPU frequency#AVR_FREQ = F3686400AVR_FREQ = F7372800#AVR_FREQ = F8000000#AVR_FREQ = F14745600#AVR_FREQ = F16000000#AVR_FREQ = F20000000# enter the parameters for the UISP isp tool# for an stk500 at com1ISPTOOL = stk500ISPPORT = com1ISPSPEED = -b 115200# or an stk200 at lpt1#ISPTOOL = stk200#ISPPORT = lpt1#ISPSPEED = ############################################################# You should not have to change anything below here.############################################################ifeq ($(PRODUCT),MEGA8)MCU_TARGET = atmega8LDSECTION = --section-start=.text=0x1800ISPFUSES = avrdude -c $(ISPTOOL) -p m8 -P $(ISPPORT) $(ISPSPEED) -u -U hfuse:w:0xc8:m -U lfuse:w:0xdf:mISPFLASH = avrdude -c $(ISPTOOL) -p m8 -P $(ISPPORT) $(ISPSPEED) -V -U flash:w:$(PROGRAM)_$(PRODUCT)_$(BUILD).hexendififeq ($(PRODUCT),CRUMB168)MCU_TARGET = atmega168LDSECTION = --section-start=.text=0x3800ISPFUSES = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -u -U efuse:w:0xf8:m -U hfuse:w:0xd7:m -U lfuse:w:0xaf:mISPFLASH = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -V -U flash:w:$(PROGRAM)_$(PRODUCT)_$(BUILD).hexendififeq ($(PRODUCT),MEGA16)MCU_TARGET = atmega16LDSECTION = --section-start=.text=0x3800ISPFUSES = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -u -U efuse:w:0xf8:m -U hfuse:w:0xd7:m -U lfuse:w:0xaf:mISPFLASH = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -V -U flash:w:$(PROGRAM)_$(PRODUCT)_$(BUILD).hexendififeq ($(PRODUCT),CRUMB128)MCU_TARGET = atmega128LDSECTION = --section-start=.text=0x1E000ISPFUSES = avrdude -c $(ISPTOOL) -p m128 -P $(ISPPORT) $(ISPSPEED) -u -U efuse:w:0xff:m -U hfuse:w:0xc8:m -U lfuse:w:0xdf:mISPFLASH = avrdude -c $(ISPTOOL) -p m128 -P $(ISPPORT) $(ISPSPEED) -V -U flash:w:$(PROGRAM)_$(PRODUCT)_$(BUILD).hexendififeq ($(PRODUCT),PROBOMEGA128)MCU_TARGET = atmega128LDSECTION = --section-start=.text=0x1E000ISPFUSES = avrdude -c $(ISPTOOL) -p m128 -P $(ISPPORT) $(ISPSPEED) -u -U efuse:w:0xff:m -U hfuse:w:0xc8:m -U lfuse:w:0xdf:mISPFLASH = avrdude -c $(ISPTOOL) -p m128 -P $(ISPPORT) $(ISPSPEED) -V -U flash:w:$(PROGRAM)_$(PRODUCT)_$(BUILD).hexendififeq ($(PRODUCT),SAVVY128)MCU_TARGET = atmega128LDSECTION = --section-start=.text=0x1E000ISPFUSES = avrdude -c $(ISPTOOL) -p m128 -P $(ISPPORT) $(ISPSPEED) -u -U efuse:w:0xff:m -U hfuse:w:0xd8:m -U lfuse:w:0xe4:mISPFLASH = avrdude -c $(ISPTOOL) -p m128 -P $(ISPPORT) $(ISPSPEED) -V -U flash:w:$(PROGRAM)_$(PRODUCT)_$(BUILD).hexendifOBJ = $(PROGRAM).oOPTIMIZE = -O2DEFS =LIBS =CC = avr-gcc# Override is only needed by avr-lib build system.override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -D$(PRODUCT) -D$(AVR_FREQ) $(DEFS)override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION)OBJCOPY = avr-objcopyOBJDUMP = avr-objdumpall: $(PROGRAM).elf lst textisp: $(PROGRAM).hex $(ISPFUSES) $(ISPFLASH)$(PROGRAM).elf: $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)clean: rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep rm -rf $(PROGRAM).hex $(PROGRAM).srec $(PROGRAM).binlst: $(PROGRAM).lst%.lst: %.elf $(OBJDUMP) -h -S $< > $@# Rules for building the .text rom imagestext: hex bin srechex: $(PROGRAM).hexbin: $(PROGRAM).binsrec: $(PROGRAM).srec%.hex: %.elf $(OBJCOPY) -j .text -j .data -O ihex $< $@ cp $@ $(PROGRAM)_$(PRODUCT)_$(AVR_FREQ)_$(BUILD).hex%.srec: %.elf $(OBJCOPY) -j .text -j .data -O srec $< $@ cp $@ $(PROGRAM)_$(PRODUCT)_$(AVR_FREQ)_$(BUILD).srec%.bin: %.elf $(OBJCOPY) -j .text -j .data -O binary $< $@ cp $@ $(PROGRAM)_$(PRODUCT)_$(AVR_FREQ)_$(BUILD).bin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -