From b958100c0b3c09ea0e79632f56a1e52afa3eaf8f Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 13 Jul 2023 11:18:16 +0700 Subject: [PATCH] simplify symbol name --- ports/mimxrt10xx/CMakeLists.txt | 2 +- ports/mimxrt10xx/Makefile | 49 +++++++++++++-------------------- ports/mimxrt10xx/family.cmake | 29 ++++++++----------- 3 files changed, 31 insertions(+), 49 deletions(-) diff --git a/ports/mimxrt10xx/CMakeLists.txt b/ports/mimxrt10xx/CMakeLists.txt index f84d9115b..9a64f7862 100644 --- a/ports/mimxrt10xx/CMakeLists.txt +++ b/ports/mimxrt10xx/CMakeLists.txt @@ -37,7 +37,7 @@ add_tinyuf2(tinyuf2) family_flash_sdp(tinyuf2) family_flash_jlink(tinyuf2 hex) -family_add_uf2(tinyuf2 ${UF2_FAMILY_ID} bin ${UF2_WRITE_ADDR}) +family_add_uf2(tinyuf2 ${UF2_FAMILY_ID} bin ${UF2_ADDR}) family_flash_uf2(tinyuf2 ${UF2_FAMILY_ID}) #------------------------------------ diff --git a/ports/mimxrt10xx/Makefile b/ports/mimxrt10xx/Makefile index 3ba312dcd..66e6f8eb4 100644 --- a/ports/mimxrt10xx/Makefile +++ b/ports/mimxrt10xx/Makefile @@ -40,57 +40,46 @@ include ../rules.mk # is RAM and the addresses need to be translated. #--------------------------------------------------------- SDP_MIMXRT1011_PID = 0x0145 -UF2_MIMXRT1011_WRITE_ADDR = 0x60000400 - SDP_MIMXRT1015_PID = 0x0130 -UF2_MIMXRT1015_WRITE_ADDR = 0x60000000 - SDP_MIMXRT1021_PID = 0x0130 -UF2_MIMXRT1021_WRITE_ADDR = 0x60000000 - SDP_MIMXRT1024_PID = 0x0130 -UF2_MIMXRT1024_WRITE_ADDR = 0x60000000 - SDP_MIMXRT1042_PID = 0x0135 -UF2_MIMXRT1042_WRITE_ADDR = 0x60000000 - SDP_MIMXRT1052_PID = 0x0130 -UF2_MIMXRT1052_WRITE_ADDR = 0x60000000 - SDP_MIMXRT1062_PID = 0x0135 -UF2_MIMXRT1062_WRITE_ADDR = 0x60000000 - SDP_MIMXRT1064_PID = 0x0135 -UF2_MIMXRT1064_WRITE_ADDR = 0x70000000 - SDP_MIMXRT1176_PID = 0x013d -UF2_MIMXRT1176_WRITE_ADDR = 0x30000000 + +UF2_MIMXRT1011_ADDR= 0x60000400 +UF2_MIMXRT1015_ADDR= 0x60000000 +UF2_MIMXRT1021_ADDR= 0x60000000 +UF2_MIMXRT1024_ADDR= 0x60000000 +UF2_MIMXRT1042_ADDR= 0x60000000 +UF2_MIMXRT1052_ADDR= 0x60000000 +UF2_MIMXRT1062_ADDR= 0x60000000 +UF2_MIMXRT1064_ADDR= 0x70000000 +UF2_MIMXRT1176_ADDR= 0x30000000 + +SDP_PID = $(SDP_$(MCU)_PID) +UF2_ADDR = $(UF2_$(MCU)_ADDR) DBL_TAP_MAGIC_ERASE_APP = 0xf5e80ab4 DBL_TAP_REG_ADDR = 0x400D410C # extract _fcfb_origin and _ivt_origin from linker file -SDP_WRITE_ADDR := $(shell sed -n 's/_fcfb_origin.*\(0x.*\);/\1/p' $(TOP)/$(PORT_DIR)/linker/$(MCU)_ram.ld) -SDP_JUMP_ADDR := $(shell sed -n 's/_ivt_origin.*\(0x.*\);/\1/p' $(TOP)/$(PORT_DIR)/linker/$(MCU)_ram.ld) +FCFB_ORIGIN := $(shell sed -n 's/_fcfb_origin.*\(0x.*\);/\1/p' $(TOP)/$(PORT_DIR)/linker/$(MCU)_ram.ld) +IVT_ORIGIN := $(shell sed -n 's/_ivt_origin.*\(0x.*\);/\1/p' $(TOP)/$(PORT_DIR)/linker/$(MCU)_ram.ld) $(BUILD)/$(OUTNAME).hex: $(BUILD)/$(OUTNAME).elf @echo CREATE $@ - $(OBJCOPY) -O ihex --change-addresses $$(( $(UF2_$(MCU)_WRITE_ADDR)-$(SDP_WRITE_ADDR) )) $^ $@ + @$(OBJCOPY) -O ihex --change-addresses $$(( $(UF2_ADDR)-$(FCFB_ORIGIN) )) $^ $@ # SDPHOST is a variable if you need to change the path SDPHOST = sdphost flash-sdp: $(BUILD)/$(OUTNAME).bin @if [ -z "$(SDPHOST)" ]; then echo SDPHOST is not found for this machine; exit 1; fi - $(SDPHOST) -u 0x1fc9,$(SDP_$(MCU)_PID) write-file $(SDP_WRITE_ADDR) $< - $(SDPHOST) -u 0x1fc9,$(SDP_$(MCU)_PID) jump-address $(SDP_JUMP_ADDR) - -# TODO write-register doesn't work -erase-app: $(BUILD)/$(OUTNAME).bin - @if [ -z "$(SDPHOST)" ]; then echo SDPHOST is not found for this machine; exit 1; fi - $(SDPHOST) -u 0x1fc9,$(SDP_$(MCU)_PID) write-register $(DBL_TAP_REG_ADDR) 32 $(DBL_TAP_MAGIC_ERASE_APP) - $(SDPHOST) -u 0x1fc9,$(SDP_$(MCU)_PID) write-file $(SDP_$(MCU)_WRITE_ADDR) $< - $(SDPHOST) -u 0x1fc9,$(SDP_$(MCU)_PID) jump-address $(SDP_$(MCU)_JUMP_ADDR) + $(SDPHOST) -u 0x1fc9,$(SDP_PID) write-file $(FCFB_ORIGIN) $< + $(SDPHOST) -u 0x1fc9,$(SDP_PID) jump-address $(IVT_ORIGIN) #-------------------------- Self-update -------------------------- # RT10xx run entire bootloader from SRAM and can directly flash @@ -101,7 +90,7 @@ self-update: $(SELF_UF2) # self-update uf2 file $(SELF_UF2): $(BUILD)/$(OUTNAME).bin @echo CREATE $@ - $(UF2CONV_PY) -f $(UF2_FAMILY_ID) -b $(UF2_$(MCU)_WRITE_ADDR) -c -o $@ $< + $(UF2CONV_PY) -f $(UF2_FAMILY_ID) -b $(UF2_ADDR) -c -o $@ $< # flash by copying uf2 flash-uf2: $(SELF_UF2) diff --git a/ports/mimxrt10xx/family.cmake b/ports/mimxrt10xx/family.cmake index 5db6008a1..102a54d23 100644 --- a/ports/mimxrt10xx/family.cmake +++ b/ports/mimxrt10xx/family.cmake @@ -31,34 +31,27 @@ set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_LIST_DIR}/../../cmake/toolchain/arm_${T # is RAM and the addresses need to be translated. #--------------------------------------------------------- set(SDP_MIMXRT1011_PID 0x0145) -set(UF2_MIMXRT1011_WRITE_ADDR 0x60000400) - set(SDP_MIMXRT1015_PID 0x0130) -set(UF2_MIMXRT1015_WRITE_ADDR 0x60000000) - set(SDP_MIMXRT1021_PID 0x0130) -set(UF2_MIMXRT1021_WRITE_ADDR 0x60000000) - set(SDP_MIMXRT1024_PID 0x0130) -set(UF2_MIMXRT1024_WRITE_ADDR 0x60000000) - set(SDP_MIMXRT1042_PID 0x0135) -set(UF2_MIMXRT1042_WRITE_ADDR 0x60000000) - set(SDP_MIMXRT1052_PID 0x0130) -set(UF2_MIMXRT1052_WRITE_ADDR 0x60000000) - set(SDP_MIMXRT1062_PID 0x0135) -set(UF2_MIMXRT1062_WRITE_ADDR 0x60000000) - set(SDP_MIMXRT1064_PID 0x0135) -set(UF2_MIMXRT1064_WRITE_ADDR 0x70000000) - set(SDP_MIMXRT1176_PID 0x013d) + +set(UF2_MIMXRT1011_WRITE_ADDR 0x60000400) +set(UF2_MIMXRT1015_WRITE_ADDR 0x60000000) +set(UF2_MIMXRT1021_WRITE_ADDR 0x60000000) +set(UF2_MIMXRT1024_WRITE_ADDR 0x60000000) +set(UF2_MIMXRT1042_WRITE_ADDR 0x60000000) +set(UF2_MIMXRT1052_WRITE_ADDR 0x60000000) +set(UF2_MIMXRT1062_WRITE_ADDR 0x60000000) +set(UF2_MIMXRT1064_WRITE_ADDR 0x70000000) set(UF2_MIMXRT1176_WRITE_ADDR 0x30000000) set(SDP_PID ${SDP_${MCU_VARIANT}_PID}) -set(UF2_WRITE_ADDR ${UF2_${MCU_VARIANT}_WRITE_ADDR}) +set(UF2_ADDR ${UF2_${MCU_VARIANT}_WRITE_ADDR}) file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/linker/${MCU_VARIANT}_ram.ld FCFB_ORIGIN REGEX "_fcfb_origin *=") file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/linker/${MCU_VARIANT}_ram.ld IVT_ORIGIN REGEX "_ivt_origin *=") @@ -128,7 +121,7 @@ endfunction() #------------------------------------ function(family_add_bin_hex TARGET) - math(EXPR HEX_OFFSET "${UF2_WRITE_ADDR} - ${FCFB_ORIGIN}") + math(EXPR HEX_OFFSET "${UF2_ADDR} - ${FCFB_ORIGIN}") add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Obinary $ $/${TARGET}.bin COMMAND ${CMAKE_OBJCOPY} -Oihex --change-addresses ${HEX_OFFSET} $ $/${TARGET}.hex