mirror of
https://github.com/martinloren/Artery-AT32-PlatformIO.git
synced 2026-05-21 01:12:07 +00:00
updated
This commit is contained in:
@@ -24,7 +24,7 @@ env.Append(
|
|||||||
ASFLAGS=["-x", "assembler-with-cpp"],
|
ASFLAGS=["-x", "assembler-with-cpp"],
|
||||||
|
|
||||||
CCFLAGS=[
|
CCFLAGS=[
|
||||||
"-Os", # optimize for size
|
"-O3", # optimize for size
|
||||||
"-ffunction-sections", # place each function in its own section
|
"-ffunction-sections", # place each function in its own section
|
||||||
"-fdata-sections",
|
"-fdata-sections",
|
||||||
"-Wall",
|
"-Wall",
|
||||||
@@ -41,7 +41,7 @@ env.Append(
|
|||||||
],
|
],
|
||||||
|
|
||||||
LINKFLAGS=[
|
LINKFLAGS=[
|
||||||
"-Os",
|
"-O3",
|
||||||
"-Wl,--gc-sections,--relax",
|
"-Wl,--gc-sections,--relax",
|
||||||
"-mthumb",
|
"-mthumb",
|
||||||
],
|
],
|
||||||
@@ -50,14 +50,15 @@ env.Append(
|
|||||||
)
|
)
|
||||||
|
|
||||||
#Floating point unit: hard (hardware) | softfp (software)
|
#Floating point unit: hard (hardware) | softfp (software)
|
||||||
if (
|
|
||||||
any(cpu in board_config.get("build.cpu") for cpu in ("cortex-m4"))
|
#if (
|
||||||
):
|
# any(cpu in board_config.get("build.cpu") for cpu in ("cortex-m4"))
|
||||||
env.Append(
|
#):
|
||||||
CFLAGS=["-mfpu=fpv4-sp-d16", "-mfloat-abi=hard"],
|
# env.Append(
|
||||||
CCFLAGS=["-mfpu=fpv4-sp-d16", "-mfloat-abi=hard"],
|
# CFLAGS=["-mfpu=fpv4-sp-d16", "-mfloat-abi=hard"],
|
||||||
LINKFLAGS=["-mfpu=fpv4-sp-d16", "-mfloat-abi=hard"],
|
# CCFLAGS=["-mfpu=fpv4-sp-d16", "-mfloat-abi=hard"],
|
||||||
)
|
# LINKFLAGS=["-mfpu=fpv4-sp-d16", "-mfloat-abi=hard", "-u _printf_float"],
|
||||||
|
# )
|
||||||
|
|
||||||
if "BOARD" in env:
|
if "BOARD" in env:
|
||||||
env.Append(
|
env.Append(
|
||||||
|
|||||||
@@ -45,10 +45,8 @@ assert product_line, "Missing MCU or Product Line field"
|
|||||||
print("-------------------------------------------------------------------------------");
|
print("-------------------------------------------------------------------------------");
|
||||||
print("AT32 PlatformIO porting by MartinLoren®");
|
print("AT32 PlatformIO porting by MartinLoren®");
|
||||||
print("-------------------------------------------------------------------------------");
|
print("-------------------------------------------------------------------------------");
|
||||||
print("Version: 2024-12");
|
print("Version: 2025-05");
|
||||||
|
|
||||||
#env.SConscript("_bare.py")
|
|
||||||
#print("framework: "+"framework-cmsis-" + mcu[0:8]);
|
|
||||||
|
|
||||||
CMSIS_DIR = platform.get_package_dir("framework-cmsis")
|
CMSIS_DIR = platform.get_package_dir("framework-cmsis")
|
||||||
if mcu.startswith("at32f43"):
|
if mcu.startswith("at32f43"):
|
||||||
@@ -56,13 +54,20 @@ if mcu.startswith("at32f43"):
|
|||||||
else:
|
else:
|
||||||
CMSIS_DEVICE_DIR = platform.get_package_dir("framework-cmsis-" + mcu[0:8])
|
CMSIS_DEVICE_DIR = platform.get_package_dir("framework-cmsis-" + mcu[0:8])
|
||||||
LDSCRIPTS_DIR = platform.get_package_dir("tool-ldscripts-at32")
|
LDSCRIPTS_DIR = platform.get_package_dir("tool-ldscripts-at32")
|
||||||
|
#CMSIS_DIR = platform.get_package_dir("framework-cmsis")
|
||||||
|
#CMSIS_DEVICE_DIR = platform.get_package_dir("framework-cmsis-" + mcu[0:7])
|
||||||
|
#LDSCRIPTS_DIR = join('%s' % platform.get_dir() or "", "ldscripts")
|
||||||
print("Environment:");
|
print("Environment:");
|
||||||
print(" CMSIS_DIR: "+CMSIS_DIR);
|
print(" CMSIS_DIR: "+CMSIS_DIR);
|
||||||
print(" CMSIS_DEVICE_DIR: "+CMSIS_DEVICE_DIR);
|
print(" CMSIS_DEVICE_DIR: "+CMSIS_DEVICE_DIR);
|
||||||
print(" LDSCRIPTS_DIR: "+LDSCRIPTS_DIR);
|
print(" LDSCRIPTS_DIR: "+LDSCRIPTS_DIR);
|
||||||
assert all(os.path.isdir(d) for d in (CMSIS_DIR, CMSIS_DEVICE_DIR, LDSCRIPTS_DIR))
|
assert all(os.path.isdir(d) for d in (CMSIS_DIR, CMSIS_DEVICE_DIR, LDSCRIPTS_DIR))
|
||||||
|
|
||||||
|
|
||||||
|
#env.SConscript("_bare.py")
|
||||||
#build_script = "_bare.py"
|
#build_script = "_bare.py"
|
||||||
|
|
||||||
|
#build_script = join(env.PioPlatform().get_package_dir("framework-cmsis-" + mcu[0:7]), "tools", "platformio", "platformio-build.py")
|
||||||
build_script = join(CMSIS_DEVICE_DIR, "tools", "platformio", "platformio-build.py")
|
build_script = join(CMSIS_DEVICE_DIR, "tools", "platformio", "platformio-build.py")
|
||||||
if not isfile(build_script):
|
if not isfile(build_script):
|
||||||
sys.stderr.write("Error: Missing PlatformIO build script %s!\n" % build_script)
|
sys.stderr.write("Error: Missing PlatformIO build script %s!\n" % build_script)
|
||||||
@@ -71,9 +76,6 @@ if not isfile(build_script):
|
|||||||
SConscript(build_script)
|
SConscript(build_script)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def generate_ldscript(default_ldscript_path):
|
def generate_ldscript(default_ldscript_path):
|
||||||
ram = board.get("upload.maximum_ram_size", 0)
|
ram = board.get("upload.maximum_ram_size", 0)
|
||||||
flash = board.get("upload.maximum_size", 0)
|
flash = board.get("upload.maximum_size", 0)
|
||||||
@@ -93,9 +95,9 @@ def generate_ldscript(default_ldscript_path):
|
|||||||
def get_linker_script():
|
def get_linker_script():
|
||||||
ldscript_match = glob.glob(os.path.join(
|
ldscript_match = glob.glob(os.path.join(
|
||||||
LDSCRIPTS_DIR, mcu[0:7], mcu[0:11].upper() + "*_FLASH.ld"))
|
LDSCRIPTS_DIR, mcu[0:7], mcu[0:11].upper() + "*_FLASH.ld"))
|
||||||
#print(os.path.join(LDSCRIPTS_DIR, mcu[0:7], mcu[0:11].upper() + "*_FLASH.ld"))
|
|
||||||
|
|
||||||
if ldscript_match and os.path.isfile(ldscript_match[0]):
|
if ldscript_match and os.path.isfile(ldscript_match[0]):
|
||||||
|
print("LD Script file: " +ldscript_match[0])
|
||||||
return ldscript_match[0]
|
return ldscript_match[0]
|
||||||
|
|
||||||
default_ldscript = os.path.join(
|
default_ldscript = os.path.join(
|
||||||
@@ -111,7 +113,7 @@ def get_linker_script():
|
|||||||
|
|
||||||
|
|
||||||
def prepare_startup_file(src_path):
|
def prepare_startup_file(src_path):
|
||||||
startup_file = os.path.join(src_path, "gcc", "startup_%s.S" % product_line.lower())
|
startup_file = os.path.join(src_path, "gcc", "startup_%s.s" % product_line.lower())
|
||||||
print("Startup file: " + startup_file)
|
print("Startup file: " + startup_file)
|
||||||
# Change file extension to uppercase:
|
# Change file extension to uppercase:
|
||||||
if not os.path.isfile(startup_file) and os.path.isfile(startup_file[:-2] + ".s"):
|
if not os.path.isfile(startup_file) and os.path.isfile(startup_file[:-2] + ".s"):
|
||||||
|
|||||||
@@ -235,13 +235,14 @@ elif upload_protocol == "serial":
|
|||||||
__configure_upload_port=__configure_upload_port,
|
__configure_upload_port=__configure_upload_port,
|
||||||
UPLOADER=join(
|
UPLOADER=join(
|
||||||
'%s' % platform.get_dir() or "",
|
'%s' % platform.get_dir() or "",
|
||||||
"tools", "stm32flash", "stm32flash"),
|
"tools", "at32flash", "at32flash"),
|
||||||
UPLOADERFLAGS=[
|
UPLOADERFLAGS=[
|
||||||
"-g", board.get("upload.offset_address", "0x08000000"),
|
"-g", board.get("upload.offset_address", "0x08000000"),
|
||||||
"-b", env.subst("$UPLOAD_SPEED") or "115200", "-w"
|
"-b", env.subst("$UPLOAD_SPEED") or "115200", "-w"
|
||||||
],
|
],
|
||||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCE ${__configure_upload_port(__env__)}'
|
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCE ${__configure_upload_port(__env__)}'
|
||||||
)
|
)
|
||||||
|
#print(env.subst("$UPLOADCMD"))
|
||||||
|
|
||||||
upload_actions = [
|
upload_actions = [
|
||||||
env.VerboseAction(env.AutodetectUploadPort, "Looking for upload port..."),
|
env.VerboseAction(env.AutodetectUploadPort, "Looking for upload port..."),
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/platformio/platform-at32.git"
|
"url": "https://github.com/platformio/platform-at32.git"
|
||||||
},
|
},
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"cmsis": {
|
"cmsis": {
|
||||||
"package": "framework-cmsis",
|
"package": "framework-cmsis",
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"optional": false,
|
"optional": false,
|
||||||
"owner": "martinloren",
|
"owner": "martinloren",
|
||||||
"version": "https://github.com/martinloren/framework-cmsis-at32f43x.git"
|
"version": "https://github.com/martinloren/framework-cmsis-at32f43x.git"
|
||||||
},
|
},
|
||||||
"tool-openocd": {
|
"tool-openocd": {
|
||||||
"type": "uploader",
|
"type": "uploader",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user