Ajout FishPeper
This commit is contained in:
85
OpenSky_BL/Makefile
Normal file
85
OpenSky_BL/Makefile
Normal file
@@ -0,0 +1,85 @@
|
||||
BOOTLOADER_SIZE = 0x0C00 #use 3 pages for bootloader (1 page = 0x400)
|
||||
|
||||
FLASH_SIZE ?= 0x4000 #default to 16k flash
|
||||
FLASH_PAGESIZE ?= 0x400 #1k page size for all targets
|
||||
|
||||
CC = sdcc
|
||||
|
||||
#set some flags depending on the target
|
||||
CFLAGS = -DBOOTLOADER_SIZE=$(BOOTLOADER_SIZE)
|
||||
CFLAGS += -DFLASH_SIZE=$(FLASH_SIZE)
|
||||
CFLAGS += -DFLASH_PAGESIZE=$(FLASH_PAGESIZE)
|
||||
|
||||
#allow a custom config file to be passed
|
||||
CONFIG_INCLUDE_DIR ?= default
|
||||
CFLAGS += -I $(CONFIG_INCLUDE_DIR)
|
||||
|
||||
SDCC_FLAGS = --model-small --opt-code-speed -I /usr/share/sdcc/include $(CFLAGS)
|
||||
LDFLAGS_FLASH = \
|
||||
--out-fmt-ihx \
|
||||
--code-loc 0x000 --code-size $(BOOTLOADER_SIZE) \
|
||||
--xram-loc 0xf000 --xram-size 0x7FF \
|
||||
--iram-size 0x100
|
||||
|
||||
AS = sdas8051
|
||||
ASFLAGS = -plosgff
|
||||
|
||||
#programmer binary
|
||||
CC_TOOL ?= cc-tool
|
||||
|
||||
ifdef DEBUG
|
||||
CFLAGS += --debug
|
||||
endif
|
||||
|
||||
SRC = main.c uart.c delay.c flash.c io.c
|
||||
|
||||
ADB=$(SRC:.c=.adb)
|
||||
ASM=$(SRC:.c=.asm)
|
||||
LNK=$(SRC:.c=.lnk)
|
||||
LST=$(SRC:.c=.lst)
|
||||
REL=$(SRC:.c=.rel)
|
||||
RST=$(SRC:.c=.rst)
|
||||
SYM=$(SRC:.c=.sym)
|
||||
BL_TARGET=bootloader
|
||||
|
||||
PCDB=$(PROGS:.hex=.cdb)
|
||||
PLNK=$(PROGS:.hex=.lnk)
|
||||
PMAP=$(PROGS:.hex=.map)
|
||||
PMEM=$(PROGS:.hex=.mem)
|
||||
PAOM=$(PROGS:.hex=)
|
||||
HEADER=$(wildcard *.h)
|
||||
|
||||
all: stylecheck $(BL_TARGET).hex
|
||||
|
||||
stylecheck: $(HEADER) $(SRC)
|
||||
ifdef STYLECHECK_DISABLED
|
||||
@echo "stylecheck disabled by parameter"
|
||||
else
|
||||
./stylecheck/cpplint.py \
|
||||
--filter=-build/include,-build/storage_class,-readability/casting,-runtime/arrays \
|
||||
--extensions="h,c" --linelength=100 $(HEADER) $(SRC) || true
|
||||
endif
|
||||
|
||||
startup.rel : startup.s
|
||||
@cpp -P $(CFLAGS) $< > $<_preprocessed
|
||||
$(AS) $(ASFLAGS) $<_preprocessed
|
||||
|
||||
%.rel : %.c
|
||||
$(CC) -c $(SDCC_FLAGS) -o$*.rel $<
|
||||
|
||||
$(BL_TARGET).hex: startup.rel $(REL) Makefile
|
||||
$(CC) $(LDFLAGS_FLASH) $(SDCC_FLAGS) -o $(BL_TARGET).hex $(REL) startup.rel
|
||||
|
||||
$(BL_TARGET).bin: $(BL_TARGET).hex
|
||||
@objcopy -Iihex -Obinary $(BL_TARGET).hex $(BL_TARGET).bin
|
||||
|
||||
clean:
|
||||
@rm -f startup.rel
|
||||
@rm -f $(ADB) $(ASM) $(LNK) $(LST) $(REL) $(RST) $(SYM)
|
||||
@rm -f $(BL_TARGET) $(PCDB) $(PLNK) $(PMAP) $(PMEM) $(PAOM)
|
||||
@rm -f *_preprocessed
|
||||
|
||||
flash: $(BL_TARGET).hex
|
||||
$(CC_TOOL) -f -e -w $(BL_TARGET).hex
|
||||
|
||||
.PHONY: stylecheck clean flash
|
||||
Reference in New Issue
Block a user