jw-pkg/make/mcu-flash.mk
Jan Lindemann 4216943215 mcu-defs.mk, mcu-flash.mk: Ongoing improvements
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-12 11:38:19 +00:00

27 lines
961 B
Makefile

.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: %.elf
$(OBJCOPY) -O ihex $< $@.tmp
mv $@.tmp $@
clean: flash-clean-hex
flash-clean-hex:
rm -rf $(MCU_FLASH_PUSH_FILE_HEX)
%.hex: %.bin
$(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