forked from platformio/platformio-core
Merge pull request #187 from valeros/develop
Add GDB as alternative uploader to ststm32 platform // Resolve #175
This commit is contained in:
@@ -6,16 +6,37 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import platform
|
import platform
|
||||||
from os.path import join
|
from os.path import isfile, join
|
||||||
|
|
||||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||||
DefaultEnvironment, SConscript)
|
DefaultEnvironment, Exit, SConscript)
|
||||||
|
|
||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
|
|
||||||
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
|
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
|
||||||
|
|
||||||
env.Replace(
|
if env['UPLOAD_PROTOCOL'] == "gdb":
|
||||||
|
if not isfile(join(env.subst("$PROJECT_DIR"), "upload.gdb")):
|
||||||
|
Exit(
|
||||||
|
"You are using GDB as firmware uploader. "
|
||||||
|
"Please specify upload commands in upload.gdb "
|
||||||
|
"file in project directory!"
|
||||||
|
)
|
||||||
|
env.Replace(
|
||||||
|
UPLOADER=join(
|
||||||
|
"$PIOPACKAGES_DIR", "toolchain-gccarmnoneeabi",
|
||||||
|
"bin", "arm-none-eabi-gdb"
|
||||||
|
),
|
||||||
|
UPLOADERFLAGS=[
|
||||||
|
join("$BUILD_DIR", "firmware.elf"),
|
||||||
|
"-batch",
|
||||||
|
"-x", join("$PROJECT_DIR", "upload.gdb")
|
||||||
|
],
|
||||||
|
|
||||||
|
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
env.Replace(
|
||||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-stlink", "st-flash"),
|
UPLOADER=join("$PIOPACKAGES_DIR", "tool-stlink", "st-flash"),
|
||||||
UPLOADERFLAGS=[
|
UPLOADERFLAGS=[
|
||||||
"write", # write in flash
|
"write", # write in flash
|
||||||
@@ -24,7 +45,7 @@ env.Replace(
|
|||||||
],
|
],
|
||||||
|
|
||||||
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
|
UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
env.Append(
|
env.Append(
|
||||||
|
Reference in New Issue
Block a user