mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
mcu-defs.mk, mcu-topdir.mk: Add mcu-defs.mk and mcu-topdir.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
2061d731f5
commit
6518acdb5a
2 changed files with 76 additions and 0 deletions
52
make/mcu-defs.mk
Normal file
52
make/mcu-defs.mk
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#PROJECT ?= $(shell cd $(TOPDIR); /bin/pwd | xargs notdir)
|
||||
|
||||
#define mcu_check_var
|
||||
# ifeq ($($(1)),)
|
||||
# $(error $(1) not specified)
|
||||
# endif
|
||||
#endef
|
||||
|
||||
ifeq ($(MCU_BOARD_MODEL),)
|
||||
error MCU_BOARD_MODEL not specified
|
||||
endif
|
||||
|
||||
ifeq ($(MCU_FLASH_OFFSET),)
|
||||
error MCU_FLASH_OFFSET not specified
|
||||
endif
|
||||
|
||||
ifeq ($(MCU_FLASH_SIZE),)
|
||||
error MCU_FLASH_SIZE not specified
|
||||
endif
|
||||
|
||||
MCU_BOARD_MODEL_LC ?= $(shell echo $(MCU_BOARD_MODEL) | tr '[A-Z]' '[a-z]')
|
||||
MCU_BOARD ?= $(MCU_BOARD_MODEL)
|
||||
MCU_BOARD_LC ?= $(shell echo $(MCU_BOARD) | tr '[A-Z]' '[a-z]')
|
||||
|
||||
MCU_OPENOCD_CFG_FILE ?= $(TOPDIR)/make/openocd-$(MCU_BOARD_LC).cfg
|
||||
MCU_OPENOCD_OPTS ?= -f $(MCU_OPENOCD_CFG_FILE) -c "echo \"Started by jw-build\"" -c "gdb_port 3333" -c "telnet_port 4444" -c "tcl_port 6666"
|
||||
MCU_OPENOCD_BIN ?= openocd
|
||||
MCU_OPENOCD ?= $(MCU_OPENOCD_BIN) $(MCU_OPENOCD_OPTS)
|
||||
|
||||
MCU_FLASH_FETCH_BANK ?= $(MCU_FLASH_BANK)
|
||||
MCU_FLASH_FETCH_FILE_BIN ?= $(MCU_FLASH_FILE_BIN)
|
||||
MCU_FLASH_FETCH_FILE_HEX ?= $(MCU_FLASH_FILE_HEX)
|
||||
MCU_FLASH_FETCH_OFFSET ?= $(MCU_FLASH_OFFSET)
|
||||
MCU_FLASH_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
|
||||
MCU_FLASH_PUSH_BANK ?= $(MCU_FLASH_BANK)
|
||||
MCU_FLASH_PUSH_FILE_BIN ?= $(MCU_FLASH_FILE_BIN)
|
||||
MCU_FLASH_PUSH_FILE_HEX ?= $(MCU_FLASH_FILE_HEX)
|
||||
MCU_FLASH_PUSH_OFFSET ?= $(MCU_FLASH_OFFSET)
|
||||
MCU_FLASH_PUSH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
|
||||
TOOLCHAIN_PREFIX ?= arm-none-eabi-
|
||||
MCU_OBJCOPY ?= $(TOOLCHAIN_PREFIX)objcopy
|
||||
MCU_FLASH_BANK ?= 0
|
||||
MCU_FLASH_FILE_BIN ?= $(TOPDIR)/bin/$(MCU_BOARD_LC).bin
|
||||
MCU_FLASH_FILE_HEX ?= $(TOPDIR)/bin/$(MCU_BOARD_LC).hex
|
||||
#MCU_FLASH_OFFSET ?= 0x0000000
|
||||
#MCU_FLASH_SIZE ?= 0x5000
|
||||
|
||||
ifneq ($(MCU_FLASH_FETCH_OFFSET),)
|
||||
MCU_OBJCOPY_FETCH_OPTS += --change-addresses $(MCU_FLASH_FETCH_OFFSET)
|
||||
endif
|
||||
24
make/mcu-topdir.mk
Normal file
24
make/mcu-topdir.mk
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
include $(MODDIR)/make/mcu-defs.mk
|
||||
include $(MODDIR)/make/topdir.mk
|
||||
|
||||
.PHONY: flash-fetch flash-push flash-clean-fetch flash-clean-push
|
||||
|
||||
all:
|
||||
|
||||
flash-fetch: $(MCU_FLASH_FETCH_FILE_HEX)
|
||||
clean: flash-clean-fetch
|
||||
flash-clean-fetch:
|
||||
rm -f $(MCU_FLASH_FETCH_FILE_BIN) $(MCU_FLASH_FETCH_FILE_HEX) *.tmp
|
||||
flash-clean-push:
|
||||
rm -f $(MCU_FLASH_PUSH_FILE_BIN) $(MCU_FLASH_PUSH_FILE_HEX) *.tmp
|
||||
$(MCU_FLASH_FETCH_FILE_BIN):
|
||||
$(MCU_OPENOCD) -c "init" -c "reset init" -c "flash read_bank $(MCU_FLASH_FETCH_BANK) $@.tmp $(MCU_FLASH_FETCH_OFFSET) $(MCU_FLASH_FETCH_SIZE)" -c "exit"
|
||||
mv $@.tmp $@
|
||||
%.hex: %.bin
|
||||
$(MCU_OBJCOPY) $(MCU_OBJCOPY_FETCH_OPTS) -I binary -O ihex $< $@.tmp
|
||||
mv $@.tmp $@
|
||||
flash-push:
|
||||
# see http://openocd.org/doc/html/Flash-Programming.html
|
||||
$(MCU_OPENOCD) -c "program $(MCU_FLASH_PUSH_FILE_HEX) verify reset exit $(MCU_FLASH_PUSH_OFFSET)"
|
||||
%-flash-push:
|
||||
MCU_FLASH_PUSH_FILE_HEX=$* make flash-push
|
||||
Loading…
Add table
Add a link
Reference in a new issue