mbed-os / targets / TARGET_STM / TARGET_STM32WL /
@Jamie Smith Jamie Smith authored on 20 Nov 2022
GitHub committed on 20 Nov 2022
..
STM32Cube_FW STM32WL remove non-UTF characters 2 years ago
TARGET_STM32WL54xC STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WL55xC STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WLE4x8 STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WLE4xB STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WLE4xC STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WLE5x8 STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WLE5xB STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
TARGET_STM32WLE5xC STM32WL : STM32Cube_FW_WL_V1.1.0 2 years ago
CMakeLists.txt STM32WL file alignment before cube update 2 years ago
PeripheralNames.h moved to up folder common to STM32WL 2 years ago
README.md STM32WL : update readme 2 years ago
analogin_device.c STM32WL : ANALOGIN full support 3 years ago
analogout_device.c STM32 ANALOGOUT : correct GPIO free 3 years ago
cmsis.h STM32WL : ADDING STM32WL SUPPORT 3 years ago
flash_api.c STM32: remove critical sections in flash_program_page 3 years ago
gpio_irq_device.c STM32WL : ADDING STM32WL SUPPORT 3 years ago
gpio_irq_device.h STM32WL : ADDING STM32WL SUPPORT 3 years ago
i2c_device.c STM32Wx: I2C issue 2 years ago
i2c_device.h driver/i2c: STM32: Solves I2C driver performanc issue. 2 years ago
objects.h Rethink STM32 I2C v2 HAL (#78) 1 year ago
pin_device.h STM32WL : ADDING STM32WL SUPPORT 3 years ago
pwmout_device.c STM32WL : ADDING STM32WL SUPPORT 3 years ago
pwmout_device.h STM32WL : ADDING STM32WL SUPPORT 3 years ago
serial_device.c STM32WL: UART2 was missing 2 years ago
spi_api.c STM32WL : ADDING STM32WL SUPPORT 3 years ago
spi_device.h STM32WL : ADDING STM32WL SUPPORT 3 years ago
system_clock.c moved to STM32WL up folder 2 years ago
us_ticker_data.h STM32WL : ADDING STM32WL SUPPORT 3 years ago
README.md

STM32WL family

st.com STM32WL family page

This ST MCU family is dual-core : based on an Arm Cortex-M4 core and an Arm Cortex-M0+ core.

Only M4 core is currently used by mbed-os applications.

Supported boards

NUCLEO_WL55JC

st.com STM32WL5x MCU page

st.com NUCLEO page

mbed.com NUCLEO page

  • Total FLASH is 256KB
  • RAM: 64 KB

[tip] mbed-os export feature

mbed export -m NUCLEO_WL55JC -i uvision6

This needs to locally add a patch: https://github.com/ARMmbed/mbed-os/pull/10424/files

mbed export -m NUCLEO_WL55JC -i iar

This needs to locally add a patch: https://github.com/jeromecoutant/mbed/blob/IAR_EXPORT_SUPPORT/tools/export/iar/iar_definitions.json#L62-L64

CUSTOM boards

Check https://github.com/ARMmbed/stm32customtargets#stm32wl

LoRa

MBED-OS support

Lora radio is enabled in default STM32WL configuration

baremetal support

Baremetal is supported.

mbed_app.json:

{
    "requires": ["bare-metal", "stm32wl-lora-driver"]
}

Antenna configuration

NUCLEO HW configuration is provided as the default configuration.

https://github.com/ARMmbed/mbed-os/blob/master/connectivity/drivers/lora/TARGET_STM32WL/STM32WL_radio_driver.cpp#L23

MBED_WEAK void set_antenna_switch(RBI_Switch_TypeDef state)

So you can overwrite it for your custom board.

GPIO debug pins

2 pins can be configured to check RX and TX activity.

Example of mbed_app.json:

{
    "target_overrides": {
        "NUCLEO_WL55JC": {
            "stm32wl-lora-driver.debug_rx": "LED1",
            "stm32wl-lora-driver.debug_tx": "LED2"
        }
    }
}

mbed-os test

target platform_name test suite result elapsed_time (sec) copy_method
NUCLEO_WL55JC-ARMC6 NUCLEO_WL55JC connectivity-lorawan-tests-tests-lorawan-loraradio OK 44.8 default

Application example

https://github.com/ARMmbed/mbed-os-example-lorawan/