From 8477dbf65db4572d6aac07f5c732130607f31545 Mon Sep 17 00:00:00 2001
From: George Fu <nailao_5918@163.com>
Date: Wed, 3 Jun 2020 10:04:22 +0800
Subject: [PATCH] Update FYSETC STM32F103 ldscript and script (#18179)

---
 .../{fysetc_aio_ii.ld => fysetc_stm32f103rc.ld}     |  2 +-
 .../share/PlatformIO/scripts/STM32F103RC_fysetc.py  | 13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)
 rename buildroot/share/PlatformIO/ldscripts/{fysetc_aio_ii.ld => fysetc_stm32f103rc.ld} (88%)

diff --git a/buildroot/share/PlatformIO/ldscripts/fysetc_aio_ii.ld b/buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld
similarity index 88%
rename from buildroot/share/PlatformIO/ldscripts/fysetc_aio_ii.ld
rename to buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld
index f279347ee5..7122acb3b6 100644
--- a/buildroot/share/PlatformIO/ldscripts/fysetc_aio_ii.ld
+++ b/buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld
@@ -5,7 +5,7 @@
 MEMORY
 {
 	ram (rwx) : ORIGIN = 0x20000000, LENGTH = 48K
-	rom (rx)  : ORIGIN = 0x08010000, LENGTH = 256K - 40K - 4K
+	rom (rx)  : ORIGIN = 0x08010000, LENGTH = 256K - 64K
 }
 
 /* Provide memory region aliases for common.inc */
diff --git a/buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py b/buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
index 134f63d668..a66c18a5e2 100644
--- a/buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
+++ b/buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
@@ -1,14 +1,21 @@
+import os
 from os.path import join
 from os.path import expandvars
-Import("env", "projenv")
+Import("env")
 
 # Relocate firmware from 0x08000000 to 0x08010000
-# for define in env['CPPDEFINES']:
+#for define in env['CPPDEFINES']:
 #    if define[0] == "VECT_TAB_ADDR":
 #        env['CPPDEFINES'].remove(define)
-#env['CPPDEFINES'].remove(("VECT_TAB_ADDR", 134217728))
 #env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08010000"))
 
+#custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld")
+#for i, flag in enumerate(env["LINKFLAGS"]):
+#    if "-Wl,-T" in flag:
+#        env["LINKFLAGS"][i] = "-Wl,-T" + custom_ld_script
+#    elif flag == "-T":
+#        env["LINKFLAGS"][i + 1] = custom_ld_script
+
 # Custom HEX from ELF
 env.AddPostAction(
 	join("$BUILD_DIR","${PROGNAME}.elf"),
-- 
GitLab