Esempio n. 1
0
elif _platform == "darwin":
    uploadPlatform = "macosx"
elif _platform == "win32":
    uploadPlatform = "win"

# maple_dfu uses the same code that dfu to keep things as simple as posible
if env.subst("$UPLOAD_PROTOCOL") == "dfu" or env.subst(
        "$UPLOAD_PROTOCOL") == "maple_dfu":
    uploadProtocol = "maple_upload"
    usbids = env.BoardConfig().get("upload.usbid", "")
    usbid = '%s:%s' % (usbids[0], usbids[1])
    env.Replace(UPLOADERFLAGS=usbid)
    uploadParams = usbid

env.Replace(
    UPLOADER=join(env.DevPlatform().get_package_dir("framework-stm32duino"),
                  "tools", uploadPlatform, uploadProtocol),
    UPLOADERFLAGS=["$UPLOAD_PORT"],
    UPLOADERPARAMS=uploadParams,
    UPLOADCMD='$UPLOADER $UPLOADERFLAGS $UPLOADERPARAMS $PROJECT_DIR/$SOURCES')

#
# Target: Build executable and linkable firmware
#

target_elf = env.BuildProgram()

#
# Target: Build the .bin file
#
Esempio n. 2
0
STM32duino

STM32 Arduino Wiring-based Framework allows writing cross-platform software to
control devices attached to a wide range of Arduino boards to create all
kinds of creative coding, interactive objects, spaces or physical experiences.

http://www.stm32duino.com
"""

from os import walk
from os.path import isdir, isfile, join

from SCons.Script import DefaultEnvironment

env = DefaultEnvironment()
platform = env.DevPlatform()

if "stm32f103" in env.BoardConfig().get("build.mcu", ""):
    FRAMEWORK_DIR = join(platform.get_package_dir("framework-stm32duino"), "STM32F1")

FRAMEWORK_VERSION = platform.get_package_version("framework-stm32duino")
assert isdir(FRAMEWORK_DIR)

ARDUINO_VERSION = int(FRAMEWORK_VERSION.replace(".", "").strip())

# USB flags
ARDUINO_USBDEFINES = ["ARDUINO=%s" % FRAMEWORK_VERSION.split(".")[1]]

env.Append(
    CPPDEFINES=ARDUINO_USBDEFINES,