diff --git a/ch32v003fun/ch32v003fun.ld b/ch32v003fun/ch32v003fun.ld index c05071e2ada788b4533d19785be284211b3a2f1a..982bd857ebd59b8313f522d840b822662e080b68 100644 --- a/ch32v003fun/ch32v003fun.ld +++ b/ch32v003fun/ch32v003fun.ld @@ -2,10 +2,10 @@ ENTRY( InterruptVector ) MEMORY { -#if TARGET_MCU == CH32V003 +#if TARGET_MCU_LD == 0 FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2K -#elif TARGET_MCU == CH32V10x +#elif TARGET_MCU_LD == 1 #if MCU_PACKAGE == 1 FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K @@ -15,7 +15,7 @@ MEMORY #else #error "Unknown MCU package" #endif -#elif TARGET_MCU == CH32V20x +#elif TARGET_MCU_LD == 2 #if MCU_PACKAGE == 1 FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K @@ -28,7 +28,7 @@ MEMORY #else #error "Unknown MCU package" #endif -#elif TARGET_MCU == CH32V30x +#elif TARGET_MCU_LD == 3 #if MCU_PACKAGE == 1 FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K diff --git a/ch32v003fun/ch32v003fun.mk b/ch32v003fun/ch32v003fun.mk index 7173808fa15db04603bceda83aadc44609f1f9d2..90fba970373b70390df16b7110ed2f984d47ef4d 100644 --- a/ch32v003fun/ch32v003fun.mk +++ b/ch32v003fun/ch32v003fun.mk @@ -42,6 +42,7 @@ ifeq ($(TARGET_MCU),CH32V003) -I. -Wall $(EXTRA_CFLAGS) GENERATED_LD_FILE?=$(CH32V003FUN)/generated_ch32v003.ld + TARGET_MCU_LD:=0 LINKER_SCRIPT?=$(GENERATED_LD_FILE) else ifeq ($(findstring CH32V10,$(TARGET_MCU)),CH32V10) @@ -99,10 +100,10 @@ clangd_clean : FLASH_COMMAND?=$(MINICHLINK)/minichlink -w $< $(WRITE_SECTION) -b $(GENERATED_LD_FILE) : - $(PREFIX)-gcc -E -P -x c -DTARGET_MCU=$(TARGET_MCU) $(CH32V003FUN)/ch32v003fun.ld > $(GENERATED_LD_FILE) + $(PREFIX)-gcc -E -P -x c -DTARGET_MCU=$(TARGET_MCU) -DMCU_PACKAGE=$(MCU_PACKAGE) -DTARGET_MCU_LD=$(TARGET_MCU_LD) $(CH32V003FUN)/ch32v003fun.ld > $(GENERATED_LD_FILE) -$(TARGET).elf : $(FILES_TO_COMPILE) $(LINKER_SCRIPT) +$(TARGET).elf : $(FILES_TO_COMPILE) $(LINKER_SCRIPT) $(EXTRA_ELF_DEPENDENCIES) $(PREFIX)-gcc -o $@ $(FILES_TO_COMPILE) $(CFLAGS) $(LDFLAGS) cv_flash : $(TARGET).bin diff --git a/ch32v003fun/ch32v10xfun.mk b/ch32v003fun/ch32v10xfun.mk index aaa1e4dd11e315b0ec5f30ac0997bd5ea55108d0..b5a073a0f4500cf96fd979e7c5c1ecee333f00a4 100644 --- a/ch32v003fun/ch32v10xfun.mk +++ b/ch32v003fun/ch32v10xfun.mk @@ -25,6 +25,8 @@ else ifeq ($(findstring C6, $(TARGET_MCU_PACKAGE)), C6) MCU_PACKAGE:=2 endif +TARGET_MCU_LD:=1 + GENERATED_LD_FILE:=$(CH32V003FUN)/generated_$(TARGET_MCU_PACKAGE).ld LINKER_SCRIPT:=$(GENERATED_LD_FILE) FILES_TO_COMPILE:=$(SYSTEM_C) $(TARGET).$(TARGET_EXT) $(ADDITIONAL_C_FILES) diff --git a/ch32v003fun/ch32v20xfun.mk b/ch32v003fun/ch32v20xfun.mk index f88a9c36d6cc2a6c30862b0035fb1b2d37d42d8d..eb9e8fee42896e976597cdf3ce8ecb5988fc0cb0 100644 --- a/ch32v003fun/ch32v20xfun.mk +++ b/ch32v003fun/ch32v20xfun.mk @@ -52,6 +52,8 @@ else CFLAGS+=-DCH32V20x_D6 endif +TARGET_MCU_LD:=2 + GENERATED_LD_FILE:=$(CH32V003FUN)/generated_$(TARGET_MCU_PACKAGE).ld LINKER_SCRIPT:=$(GENERATED_LD_FILE) FILES_TO_COMPILE:=$(SYSTEM_C) $(TARGET).$(TARGET_EXT) $(ADDITIONAL_C_FILES) diff --git a/ch32v003fun/ch32v30xfun.mk b/ch32v003fun/ch32v30xfun.mk index a937bc0418fb2570ab4b8cd805febd6d58377f75..0b1600c1c7da18c8ed87aa871bfc6d93690196c3 100644 --- a/ch32v003fun/ch32v30xfun.mk +++ b/ch32v003fun/ch32v30xfun.mk @@ -38,6 +38,8 @@ else CFLAGS+=-DCH32V30x_D8C endif +TARGET_MCU_LD:=3 + GENERATED_LD_FILE:=$(CH32V003FUN)/generated_$(TARGET_MCU_PACKAGE).ld LINKER_SCRIPT:=$(GENERATED_LD_FILE) FILES_TO_COMPILE:=$(SYSTEM_C) $(TARGET).$(TARGET_EXT) $(ADDITIONAL_C_FILES)