示例#1
0
# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode)
env.Append(ASFLAGS=env.get("CCFLAGS", [])[:])

#
# Target: Build Core Library
#

libs = []

if "build.variant" in board:
    variants_dir = join(
        "$PROJECT_DIR", board.get("build.variants_dir")) if board.get(
            "build.variants_dir", "") else join(FRAMEWORK_DIR, "variants")

    env.Append(
        CPPPATH=[
            join(variants_dir, board.get("build.variant"))
        ]
    )
    libs.append(env.BuildLibrary(
        join("$BUILD_DIR", "FrameworkArduinoVariant"),
        join(variants_dir, board.get("build.variant"))
    ))

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkArduino"),
    join(FRAMEWORK_DIR, "cores", build_core)
))

env.Prepend(LIBS=libs)
示例#2
0
#
# Copy target header files
#

include_path = join(env.subst("$BUILD_DIR"), "metal", "machine")
if not isdir(include_path):
    makedirs(include_path)

copyfile(join(FRAMEWORK_DIR, "bsp", target, "metal.h"),
         join(env.subst("$BUILD_DIR"), "metal", "machine.h"))

copyfile(join(FRAMEWORK_DIR, "bsp", target, "metal-platform.h"),
         join(include_path, "platform.h"))

copyfile(join(FRAMEWORK_DIR, "bsp", target, "metal-inline.h"),
         join(include_path, "inline.h"))

#
# Target: Build Metal Libraries
#

libs = [
    env.BuildLibrary(join("$BUILD_DIR", "metal"),
                     join(FRAMEWORK_DIR, "freedom-metal", "src")),
    env.BuildLibrary(join("$BUILD_DIR", "metal-gloss"),
                     join(FRAMEWORK_DIR, "freedom-metal", "gloss"))
]

env.Prepend(LIBS=libs)
示例#3
0
libs = []

variants_dir = join(FRAMEWORK_DIR, "variants")

if "build.variants_dir" in env.BoardConfig():
    variants_dir = join("$PROJECT_DIR",
                        env.BoardConfig().get("build.variants_dir"))

if "build.variant" in env.BoardConfig():
    env.Append(
        CPPPATH=[join(variants_dir,
                      env.BoardConfig().get("build.variant"))])
    libs.append(
        env.BuildLibrary(
            join("$BUILD_DIR", "FrameworkArduinoVariant"),
            join(variants_dir,
                 env.BoardConfig().get("build.variant"))))

envsafe = env.Clone()

libs.append(
    envsafe.BuildLibrary(
        join("$BUILD_DIR", "FrameworkArduino"),
        join(FRAMEWORK_DIR, "cores",
             env.BoardConfig().get("build.core"))))

env.Prepend(LIBS=libs)

#
# Generate partition table
#
    join(FRAMEWORK_DIR, "lib", "freertos", "include"),
    join(FRAMEWORK_DIR, "lib", "freertos", "portable"),
    join(FRAMEWORK_DIR, "lib", "freertos", "conf"),
    join(FRAMEWORK_DIR, "lib", "utils", "include"),
],
           LIBPATH=[
               join(FRAMEWORK_DIR, "lib", "freertos", "portable"),
               join(FRAMEWORK_DIR, "lib", "freertos", "conf"),
               join(FRAMEWORK_DIR, "lib", "freertos", "include"),
               join(FRAMEWORK_DIR, "lib", "utils", "include"),
               join(FRAMEWORK_DIR, "lib", "bsp", "include"),
               join(FRAMEWORK_DIR, "lib", "drivers", "include"),
           ],
           LIBS=["c", "gcc", "m"])

env.Replace(LDSCRIPT_PATH=join(FRAMEWORK_DIR, "lds", "kendryte.ld"))

#
# Target: Build Core Library
#

libs = [
    env.BuildLibrary(join("$BUILD_DIR", "sdk-bsp"),
                     join(FRAMEWORK_DIR, "lib", "bsp")),
    env.BuildLibrary(join("$BUILD_DIR", "sdk-drivers"),
                     join(FRAMEWORK_DIR, "lib", "drivers")),
    env.BuildLibrary(join("$BUILD_DIR", "sdk-freertos"),
                     join(FRAMEWORK_DIR, "lib", "freertos")),
]

env.Prepend(LIBS=libs)
示例#5
0
    env.Append(
        CPPPATH=extra_incdirs
    )

if not is_valid_soc(build_soc):
    sys.stderr.write("Could not find BSP package for SoC %s" % build_soc)
    env.Exit(1)

#
# Target: Build Nuclei SDK Libraries
#
soclibname = "soc_" + build_soc
boardlibname = "board_" + build_board
libs = [
    env.BuildLibrary(
        join("$BUILD_DIR", "SoC", build_soc, soclibname),
        join(FRAMEWORK_DIR, "SoC", build_soc, "Common")
    ),

    env.BuildLibrary(
        join("$BUILD_DIR", "SoC", build_soc, "Board", boardlibname),
        join(FRAMEWORK_DIR, "SoC", build_soc, "Board", build_board)
    )
]

if selected_rtos == "FreeRTOS":
    libs.append(env.BuildLibrary(
        join("$BUILD_DIR", "RTOS", "FreeRTOS"),
        join(FRAMEWORK_DIR, "OS", "FreeRTOS", "Source"),
        src_filter="+<*> -<portable/MemMang/> +<portable/MemMang/heap_4.c>"
    ))
    env.Append(
if not board.get("build.ldscript", ""):
    # if SoftDevice is not specified use default ld script from the framework
    env.Replace(
        LDSCRIPT_PATH=ldscript_path or board.get("build.arduino.ldscript", ""))

# Select crystal oscillator as the low frequency source by default
clock_options = ("USE_LFXO", "USE_LFRC", "USE_LFSYNT")
if not any(d in clock_options for d in cpp_defines):
    env.Append(CPPDEFINES=["USE_LFXO"])

#
# Target: Build Core Library
#

libs = []

if "build.variant" in board:
    env.Append(
        CPPPATH=[join(FRAMEWORK_DIR, "variants", board.get("build.variant"))])

    libs.append(
        env.BuildLibrary(
            join("$BUILD_DIR", "FrameworkArduinoVariant"),
            join(FRAMEWORK_DIR, "variants", board.get("build.variant"))))

libs.append(
    env.BuildLibrary(join("$BUILD_DIR", "FrameworkArduino"),
                     join(FRAMEWORK_DIR, "cores", board.get("build.core"))))

env.Prepend(LIBS=libs)
示例#7
0
    join(FRAMEWORK_DIR, "RISCV", "drivers"),
    join(FRAMEWORK_DIR, "RISCV", "env_Eclipse"),
    join(FRAMEWORK_DIR, "RISCV", "stubs"),
],
           LIBS=["c"])

if not env.BoardConfig().get("build.ldscript", ""):
    env.Replace(LDSCRIPT_PATH=join(FRAMEWORK_DIR, "RISCV", "env_Eclipse",
                                   board.get("build.gd32vf103-sdk.ldscript")))

#
# Target: Build Core Library
#

libs = [
    env.BuildLibrary(join("$BUILD_DIR", "standard_peripheral"),
                     join(FRAMEWORK_DIR, "GD32VF103_standard_peripheral")),

    #    env.BuildLibrary(
    #        join("$BUILD_DIR", "usbfs_driver"),
    #        join(FRAMEWORK_DIR, "GD32VF103_usbfs_driver")),
    env.BuildLibrary(join("$BUILD_DIR", "RISCV"), join(FRAMEWORK_DIR,
                                                       "RISCV")),
]

env.Prepend(LIBS=libs)

# if board.get("name") == "GD32VF103V-EVAL":

#     env.Prepend(
#         CPPPATH = [
#             join(FRAMEWORK_DIR, "Utilities"),
示例#8
0
    UPLOADER=join(TOOL_DIR, CORE, "$PLATFORM", "coda"),
    UPLOADERFLAGS=[
        '"$BUILD_DIR/${PROGNAME}.cfg"', "--UART", "$UPLOAD_PORT", "-d"
    ],
    UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS',
    BUILDERS=dict(
        ElfToBin=Builder(action=env.VerboseAction(
            " ".join(["$OBJCOPY", "-O", "binary", "$SOURCES", "$TARGET"]),
            "Building $TARGET"),
                         suffix=".dat"),
        GFH=Builder(  # Add Mediatek Header
            action=env.VerboseAction(
                " ".join(
                    ['"$PYTHONEXE"', '"$HEADERTOOL"', "$SOURCES", "$TARGET"]),
                "Adding Header"),
            suffix=".bin"))  #dict
)

libs = []
libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "framework"),
    join(CORE_DIR),
))
libs.append(
    env.BuildLibrary(join("$BUILD_DIR", "framework", "ril"),
                     join(CORE_DIR, "ril", "src")))
env.Append(LIBS=libs)

env.Replace(HEADERTOOL=join("$PIOHOME_DIR", "platforms", "opencpu", "builder",
                            "frameworks", "GFH_" + CORE + ".py"))
示例#9
0
        "-Wl,--whole-archive",
        join("{}".format(BOARD_VARIANTS_DIR), "mbed", "libmbed-os.a"),
        "-Wl,--no-whole-archive",
        "-Wl,-Map=%s" % join("$BUILD_DIR", "program.map"),
        # "--specs=nosys.specs",
        "--specs=nano.specs",
    ],
    LIBS=["stdc++", "supc++", "libmbed-os.a", "arm_cortexM4lf_math", "m"],
    LIBPATH=[
        join(BOARD_VARIANTS_DIR, "mbed"),
        join(CMSIS_DIR, "ARM", "Lib", "ARM")
    ])

libs = []

libs.append(env.BuildLibrary(join("$BUILD_DIR", "variant"),
                             BOARD_VARIANTS_DIR))

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "mbed_bridge"),
    BRIDGE_DIR,
))

libs.append(
    env.BuildLibrary(
        join("$BUILD_DIR", "core-implement"),
        join(CORE_DIR, "sdk", "core-implement"),
    ))

# Libraries
libs.append(
    env.BuildLibrary(
示例#10
0
文件: arduino.py 项目: OS-Q/P115
elif oscillator_type == "external" and build_core == "MegaCoreX":
    env.Append(CPPDEFINES=["USE_EXTERNAL_OSCILLATOR"])

#
# Target: Build Core Library
#

libs = []

if "build.variant" in board:
    variants_dir = join(
        "$PROJECT_DIR", board.get("build.variants_dir")) if board.get(
            "build.variants_dir", "") else join(FRAMEWORK_DIR, "variants")

    env.Append(
        CPPPATH=[
            join(variants_dir, board.get("build.variant"))
        ]
    )
    env.BuildSources(
        join("$BUILD_DIR", "FrameworkArduinoVariant"),
        join(variants_dir, board.get("build.variant"))
    )

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkArduino"),
    join(FRAMEWORK_DIR, "cores", build_core)
))

env.Prepend(LIBS=libs)
示例#11
0
#
# Target: Build core BSP libraries
#

unsupported_drivers = ("plic", "timer")

libs = []

for driver in listdir(join(FRAMEWORK_DIR, "bsp", "drivers")):
    if driver in unsupported_drivers:
        continue

    libs.append(
        env.BuildLibrary(
            join("$BUILD_DIR", "bsp", "drivers", driver),
            join(FRAMEWORK_DIR, "bsp", "drivers", driver))
    )

libs.append(
    env.BuildLibrary(
        join("$BUILD_DIR", "bsp", "libwrap"),
        join(FRAMEWORK_DIR, "bsp", "libwrap"))
)

libs.append(
    env.BuildLibrary(
        join("$BUILD_DIR", "bsp", "include"),
        join(FRAMEWORK_DIR, "bsp", "include"))
)
示例#12
0
#
# Copy target header files
#

include_path = join(env.subst("$BUILD_DIR"), "metal", "machine")
if not isdir(include_path):
    makedirs(include_path)

copyfile(join(FRAMEWORK_DIR, "bsp", target, "metal.h"),
         join(env.subst("$BUILD_DIR"), "metal", "machine.h"))

copyfile(join(FRAMEWORK_DIR, "bsp", target, "metal-platform.h"),
         join(include_path, "platform.h"))

copyfile(join(FRAMEWORK_DIR, "bsp", target, "metal-inline.h"),
         join(include_path, "inline.h"))

#
# Target: Build Metal Libraries
#

libs = [
    env.BuildLibrary(join("$BUILD_DIR", "metal"),
                     join(FRAMEWORK_DIR, "freedom-metal", "src"),
                     src_filter="+<*> -<drivers/sifive_fu540-c000_l2.c>"),
    env.BuildLibrary(join("$BUILD_DIR", "metal-gloss"),
                     join(FRAMEWORK_DIR, "freedom-metal", "gloss"))
]

env.Prepend(LIBS=libs)
env.Depends("$BUILD_DIR/$PROGNAME$PROGSUFFIX", linker_script)

#
# Compile bootloader
#

env.Depends(
    "$BUILD_DIR/$PROGNAME$PROGSUFFIX",
    env.ElfToBin(join("$BUILD_DIR", "bootloader"), build_espidf_bootloader()))

#
# Target: Build Core Library
#

libs = []

ignore_dirs = ("bootloader", "esptool_py", "idf_test", "newlib",
               "partition_table")

for d in listdir(join(FRAMEWORK_DIR, "components")):
    if d in ignore_dirs:
        continue
    if isdir(join(FRAMEWORK_DIR, "components", d)):
        libs.append(
            env.BuildLibrary(join("$BUILD_DIR", "%s" % d),
                             join(FRAMEWORK_DIR, "components", d),
                             src_filter="+<*> -<test>"))

env.Prepend(LIBS=libs)
示例#14
0
        "-Winline",
        "-pipe",
        "-fPIC"
    ],

    LIBS=["pthread"]
)

env.Append(
    CPPDEFINES=[
        "_GNU_SOURCE"
    ],

    CPPPATH=[
        join("$BUILD_DIR", "FrameworkWiringPi")
    ]
)


#
# Target: Build Core Library
#

libs = []
libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkWiringPi"),
    join("$PIOPACKAGES_DIR", "framework-wiringpi", "wiringPi")
))

env.Append(LIBS=libs)
示例#15
0
文件: arduino.py 项目: OS-Q/P421
])

#
# Target: Build Core Library
#

libs = []

if "build.variant" in env.BoardConfig():
    variants_dir = os.path.join(
        "$PROJECT_DIR", board.get("build.variants_dir")) if board.get(
            "build.variants_dir", "") else os.path.join(
                FRAMEWORK_DIR, "variants")
    env.Append(
        CPPPATH=[os.path.join(variants_dir, board.get("build.variant"))])
    libs.append(
        env.BuildLibrary(
            os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"),
            os.path.join(variants_dir, board.get("build.variant"))))

libs.append(
    env.BuildLibrary(os.path.join("$BUILD_DIR", "FrameworkArduino"),
                     os.path.join(FRAMEWORK_DIR, "cores"),
                     src_filter=[
                         "+<*>",
                         "-<%s/projects/PSoC4/CyBootAsmIar.s>" % core,
                         "-<%s/projects/PSoC4/CyBootAsmRv.s>" % core
                     ]))

env.Prepend(LIBS=libs)
示例#16
0
               join(FRAMEWORK_DIR, "platformio", "ldscripts")
           ])

#
# Generate framework specific files
#

generate_hal_config_file(env.BoardConfig().get("build.mcu"))

#
# Target: Build HAL Library
#

libs = []

libs.append(
    env.BuildLibrary(join("$BUILD_DIR", "FrameworkHALDriver"),
                     join(FRAMEWORK_DIR, FRAMEWORK_CORE, "Drivers",
                          MCU_FAMILY.upper() + "xx_HAL_Driver"),
                     src_filter="+<*> -<Src/*_template.c>"))

libs.append(
    env.BuildLibrary(join("$BUILD_DIR", "FrameworkCMSISDevice"),
                     join(FRAMEWORK_DIR, FRAMEWORK_CORE, "Drivers", "CMSIS",
                          "Device", "ST",
                          MCU_FAMILY.upper() + "xx", "Source", "Templates"),
                     src_filter="-<*> +<*.c> +<gcc/%s>" %
                     get_startup_file(env.BoardConfig().get("build.mcu"))))

env.Append(LIBS=libs)
示例#17
0
import sys
from os.path import basename, isdir, isfile, join

from SCons.Script import DefaultEnvironment

from platformio.proc import exec_command

env = DefaultEnvironment()
platform = env.PioPlatform()
board_config = env.BoardConfig()

FRAMEWORK_DIR = platform.get_package_dir("E122")
assert FRAMEWORK_DIR and isdir(FRAMEWORK_DIR)

env.Append(CPPPATH=[
    join(FRAMEWORK_DIR, "bsp"),
    join(FRAMEWORK_DIR, "lib"),
],
           LIBS=["c"])

libs = [
    env.BuildLibrary(join("$BUILD_DIR", "BSP"), join(FRAMEWORK_DIR, "bsp")),
    env.BuildLibrary(join("$BUILD_DIR", "LIB"), join(FRAMEWORK_DIR, "lib")),
]

env.Prepend(LIBS=libs)
示例#18
0
	CPPFLAGS=[
  #"-Wall", "-Wextra", 
        "-c", "-g", "-Os", "-fno-exceptions", "-ffunction-sections", "-fdata-sections", "-MMD", "-Woverloaded-virtual", "-flto", "-std=gnu++11", "-felide-constructors", "-fno-implement-inlines", "-fno-rtti", "-fno-threadsafe-statics", "-mcall-prologues"
	]
)

#
# Target: Build Core Library
#

libs = []

env.Append(
	CPPPATH=[lib_dirs]
)
libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkArduinoVariant"),
    join(PLATFORMFW_DIR, "variants", BOARD_VARIANTLIBDIRNAME)
    )
)

envsafe = env.Clone()
libs.append(envsafe.BuildLibrary(
    join("$BUILD_DIR", "FrameworkArduino"),
    join("$PLATFORMFW_DIR", "cores", BOARD_CORELIBDIRNAME)
	)
)

env.Append(LIBS=libs)

示例#19
0
        if not content_changed:
            continue
        with open(file_path, "w") as fp:
            fp.write(content)

#
# Target: Build Core Library
#

libs = []

if "variant" in BOARD_BUILDOPTS:
    env.Append(CPPPATH=[join("$BUILD_DIR", "FrameworkArduinoVariant")])
    libs.append(
        env.BuildLibrary(
            join("$BUILD_DIR", "FrameworkArduinoVariant"),
            join("$PLATFORMFW_DIR", "variants",
                 "${BOARD_OPTIONS['build']['variant']}")))

envsafe = env.Clone()
libs.append(
    envsafe.BuildLibrary(
        join("$BUILD_DIR", "FrameworkArduino"),
        join("$PLATFORMFW_DIR", "cores", "${BOARD_OPTIONS['build']['core']}")))

if env.subst("${PLATFORMFW_DIR}")[-3:] == "sam":
    env.Append(LIBPATH=[
        join("$PLATFORMFW_DIR", "variants",
             "${BOARD_OPTIONS['build']['variant']}")
    ])
    envsafe.Append(CFLAGS=["-std=gnu99"])
    libs.append("sam_sam3x8e_gcc_rel")
示例#20
0
extra_flags = env.BoardConfig().get("build.extra_flags", "")
src_filter_patterns = ["+<*>"]
if "STM32F40_41xxx" in extra_flags:
    src_filter_patterns += ["-<stm32f4xx_fmc.c>"]
if "STM32F427_437xx" in extra_flags:
    src_filter_patterns += ["-<stm32f4xx_fsmc.c>"]
elif "STM32F303xC" in extra_flags:
    src_filter_patterns += ["-<stm32f30x_hrtim.c>"]
elif "STM32L1XX_MD" in extra_flags:
    src_filter_patterns += ["-<stm32l1xx_flash_ramfunc.c>"]

libs = []

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkCMSISVariant"),
    join(
        FRAMEWORK_DIR, env.BoardConfig().get("build.core"), "cmsis",
        "variants", env.BoardConfig().get("build.variant")[0:7]
    )
))

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkSPL"),
    join(FRAMEWORK_DIR, env.BoardConfig().get("build.core"),
         "spl", "variants",
         env.BoardConfig().get("build.variant")[0:7], "src"),
    src_filter=" ".join(src_filter_patterns)
))

env.Append(LIBS=libs)
示例#21
0
)

env.Append(
    LIBSOURCE_DIRS=[
        join(FRAMEWORK_DIR, "libraries")
    ]
)

#
# Target: Build Core Library
#

libs = []

if "build.variant" in env.BoardConfig():
    env.Append(
        CPPPATH=[
            join(FRAMEWORK_DIR, "variants", board_config.get("build.mcu"))
        ]
    )
    libs.append(env.BuildLibrary(
        join("$BUILD_DIR", "FrameworkArduinoVariant"),
        join(FRAMEWORK_DIR, "variants", board_config.get("build.mcu"))
    ))

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkArduino"),
    join(FRAMEWORK_DIR, "cores")
))
env.Prepend(LIBS=libs)
示例#22
0
                "Error: Detected C++ file `%s` which is not compatible with Arduino"
                " framework as only C/ASM sources are allowed.\n"
                % os.path.join(root, f)
            )
            env.Exit(1)

#
# Target: Build Core Library
#

libs = []

if "build.variant" in env.BoardConfig():
    env.Append(
        CPPPATH=[
            os.path.join(
                FRAMEWORK_DIR, "variants", env.BoardConfig().get("build.variant"))
        ]
    )
    libs.append(env.BuildLibrary(
        os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"),
        os.path.join(FRAMEWORK_DIR, "variants", env.BoardConfig().get("build.variant"))
    ))

libs.append(env.BuildLibrary(
    os.path.join("$BUILD_DIR", "FrameworkArduino"),
    os.path.join(FRAMEWORK_DIR, "cores", env.BoardConfig().get("build.core"))
))

env.Prepend(LIBS=libs)
示例#23
0
#

# use mbed ldscript with bootloader section
ldscript = env.BoardConfig().get("build.ldscript")
if not isfile(join(platform.get_dir(), "ldscripts", ldscript)):
    if "mbed" in env.BoardConfig().get("frameworks", []):
        env.Append(LINKFLAGS=[
            '-Wl,-T"%s"' % join(
                platform.get_package_dir("framework-mbed") or "", "targets",
                "TARGET_STM", "TARGET_%s" %
                env.BoardConfig().get("build.variant").upper()[:7],
                "TARGET_%s" % env.subst("$BOARD").upper(), "device",
                "TOOLCHAIN_GCC_ARM", "%s.ld" % ldscript.upper()[:-3])
        ])

libs = []
libs.append(
    env.BuildLibrary(
        join("$BUILD_DIR", "FrameworkCMSISVariant"),
        join(FRAMEWORK_DIR, "variants",
             env.BoardConfig().get("build.variant")[0:7],
             env.BoardConfig().get("build.variant"))))

libs.append(
    env.BuildLibrary(
        join("$BUILD_DIR", "FrameworkCMSISCommon"),
        join(FRAMEWORK_DIR, "variants",
             env.BoardConfig().get("build.variant")[0:7], "common")))

env.Append(LIBS=libs)
示例#24
0
           ],
           LIBS=["sam_sam3x8e_gcc_rel", "gcc"])

env.Append(ASFLAGS=env.get("CCFLAGS", [])[:])

#
# Target: Build Core Library
#

libs = []

if "build.variant" in board:
    variants_dir = os.path.join(
        "$PROJECT_DIR", board.get("build.variants_dir")) if board.get(
            "build.variants_dir", "") else os.path.join(
                FRAMEWORK_DIR, "variants")
    env.Append(
        CPPPATH=[os.path.join(variants_dir, board.get("build.variant"))],
        LIBPATH=[os.path.join(variants_dir, board.get("build.variant"))],
    )
    libs.append(
        env.BuildLibrary(
            os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"),
            os.path.join(variants_dir, board.get("build.variant"))))

libs.append(
    env.BuildLibrary(os.path.join("$BUILD_DIR", "FrameworkArduino"),
                     os.path.join(FRAMEWORK_DIR, "cores", "arduino")))

env.Prepend(LIBS=libs)
示例#25
0
              "version.txt")).read().replace(".", "").strip())

# include board variant
env.VariantDirWrap(
    join("$BUILD_DIR", "FrameworkEnergiaVariant"),
    join("$PLATFORMFW_DIR", "variants",
         "${BOARD_OPTIONS['build']['variant']}"))

env.Append(CPPDEFINES=["ARDUINO=101",
                       "ENERGIA=%d" % ENERGIA_VERSION],
           CPPPATH=[
               join("$BUILD_DIR", "FrameworkEnergia"),
               join("$BUILD_DIR", "FrameworkEnergiaVariant")
           ])

if env.get("BOARD_OPTIONS", {}).get("build", {}).get("core") == "lm4f":
    env.Append(LINKFLAGS=["-Wl,--entry=ResetISR"])

#
# Target: Build Core Library
#

libs = []

libs.append(
    env.BuildLibrary(
        join("$BUILD_DIR", "FrameworkEnergia"),
        join("$PLATFORMFW_DIR", "cores", "${BOARD_OPTIONS['build']['core']}")))

env.Append(LIBS=libs)
    join(FRAMEWORK_DIR, "include", "espressif"),
    join(FRAMEWORK_DIR, "include", "lwip"),
    join(FRAMEWORK_DIR, "include", "lwip", "ipv4"),
    join(FRAMEWORK_DIR, "include", "lwip", "ipv6"),
    join(FRAMEWORK_DIR, "include", "nopoll"),
    join(FRAMEWORK_DIR, "include", "ssl"),
    join(FRAMEWORK_DIR, "include", "json"),
    join(FRAMEWORK_DIR, "include", "openssl"),
],
            LIBPATH=[join(FRAMEWORK_DIR, "lib")],
            LIBS=[
                "airkiss", "at", "c", "crypto", "driver", "espnow", "gcc",
                "json", "lwip", "main", "mbedtls", "mesh", "net80211", "phy",
                "pp", "pwm", "smartconfig", "ssl", "upgrade", "wpa", "wpa2",
                "wps"
            ])

env.Replace(LDSCRIPT_PATH=[join(FRAMEWORK_DIR, "ld", "eagle.app.v6.ld")], )

#
# Target: Build Driver Library
#

libs = []

libs.append(
    env.BuildLibrary(join(FRAMEWORK_DIR, "lib", "driver"),
                     join(FRAMEWORK_DIR, "driver_lib")))

env.Prepend(LIBS=libs)
示例#27
0
env.Replace(UPLOADER=join(FRAMEWORK_DIR, "tools", "esptool.py"))

#
# Target: Build Core Library
#

libs = []

if "build.variant" in env.BoardConfig():
    env.Append(CPPPATH=[
        join(FRAMEWORK_DIR, "variants",
             env.BoardConfig().get("build.variant"))
    ])
    libs.append(
        env.BuildLibrary(
            join("$BUILD_DIR", "FrameworkArduinoVariant"),
            join(FRAMEWORK_DIR, "variants",
                 env.BoardConfig().get("build.variant"))))

envsafe = env.Clone()

libs.append(
    envsafe.BuildLibrary(
        join("$BUILD_DIR", "FrameworkArduino"),
        join(FRAMEWORK_DIR, "cores",
             env.BoardConfig().get("build.core"))))

env.Prepend(LIBS=libs)

#
# Generate partition table
#
示例#28
0
process_usb_speed_configuration(cpp_defines)
process_usart_configuration(cpp_defines)

# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode)
env.Append(ASFLAGS=env.get("CCFLAGS", [])[:])

env.Append(LIBSOURCE_DIRS=[
    join(FRAMEWORK_DIR, "libraries", "__cores__", "arduino"),
    join(FRAMEWORK_DIR, "libraries"),
])

#
# Target: Build Core Library
#

libs = []

if "build.variant" in board_config:
    env.Append(CPPPATH=[inc_variant_dir], LIBPATH=[inc_variant_dir])
    env.BuildSources(join("$BUILD_DIR", "FrameworkArduinoVariant"),
                     variant_dir)

libs.append(
    env.BuildLibrary(join("$BUILD_DIR", "FrameworkArduino"),
                     join(FRAMEWORK_DIR, "cores", "arduino")))

env.BuildSources(join("$BUILD_DIR", "SrcWrapper"),
                 join(FRAMEWORK_DIR, "libraries", "SrcWrapper"))

env.Prepend(LIBS=libs)
示例#29
0
#

env.Append(
    LIBSOURCE_DIRS=[
        join(FRAMEWORK_DIR, "libraries", "__cores__", "maple"),
        join(FRAMEWORK_DIR, "libraries")
    ]
)

#
# Target: Build Core Library
#

libs = []

if "build.variant" in board:
    env.Append(
        CPPPATH=[join(FRAMEWORK_DIR, "variants", variant)]
    )
    libs.append(env.BuildLibrary(
        join("$BUILD_DIR", "FrameworkArduinoVariant"),
        join(FRAMEWORK_DIR, "variants", variant)
    ))

libs.append(env.BuildLibrary(
    join("$BUILD_DIR", "FrameworkArduino"),
    join(FRAMEWORK_DIR, "cores", "maple")
))

env.Prepend(LIBS=libs)
示例#30
0
    # Force SDK package to build if only FreeRTOS is specified in framework list
    env.SConscript("wd-riscv-sdk.py")

env.Append(CPPDEFINES=["D_USE_RTOSAL", "D_USE_FREERTOS"],
           CPPPATH=[
               os.path.join(FIRMWARE_DIR, "rtos", "rtosal", "loc_inc"),
               os.path.join(FIRMWARE_DIR, "rtos", "rtosal", "api_inc"),
               os.path.join(FIRMWARE_DIR, "rtos", "rtosal", "config", "eh1"),
               os.path.join(FIRMWARE_DIR, "rtos", "rtos_core", "freertos",
                            "Source", "include"),
           ],
           LIBS=[
               env.BuildLibrary(os.path.join("$BUILD_DIR", "RTOS-AL"),
                                os.path.join(FIRMWARE_DIR, "rtos", "rtosal"),
                                src_filter=[
                                    "+<*>", "-<rtosal_memory.c>", "-<list.c>",
                                    "-<rtosal_int_vect_*.S>",
                                    "+<rtosal_int_vect_eh1.S>"
                                ]),
               env.BuildLibrary(os.path.join("$BUILD_DIR", "FreeRTOS"),
                                os.path.join(FIRMWARE_DIR, "rtos", "rtos_core",
                                             "freertos", "Source"),
                                src_filter=[
                                    "-<*>",
                                    "+<croutine.c>",
                                    "+<list.c>",
                                    "+<portable/portASM.S>",
                                    "+<queue.c>",
                                    "+<tasks.c>",
                                    "+<timers.c>",
                                ])