From 25827666f072741769346dd7c583f8a74603b697 Mon Sep 17 00:00:00 2001 From: kicer Date: Sun, 21 Dec 2025 22:31:32 +0800 Subject: [PATCH] add boot2 load address check --- Makefile | 16 +++++++++++++--- scripts/boot2.bin | Bin 402 -> 402 bytes 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f7f99a9..22eca8b 100644 --- a/Makefile +++ b/Makefile @@ -40,8 +40,11 @@ CFLAGS += --stack-auto --noinduction --use-non-free ## Disable lospre (workaround for bug 2673) #CFLAGS += --nolospre LDFLAGS = -m$(ARCH) -l$(ARCH) --out-fmt-ihx -OPTFLAGS = -Wl-bOPTION=0x4800 -Wl-bOPTION_BOOT=0x480D -B2FLAGS = -Wl-bRAM_BOOT=0x023E + +OPTION_BOOT := 0x480D +RAM_BOOT := 0x023E +OPTFLAGS = -Wl-bOPTION=0x4800 -Wl-bOPTION_BOOT=$(OPTION_BOOT) +B2FLAGS = -Wl-bRAM_BOOT=$(RAM_BOOT) # Conditionally add ENABLE_OPTION_BOOTLOADER macro ifneq ($(ENABLE_OPTION_BOOTLOADER),0) @@ -123,6 +126,13 @@ boot2: $(SCRIPTS_DIR)/boot2.s | $(BUILD_DIR) @mv $(SCRIPTS_DIR)/boot2.lst $(SCRIPTS_DIR)/boot2.rel $(SCRIPTS_DIR)/boot2.sym $(BUILD_DIR)/ 2>/dev/null || true $(CC) $(LDFLAGS) $(B2FLAGS) $(BUILD_DIR)/boot2.rel -o $(BUILD_DIR)/boot2.hex $(OBJCOPY) -I ihex --output-target=binary $(BUILD_DIR)/boot2.hex $(SCRIPTS_DIR)/boot2.bin + @# Check boot2 load address + @B2SIZE=$$(wc -c < $(SCRIPTS_DIR)/boot2.bin); \ + SIZE1K=$$(($$B2SIZE+$(RAM_BOOT)+(0x4840-$(OPTION_BOOT)-3))); \ + if [ $$SIZE1K -ne 1024 ]; then \ + echo ""; \ + echo "!!! boot2 ram address error!!! $(RAM_BOOT)"; \ + fi # Show sizes of generated binaries size: $(BUILD_DIR)/$(TARGET)$(BOOT_SUFFIX).bin $(BUILD_DIR)/option.bin @@ -168,4 +178,4 @@ help: @echo " size - Show sizes of generated binaries" @echo " help - Show this help" -.PHONY: clean all flash flash-opt flash-app size option help +.PHONY: clean all flash flash-opt flash-app size boot2 help diff --git a/scripts/boot2.bin b/scripts/boot2.bin index 7e54707092f29a440c17dfc624d57bf6e1bd6fa5..dd59d62a2207e0a04e1a3569e77fd0cee72bac30 100644 GIT binary patch literal 402 zcmYLFKTE?<5PwZxlEzj`=}>7q1hvU(g}0PKx;Q8ZkAMy}P$-=p@(G%65O8rSzQHb% zZoW8)gD4IK7b&QV7F-0O3NM4AURzO)JMQ=A?%uVmFxH35Osph)CPA8tzQ& zvU)kmIxAU5%kzQwa~}BN205p@#HKF6DETWTO|eazNcRxZvz~(VG1nMgP9Ne(Glpb@ puz?9ekTCj9-LMFs^t-H6*2xZSkv?ttP}%_6Q(EzIwCQ_!C_j`NmpK3c literal 402 zcmYLFJxjwt7{0bwKTwgEP}fDScKD4iYh3z~lraB(W$U>8X@ z@0`Rz6o-O~6x2lvE`m^n%b=*&R+JYWp0Ae|-gpJYoXxNp?#UUNAR{G9-jp19SMuly z82vbxhUjrh?)r(WblXoL>E;Z6sv4RBdJn|C1!v=fY6K{00+p3Zrx>|qt)$D(Tbk|* zN$T>w^fD%u)oZ4g#YhjTMRkMOVxON{%yLV%%&9fL;#7vhOQF!rhQZouqgq-EfWOlIM1MrInksD0zgaZ-HaAw;|-JOOV zQYp-l_Iiro!cxHhng@QUqjS8ARO})Ms=rZH=G(XdY90W!l$Qjx5w!_iTReo!mIi1D r3<)9t3