jw-pkg/make/mcu-topdir.mk
2019-02-27 10:22:24 +00:00

24 lines
903 B
Makefile

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