From 33298796339d068e4f6ec7e66110e8370241712e Mon Sep 17 00:00:00 2001 From: Martin Loren Date: Tue, 10 Dec 2024 15:22:36 +0800 Subject: [PATCH] fix --- .../at32/builder/frameworks/cmsis.py | 25 +++++++++++-------- .platformio/platforms/at32/platform.py | 5 +++- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.platformio/platforms/at32/builder/frameworks/cmsis.py b/.platformio/platforms/at32/builder/frameworks/cmsis.py index 81f2d6e..1935474 100644 --- a/.platformio/platforms/at32/builder/frameworks/cmsis.py +++ b/.platformio/platforms/at32/builder/frameworks/cmsis.py @@ -50,10 +50,20 @@ print("Version: 2024-12"); #env.SConscript("_bare.py") #print("framework: "+"framework-cmsis-" + mcu[0:8]); -#build_script = "_bare.py" -build_script = join(env.PioPlatform().get_package_dir("framework-cmsis-" + mcu[0:8]), - "tools", "platformio", "platformio-build.py") +CMSIS_DIR = platform.get_package_dir("framework-cmsis") +if mcu.startswith("at32f43"): + CMSIS_DEVICE_DIR = platform.get_package_dir("framework-cmsis-at32f43x") +else: + CMSIS_DEVICE_DIR = platform.get_package_dir("framework-cmsis-" + mcu[0:8]) +LDSCRIPTS_DIR = platform.get_package_dir("tool-ldscripts-at32") +print("Environment:"); +print(" CMSIS_DIR: "+CMSIS_DIR); +print(" CMSIS_DEVICE_DIR: "+CMSIS_DEVICE_DIR); +print(" LDSCRIPTS_DIR: "+LDSCRIPTS_DIR); +assert all(os.path.isdir(d) for d in (CMSIS_DIR, CMSIS_DEVICE_DIR, LDSCRIPTS_DIR)) +#build_script = "_bare.py" +build_script = join(CMSIS_DEVICE_DIR, "tools", "platformio", "platformio-build.py") if not isfile(build_script): sys.stderr.write("Error: Missing PlatformIO build script %s!\n" % build_script) env.Exit(1) @@ -61,14 +71,7 @@ if not isfile(build_script): SConscript(build_script) -CMSIS_DIR = platform.get_package_dir("framework-cmsis") -CMSIS_DEVICE_DIR = platform.get_package_dir("framework-cmsis-" + mcu[0:8]) -LDSCRIPTS_DIR = platform.get_package_dir("tool-ldscripts-at32") -print("Environment:"); -print(" CMSIS_DIR: "+CMSIS_DIR); -print(" CMSIS_DEVICE_DIR: "+CMSIS_DEVICE_DIR); -print(" LDSCRIPTS_DIR: "+LDSCRIPTS_DIR); -assert all(os.path.isdir(d) for d in (CMSIS_DIR, CMSIS_DEVICE_DIR, LDSCRIPTS_DIR)) + def generate_ldscript(default_ldscript_path): diff --git a/.platformio/platforms/at32/platform.py b/.platformio/platforms/at32/platform.py index 23453d6..eacda11 100644 --- a/.platformio/platforms/at32/platform.py +++ b/.platformio/platforms/at32/platform.py @@ -34,7 +34,10 @@ class At32Platform(PlatformBase): if "cmsis" in frameworks: assert build_mcu, ("Missing MCU field for %s" % board) - device_package = "framework-cmsis-" + build_mcu[0:7] + if build_mcu.startswith("at32f43"): + device_package = "framework-cmsis-at32f43x" + else: + device_package = "framework-cmsis-" + build_mcu[0:8] if device_package in self.packages: self.packages[device_package]["optional"] = False