forked from platformio/platformio-core
Fix optional board "extra_flags" and "ldscript"
This commit is contained in:
@ -84,15 +84,6 @@ if "BOARD" in env:
|
||||
env.Replace(UPLOAD_PROTOCOL="${BOARD_OPTIONS['upload']['protocol']}")
|
||||
if "UPLOAD_SPEED" not in env:
|
||||
env.Replace(UPLOAD_SPEED="${BOARD_OPTIONS['upload']['speed']}")
|
||||
# specific linker script
|
||||
if "ldscript" in env.get("BOARD_OPTIONS", {}).get("build", {}):
|
||||
env.Replace(
|
||||
LINKFLAGS=["-T", join(
|
||||
"$PIOHOME_DIR", "packages", "ldscripts",
|
||||
"${BOARD_OPTIONS['build']['ldscript']}")]
|
||||
)
|
||||
if "extra_flags" in env.get("BOARD_OPTIONS", {}).get("build", {}):
|
||||
env.MergeFlags(env.subst("${BOARD_OPTIONS['build']['extra_flags']}"))
|
||||
|
||||
if "IGNORE_LIBS" in env:
|
||||
env['IGNORE_LIBS'] = [l.strip() for l in env['IGNORE_LIBS'].split(",")]
|
||||
|
@ -156,8 +156,8 @@ merge_ld_scripts(ldscript_path)
|
||||
generate_nvic_files()
|
||||
|
||||
# override ldscript by opencm3
|
||||
assert env['LINKFLAGS'][0] == "-T"
|
||||
env['LINKFLAGS'][1] = ldscript_path
|
||||
assert "-T" in env['LINKFLAGS']
|
||||
env['LINKFLAGS'][env['LINKFLAGS'].index("-T") + 1] = ldscript_path
|
||||
|
||||
libs = []
|
||||
env.VariantDir(
|
||||
|
@ -50,7 +50,7 @@ if "STM32F40_41xxx" in extra_flags:
|
||||
elif "STM32F303xC" in extra_flags:
|
||||
ignore_files += ["stm32f30x_hrtim.c"]
|
||||
elif "STM32L1XX_MD" in extra_flags:
|
||||
ignore_files += ["stm32l1xx_flash_ramfunc.c"] # removed warning
|
||||
ignore_files += ["stm32l1xx_flash_ramfunc.c"]
|
||||
|
||||
libs = []
|
||||
libs.append(envsafe.BuildLibrary(
|
||||
|
@ -48,6 +48,20 @@ env.Replace(
|
||||
"-fno-exceptions"
|
||||
],
|
||||
|
||||
CPPDEFINES=[
|
||||
"F_CPU=$BOARD_F_CPU",
|
||||
"${BOARD_OPTIONS['build']['variant'].upper()}"
|
||||
],
|
||||
|
||||
LINKFLAGS=[
|
||||
"-Os",
|
||||
"-nostartfiles",
|
||||
"-nostdlib",
|
||||
"-Wl,--gc-sections",
|
||||
"-mthumb",
|
||||
"-mcpu=${BOARD_OPTIONS['build']['mcu']}"
|
||||
],
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-stlink", "st-flash"),
|
||||
UPLOADERFLAGS=[
|
||||
"write", # write in flash
|
||||
@ -58,25 +72,6 @@ env.Replace(
|
||||
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
|
||||
)
|
||||
|
||||
|
||||
env.Append(
|
||||
CPPDEFINES=[
|
||||
"F_CPU=$BOARD_F_CPU",
|
||||
"${BOARD_OPTIONS['build']['variant'].upper()}"
|
||||
]
|
||||
)
|
||||
|
||||
env.Append(
|
||||
LINKFLAGS=[
|
||||
"-Os",
|
||||
"-nostartfiles",
|
||||
"-nostdlib",
|
||||
"-Wl,--gc-sections",
|
||||
"-mthumb",
|
||||
"-mcpu=${BOARD_OPTIONS['build']['mcu']}"
|
||||
]
|
||||
)
|
||||
|
||||
if env.get("BOARD_OPTIONS", {}).get("build", {}).get("mcu")[-2:] == "m4":
|
||||
env.Append(
|
||||
ASFLAGS=[
|
||||
|
@ -59,11 +59,6 @@ env.Replace(
|
||||
"F_CPU=$BOARD_F_CPU"
|
||||
],
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-lm4flash", "lm4flash"),
|
||||
UPLOADCMD="$UPLOADER $SOURCES"
|
||||
)
|
||||
|
||||
env.Append(
|
||||
LINKFLAGS=[
|
||||
"-Os",
|
||||
"-nostartfiles",
|
||||
@ -74,7 +69,10 @@ env.Append(
|
||||
"-mfloat-abi=hard",
|
||||
"-mfpu=fpv4-sp-d16",
|
||||
"-fsingle-precision-constant"
|
||||
]
|
||||
],
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-lm4flash", "lm4flash"),
|
||||
UPLOADCMD="$UPLOADER $SOURCES"
|
||||
)
|
||||
|
||||
env.Append(
|
||||
|
@ -16,6 +16,16 @@ from platformio.util import get_serialports
|
||||
|
||||
def ProcessGeneral(env):
|
||||
corelibs = []
|
||||
# specific linker script
|
||||
if "ldscript" in env.get("BOARD_OPTIONS", {}).get("build", {}):
|
||||
env.Append(
|
||||
LINKFLAGS=["-T", join(
|
||||
"$PIOHOME_DIR", "packages", "ldscripts",
|
||||
"${BOARD_OPTIONS['build']['ldscript']}")]
|
||||
)
|
||||
if "extra_flags" in env.get("BOARD_OPTIONS", {}).get("build", {}):
|
||||
env.MergeFlags(env.subst("${BOARD_OPTIONS['build']['extra_flags']}"))
|
||||
|
||||
if "BUILD_FLAGS" in env:
|
||||
env.MergeFlags(env['BUILD_FLAGS'])
|
||||
|
||||
|
Reference in New Issue
Block a user