unleashed-firmware/lib/stm32wb.scons
あく 338fc3afea
New clock switch schema, fixes random core2 crashes (#3008)
* Updated stack to 1.17.0

* hal: ble: Fixed stack config

* Bumped stack version in config

* scripts: added validation of copro stack version in update bundles

* Copro: update to 1.17.2

* FuriHal: adjust tick frequency for HSE as sys clk

* FuriHal: adjust systick reload on sys clock change

* Sync api and format sources

* scripts: updated ob.data for newer stack

* FuriHal: return core2 hse pll transition on deep sleep

* FuriHal: cleanup ble glue

* FuriHal: rework ble glue, allow shci_send in critical section

* FuriHal: sync api symbols

* FuriHal: cleanup BLE glue, remove unused garbage and duplicate declarations

* FuriHal: BLE glue cleanup, 2nd iteration

* FuriHal: hide tick drift reports under FURI_HAL_OS_DEBUG

* Lib: sync stm32wb_copro with latest dev

* FuriHal: ble-glue, slightly less editable device name and duplicate definition cleanup

* FuriHal: update ble config options, enable some optimizations and ext adv

* FuriHal: update clock switch method documentation

* FuriHal: better SNBRSA bug workaround fix

* FuriHal: complete comment about tick skew

* FuriHal: proper condition in clock hsi2hse transition

* FuriHal: move PLL start to hse2pll routine, fix lockup caused by core2 switching to HSE before us

* FuriHal: explicit HSE start before switch

* FuriHal: fix documentation and move flash latency change to later stage, remove duplicate LL_RCC_SetRFWKPClockSource call

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-09-19 18:22:21 +04:00

73 lines
2 KiB
Text

Import("env")
env.Append(
CPPPATH=[
"#/lib/cmsis_core",
"#/lib/stm32wb_cmsis/Include",
"#/lib/stm32wb_hal/Inc",
"#/lib/stm32wb_copro/wpan",
],
CPPDEFINES=[
"STM32WB",
"STM32WB55xx",
"USE_FULL_ASSERT",
"USE_FULL_LL_DRIVER",
],
SDK_HEADERS=env.GlobRecursive(
"*_ll_*.h",
Dir("stm32wb_hal/Inc"),
exclude="*usb.h",
),
)
if env["RAM_EXEC"]:
env.Append(
CPPDEFINES=[
"VECT_TAB_SRAM",
],
)
libenv = env.Clone(FW_LIB_NAME="stm32wb")
libenv.Append(
CPPPATH=[
"#/lib/stm32wb_copro/wpan/ble",
"#/lib/stm32wb_copro/wpan/ble/core",
"#/lib/stm32wb_copro/wpan/interface/patterns/ble_thread",
"#/lib/stm32wb_copro/wpan/interface/patterns/ble_thread/shci",
"#/lib/stm32wb_copro/wpan/interface/patterns/ble_thread/tl",
"#/lib/stm32wb_copro/wpan/utilities",
]
)
libenv.ApplyLibFlags()
sources = libenv.GlobRecursive("*_ll_*.c", "stm32wb_hal/Src/", exclude="*usb.c")
sources += Glob(
"stm32wb_copro/wpan/interface/patterns/ble_thread/shci/*.c",
source=True,
)
sources += Glob(
"stm32wb_copro/wpan/interface/patterns/ble_thread/tl/*_tl*.c",
exclude=[
"stm32wb_copro/wpan/interface/patterns/ble_thread/tl/hci_tl_if.c",
"stm32wb_copro/wpan/interface/patterns/ble_thread/tl/shci_tl_if.c",
],
source=True,
)
sources += [
"stm32wb_copro/wpan/interface/patterns/ble_thread/tl/tl_mbox.c",
"stm32wb_copro/wpan/ble/svc/Src/svc_ctl.c",
"stm32wb_copro/wpan/ble/core/auto/ble_gap_aci.c",
"stm32wb_copro/wpan/ble/core/auto/ble_gatt_aci.c",
"stm32wb_copro/wpan/ble/core/auto/ble_hal_aci.c",
"stm32wb_copro/wpan/ble/core/auto/ble_hci_le.c",
"stm32wb_copro/wpan/ble/core/auto/ble_l2cap_aci.c",
"stm32wb_copro/wpan/ble/core/template/osal.c",
"stm32wb_copro/wpan/utilities/dbg_trace.c",
"stm32wb_copro/wpan/utilities/stm_list.c",
]
lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
libenv.Install("${LIB_DIST_DIR}", lib)
Return("lib")