forked from platformio/platformio-core
Update builder for CMSIS framework.
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
#define ENABLE_GPIO_CLOCK (RCC->AHBENR |= RCC_AHBENR_GPIOBEN)
|
||||
#define GPIOMODER ((GPIO_MODER_MODER7_0|GPIO_MODER_MODER6_0))
|
||||
#elif STM32F3
|
||||
#include "stm32f30x.h"
|
||||
#include "stm32f3xx.h"
|
||||
#define LEDPORT (GPIOE)
|
||||
#define LED1 (8)
|
||||
#define LED2 (9)
|
||||
|
@ -2,12 +2,12 @@
|
||||
"disco_f407vg": {
|
||||
"build": {
|
||||
"core": "stm32",
|
||||
"extra_flags": "-DSTM32F40_41xxx",
|
||||
"extra_flags": "-DSTM32F4 -DSTM32F407xx -DSTM32F40_41xxx",
|
||||
"f_cpu": "168000000L",
|
||||
"ldscript": "stm32f405x6.ld",
|
||||
"cpu": "cortex-m4",
|
||||
"mcu": "stm32f407vgt6",
|
||||
"variant": "stm32f4"
|
||||
"variant": "stm32f407xx"
|
||||
},
|
||||
"frameworks": ["cmsis", "spl", "libopencm3", "mbed"],
|
||||
"name": "ST STM32F4DISCOVERY",
|
||||
@ -22,14 +22,14 @@
|
||||
"disco_l152rb": {
|
||||
"build": {
|
||||
"core": "stm32",
|
||||
"extra_flags": "-DSTM32L1XX_MD",
|
||||
"extra_flags": "-DSTM32L1 -DSTM32L152xB -DSTM32L1XX_MD",
|
||||
"f_cpu": "32000000L",
|
||||
"ldscript": "stm32l15xx6.ld",
|
||||
"cpu": "cortex-m3",
|
||||
"mcu": "stm32l152rbt6",
|
||||
"variant": "stm32l1"
|
||||
"variant": "stm32l152xb"
|
||||
},
|
||||
"frameworks": ["cmsis","spl","libopencm3"],
|
||||
"frameworks": ["cmsis", "spl", "libopencm3"],
|
||||
"name": "ST STM32LDISCOVERY",
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
@ -42,12 +42,12 @@
|
||||
"disco_f303vc": {
|
||||
"build": {
|
||||
"core": "stm32",
|
||||
"extra_flags": "-DSTM32F303xC",
|
||||
"extra_flags": "-DSTM32F3 -DSTM32F303xC",
|
||||
"f_cpu": "72000000L",
|
||||
"ldscript": "stm32f30xx.ld",
|
||||
"cpu": "cortex-m4",
|
||||
"mcu": "stm32f303vct6",
|
||||
"variant": "stm32f3"
|
||||
"variant": "stm32f303xc"
|
||||
},
|
||||
"frameworks": ["cmsis", "spl", "libopencm3", "mbed"],
|
||||
"name": "ST STM32F3DISCOVERY",
|
||||
@ -272,11 +272,15 @@
|
||||
},
|
||||
"nucleo_f401re": {
|
||||
"build": {
|
||||
"core": "stm32",
|
||||
"extra_flags": "-DSTM32F4 -DSTM32F401xE",
|
||||
"f_cpu": "84000000L",
|
||||
"ldscript": "stm32f401xe.ld",
|
||||
"cpu": "cortex-m4",
|
||||
"mcu": "stm32f401ret6"
|
||||
"mcu": "stm32f401ret6",
|
||||
"variant": "stm32f401xe"
|
||||
},
|
||||
"frameworks": ["mbed"],
|
||||
"frameworks": ["cmsis", "mbed"],
|
||||
"name": "ST Nucleo F401RE",
|
||||
"platform": "ststm32",
|
||||
"upload": {
|
||||
|
@ -26,7 +26,7 @@ and cutting the time-to-market for devices.
|
||||
http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php
|
||||
"""
|
||||
|
||||
from os.path import join
|
||||
from os.path import isfile, join
|
||||
|
||||
from SCons.Script import DefaultEnvironment
|
||||
|
||||
@ -44,6 +44,7 @@ env.VariantDirWrap(
|
||||
env.Append(
|
||||
CPPPATH=[
|
||||
join("$BUILD_DIR", "FrameworkCMSIS"),
|
||||
join("$BUILD_DIR", "FrameworkCMSISCommon"),
|
||||
join("$BUILD_DIR", "FrameworkCMSISVariant")
|
||||
]
|
||||
)
|
||||
@ -54,10 +55,39 @@ envsafe = env.Clone()
|
||||
# Target: Build Core Library
|
||||
#
|
||||
|
||||
# use mbed ldscript with bootloader section
|
||||
ldscript = env.get("BOARD_OPTIONS", {}).get("build", {}).get("ldscript")
|
||||
if not isfile(join(env.subst("$PIOPACKAGES_DIR"), "ldscripts", ldscript)):
|
||||
if "mbed" in env.get("BOARD_OPTIONS", {}).get("frameworks", {}):
|
||||
env.Append(
|
||||
LINKFLAGS=[
|
||||
"-Wl,-T",
|
||||
join(
|
||||
"$PIOPACKAGES_DIR", "framework-mbed", "variant",
|
||||
env.subst("$BOARD").upper(), "mbed",
|
||||
"TARGET_%s" % env.subst(
|
||||
"$BOARD").upper(), "TOOLCHAIN_GCC_ARM",
|
||||
"%s.ld" % ldscript.upper()[:-3]
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
libs = []
|
||||
libs.append(envsafe.BuildLibrary(
|
||||
join("$BUILD_DIR", "FrameworkCMSISVariant"),
|
||||
join("$PLATFORMFW_DIR", "variants", "${BOARD_OPTIONS['build']['variant']}")
|
||||
join(
|
||||
"$PLATFORMFW_DIR", "variants",
|
||||
env.subst("${BOARD_OPTIONS['build']['variant']}")[0:7],
|
||||
"${BOARD_OPTIONS['build']['variant']}"
|
||||
)
|
||||
))
|
||||
|
||||
libs.append(envsafe.BuildLibrary(
|
||||
join("$BUILD_DIR", "FrameworkCMSISCommon"),
|
||||
join(
|
||||
"$PLATFORMFW_DIR", "variants",
|
||||
env.subst("${BOARD_OPTIONS['build']['variant']}")[0:7], "common"
|
||||
)
|
||||
))
|
||||
|
||||
env.Append(LIBS=libs)
|
||||
|
Reference in New Issue
Block a user