Release Notes for

Projects of STM32CubeWBA Firmware Package

Copyright © 2022 STMicroelectronics

Purpose

The projects are a set of applicative tasks that aim to explain and provide use cases of the different products features based on the products hardware (Boards, STM32 Core(s) features, interconnections and peripherals) and built around the different firmware components. They can be directly used or adapted by the STM32CubeWBA Firmware Package users. They provide basic functionalities, show main features or demonstrate performance. They are provided with preconfigured projects for the main supported toolchains.

In the STM32CubeWBA Firmware Package, the projects are organized in a sequential scheme based on the following levels:

The exhaustive list of projects is provided in this table: STM32CubeProjectsList.

Update History

Main Changes

Official Patch Release of STM32CubeWBA Firmware package supporting STM32WBA52xx devices

Contents

Official Patch Release of STM32CubeWBA Projects

The Project categories flagged by “” have changed since the previous release. “” are new.

Projects

Board Project category Path
NUCLEO-WBA52CG Applications Projects\NUCLEO-WBA52CG\Applications
NUCLEO-WBA52CG HAL Examples Projects\NUCLEO-WBA52CG\Examples
NUCLEO-WBA52CG LL Examples Projects\NUCLEO-WBA52CG\Examples_LL
NUCLEO-WBA52CG MIX Examples Projects\NUCLEO-WBA52CG\Examples_MIX
NUCLEO-WBA52CG HAL Template Projects\NUCLEO-WBA52CG\Templates
NUCLEO-WBA52CG LL Template Projects\NUCLEO-WBA52CG\Templates_LL


  • Update Applications demonstrating BLE ThreadX capabilities to fix error_handler issue due to new Link Layer integration
    • Remove second call of ll_sys_config_params in MX_APPE_Init() function from app_entry.c
      • NUCLEO-WBA52CG/Applications/BLE/BLE_HeartRateThreadX
      • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pServerThreadX


Development Toolchains and Compilers

Toolchain + ST-Link Version Patch (if available)
IAR Embedded Workbench for ARM (EWARM) V9.20.1 Patch EWARM
RealView Microcontroller Development Kit (MDK-ARM) V5.37 Patch MDK-ARM
STM32CubeIDE V1.12.0 (GCC11) V1.12.0
  • IAR V9.20 limitation detected during the validation of STM32WBAxx Examples with TrustZone enabled:
    • Return from non-secure callable function call with FPU enabled and optimization set to High size may led to HardFault due to incorrect code generation
    • Workaround is to disable the optimization on the non-secure callable function as shared by IAR (while preserving the default FPU enabled product config) EWARM-9484
  • Support of ARM Compiler 6 (AC-5 like warnings) for HAL/LL/BSP drivers and STMicroelectronics Middleware components
  • To enable GCC11 with STM32CubeIDE, please refer STM32CubeIDE user guide (UM2609 - chapter “Toolchain manager”)


Supported Devices and boards

  • STM32WBA52xx devices
  • NUCLEO-WBA52CG board


Known Limitations

  • HAL/LL Examples
    • All examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: HASH/HASH_HMAC_SHA1MD5, HASH/HASH_SHA1MD5_DMA (only EWARM)
      • Examples: HASH/HASH_SHA1_DMA_TrustZone (only EWARM/STM32CubeIDE)
      • Examples: RTC/RTC_TrustZone (only EWARM/MDK-ARM)
      • Examples_LL: I2C/I2C_OneBoard_AdvCommunication_DMAAndIT_Init (only EWARM)
  • MW WPAN/BLE Applications
    • Applications based on ThreadX do not currently support Standby mode.
    • Systick is not currently supported in Standby mode in delivered BLE applications.
    • STM32CubeIDE support: for “debug” configuration optimization level as to be set to -Os.
    • ThreadX based application: RNG and PKA tasks priorities must be higher than BLE Host stack task.
    • Warning: Sequencer task definition is no longer split in 2 enumerations.
      • This implies user code sections have been renamed. It may be necessary to fulfill newly created user code section with previous content.
    • All BLE applications are developed using CubeMx except BLE/BLE_ApplicationInstallManager (not eligible)
    • All BLE applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • BLE/BLE_HeartRate_ota (only EWARM)
      • BLE/BLE_p2pServer_ota (only EWARM)
      • BLE/BLE_p2pServerThreadX (only EWARM/STM32CubeIDE)
      • BLE/BLE_HeartRateThreadX (only EWARM/STM32CubeIDE)
  • MW AzureRTOS Applications
    • All AzureRTOS applications are developed using CubeMx except ThreadX/Tx_MPU (not eligible)
  • MW OpenBootloader Application
    • OpenBootloader application is not developed using CubeMx (not eligible)
  • MW SBSFU/TFM Applications
    • All SBSFU/TFM applications are not developed using CubeMx (not eligible)
  • Utilities Applications
    • NUCLEO-WBA52CG/Applications/LPM/Tiny_lpm_3modes application is developed using CubeMx and is only provided with EWARM support


Dependencies

  • STM32CubeMX V6.9.0
    • Projects (Applications and Examples) are generated using STM32CubeMX version V6.9.0.
  • STM32CubeMX V6.9.2
    • Applications/BLE/BLE_HeartRateThreadX and Applications/BLE/BLE_p2pServerThreadX are generated using STM32CubeMX version V6.9.2.


Backward compatibility

  • Not applicable

Notes

  • None


Main Changes

Official Release of STM32CubeWBA Firmware package supporting STM32WBA52xx devices

Contents

Official Release of STM32CubeWBA Projects

The Project categories flagged by “” have changed since the previous release. “” are new.

Projects

Board Project category Path
NUCLEO-WBA52CG Applications Projects\NUCLEO-WBA52CG\Applications
NUCLEO-WBA52CG HAL Examples Projects\NUCLEO-WBA52CG\Examples
NUCLEO-WBA52CG LL Examples Projects\NUCLEO-WBA52CG\Examples_LL
NUCLEO-WBA52CG MIX Examples Projects\NUCLEO-WBA52CG\Examples_MIX
NUCLEO-WBA52CG HAL Template Projects\NUCLEO-WBA52CG\Templates
NUCLEO-WBA52CG LL Template Projects\NUCLEO-WBA52CG\Templates_LL


  • Update Applications demonstrating Bluetooth Low Energy capabilities with STM32WBA52xx
    • Maximum number of simultaneous connections supported by the device is now 20
      • using library LinkLayer_BLE_Basic_20_links_lib.a (to be used with stm32wba_ble_stack_basic or stm32wba_ble_stack_llobasic)
    • System Clock Manager (scm): PLL is supported with BLE applications
    • BLE stack options are now configurable from CubeMX interface
    • MAX ATT MTU size set to 251


  • Update Examples HAL/LL/MIX demonstrating IP peripherals to include latest corrections
  • Add new Examples HAL/LL for ADC, HASH, I2C, IWDG, PKA, PWR, SPI, TIM and UART IP peripherals
    • NUCLEO-WBA52CG/Examples/HASH/HASH_HMAC_SHA1MD5
    • NUCLEO-WBA52CG/Examples/HASH/HASH_SHA1MD5_DMA
    • NUCLEO-WBA52CG/Examples/IWDG/IWDG_Reset
    • NUCLEO-WBA52CG/Examples/PWR/PWR_STANDBY_RTC
    • NUCLEO-WBA52CG/Examples/TIM/TIM_DMA
    • NUCLEO-WBA52CG/Examples/TIM/TIM_DMABurst
    • NUCLEO-WBA52CG/Examples/UART/UART_TwoBoards_ComDMA
    • NUCLEO-WBA52CG/Examples/UART/UART_TwoBoards_ComIT
    • NUCLEO-WBA52CG/Examples/UART/UART_TwoBoards_ComPolling
    • NUCLEO-WBA52CG/Examples_LL/ADC/ADC_ContinuousConversion_TriggerSW_LowPower_Init
    • NUCLEO-WBA52CG/Examples_LL/ADC/ADC_SingleConversion_TriggerSW_DMA_Init
    • NUCLEO-WBA52CG/Examples_LL/ADC/ADC_SingleConversion_TriggerTimer_DMA_Init
    • NUCLEO-WBA52CG/Examples_LL/I2C/I2C_OneBoard_AdvCommunication_DMAAndIT_Init
    • NUCLEO-WBA52CG/Examples_LL/I2C/I2C_TwoBoards_WakeUpFromStop_IT_Init
    • NUCLEO-WBA52CG/Examples_LL/PKA/PKA_ModularExponentiation
    • NUCLEO-WBA52CG/Examples_LL/PWR/PWR_EnterStandbyMode
    • NUCLEO-WBA52CG/Examples_LL/PWR/PWR_OptimizedRunMode
    • NUCLEO-WBA52CG/Examples_LL/SPI/SPI_OneBoard_HalfDuplex_DMA_Init
    • NUCLEO-WBA52CG/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Master_Init
    • NUCLEO-WBA52CG/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_DMA_Slave_Init
    • NUCLEO-WBA52CG/Examples_LL/SPI/SPI_TwoBoards_FullDuplex_IT_Master_Init


  • Update Applications AzureRTOS supporting AzureRTOS 6.2.0
    • Add Azure RTOS MW initialization support to ThreadX and FileX
  • Update Applications SBSFU/TFM
    • Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support


Development Toolchains and Compilers

Toolchain + ST-Link Version Patch (if available)
IAR Embedded Workbench for ARM (EWARM) V9.20.1 Patch EWARM
RealView Microcontroller Development Kit (MDK-ARM) V5.37 Patch MDK-ARM
STM32CubeIDE V1.12.0 (GCC11) V1.12.0
  • IAR V9.20 limitation detected during the validation of STM32WBAxx Examples with TrustZone enabled:
    • Return from non-secure callable function call with FPU enabled and optimization set to High size may led to HardFault due to incorrect code generation
    • Workaround is to disable the optimization on the non-secure callable function as shared by IAR (while preserving the default FPU enabled product config) EWARM-9484
  • Support of ARM Compiler 6 (AC-5 like warnings) for HAL/LL/BSP drivers and STMicroelectronics Middleware components
  • To enable GCC11 with STM32CubeIDE, please refer STM32CubeIDE user guide (UM2609 - chapter “Toolchain manager”)


Supported Devices and boards

  • STM32WBA52xx devices
  • NUCLEO-WBA52CG board


Known Limitations

  • HAL/LL Examples
    • All examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: HASH/HASH_HMAC_SHA1MD5, HASH/HASH_SHA1MD5_DMA (only EWARM)
      • Examples: HASH/HASH_SHA1_DMA_TrustZone (only EWARM/STM32CubeIDE)
      • Examples: RTC/RTC_TrustZone (only EWARM/MDK-ARM)
      • Examples_LL: I2C/I2C_OneBoard_AdvCommunication_DMAAndIT_Init (only EWARM)
  • MW WPAN/BLE Applications
    • Applications based on ThreadX do not currently support Standby mode.
    • Systick is not currently supported in Standby mode in delivered BLE applications.
    • STM32CubeIDE support: for “debug” configuration optimization level as to be set to -Os.
    • ThreadX based application: RNG and PKA tasks priorities must be higher than BLE Host stack task.
    • Warning: Sequencer task definition is no longer split in 2 enumerations.
      • This implies user code sections have been renamed. It may be necessary to fulfill newly created user code section with previous content.
    • All BLE applications are developed using CubeMx except BLE/BLE_ApplicationInstallManager (not eligible)
    • All BLE applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • BLE/BLE_HeartRate_ota (only EWARM)
      • BLE/BLE_p2pServer_ota (only EWARM)
      • BLE/BLE_p2pServerThreadX (only EWARM/STM32CubeIDE)
      • BLE/BLE_HeartRateThreadX (only EWARM/STM32CubeIDE)
  • MW AzureRTOS Applications
    • All AzureRTOS applications are developed using CubeMx except ThreadX/Tx_MPU (not eligible)
  • MW OpenBootloader Application
    • OpenBootloader application is not developed using CubeMx (not eligible)
  • MW SBSFU/TFM Applications
    • All SBSFU/TFM applications are not developed using CubeMx (not eligible)
  • Utilities Applications
    • NUCLEO-WBA52CG/Applications/LPM/Tiny_lpm_3modes application is developed using CubeMx and is only provided with EWARM support


Dependencies

  • STM32CubeMX V6.9.0
    • Projects (Applications and Examples) are generated using STM32CubeMX version V6.9.0.


Backward compatibility

  • Not applicable

Notes

  • None


Main Changes

First Official Release of STM32CubeWBA Firmware package supporting STM32WBA52xx devices

Contents

First Official Release of STM32CubeWBA Projects

The Project categories flagged by “” have changed since the previous release. “” are new.

Projects

Board Project category Path
NUCLEO-WBA52CG Applications Projects\NUCLEO-WBA52CG\Applications
NUCLEO-WBA52CG HAL Examples Projects\NUCLEO-WBA52CG\Examples
NUCLEO-WBA52CG LL Examples Projects\NUCLEO-WBA52CG\Examples_LL
NUCLEO-WBA52CG MIX Examples Projects\NUCLEO-WBA52CG\Examples_MIX
NUCLEO-WBA52CG HAL Template Projects\NUCLEO-WBA52CG\Templates
NUCLEO-WBA52CG LL Template Projects\NUCLEO-WBA52CG\Templates_LL


  • Applications to demonstrate Bluetooth Low Energy capabilities with STM32WBA52xx
    • NUCLEO-WBA52CG/Applications/BLE/BLE_ApplicationInstallManager
    • NUCLEO-WBA52CG/Applications/BLE/BLE_Beacon
    • NUCLEO-WBA52CG/Applications/BLE/BLE_DataThroughput_Client
    • NUCLEO-WBA52CG/Applications/BLE/BLE_DataThroughput_Server
    • NUCLEO-WBA52CG/Applications/BLE/BLE_HealthThermometer
    • NUCLEO-WBA52CG/Applications/BLE/BLE_HeartRate
    • NUCLEO-WBA52CG/Applications/BLE/BLE_HeartRateThreadX
    • NUCLEO-WBA52CG/Applications/BLE/BLE_HeartRate_ota
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pClient
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pClient_Ext
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pRouter
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pServer
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pServerThreadX
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pServer_Ext
    • NUCLEO-WBA52CG/Applications/BLE/BLE_p2pServer_ota
    • NUCLEO-WBA52CG/Applications/BLE/BLE_SerialCom_Central
    • NUCLEO-WBA52CG/Applications/BLE/BLE_SerialCom_Peripheral
    • NUCLEO-WBA52CG/Applications/BLE/BLE_TransparentMode


  • Templates (TrustZone Disabled/Enabled) and Templates_LL projects based on HAL/LL APIs
    • NUCLEO-WBA52CG/Templates/TrustZoneDisabled
    • NUCLEO-WBA52CG/Templates/TrustZoneEnabled
    • NUCLEO-WBA52CG/Templates_LL/TrustZoneDisabled


  • Examples HAL/LL/MIX for all IP peripherals (TrustZone Disabled/Enabled)
    • NUCLEO-WBA52CG/Examples (103 projects)
      • ADC/ADC_AnalogWatchdog, ADC/ADC_MultiChannelSingleConversion, ADC/ADC_Oversampling, ADC/ADC_SingleConversion_TriggerSW_IT, ADC/ADC_SingleConversion_TriggerTimer_DMA
      • BSP/BSP_Example
      • CORTEX/CORTEXM_InterruptSwitch_TrustZone, CORTEX/CORTEXM_ModePrivilege
      • CORTEX/CORTEXM_MPU, CORTEX/CORTEXM_ProcessStack, CORTEX/CORTEXM_SysTick
      • CRC/CRC_Bytes_Stream_7bit_CRC, CRC/CRC_Data_Reversing_16bit_CRC, CRC/CRC_Example, CRC/CRC_UserDefinedPolynomial
      • CRYP/CRYP_AESModes, CRYP/CRYP_DMA, CRYP/CRYP_GCM_GMAC_CMAC_Suspension, CRYP/CRYP_SAES_SharedKey, CRYP/CRYP_SAES_WrapKey
      • DMA/DMA_FLASHToRAM, DMA/DMA_MemToMem_TrustZone
      • FLASH/FLASH_BlockBased_TrustZone, FLASH/FLASH_EraseProgram, FLASH/FLASH_EraseProgram_TrustZone, FLASH/FLASH_WriteProtection
      • GPIO/GPIO_EXTI, GPIO/GPIO_IOToggle, GPIO/GPIO_IOToggle_TrustZone
      • GTZC/GTZC_TZSC_MPCBB_TrustZone
      • HAL/HAL_TimeBase, HAL/HAL_TimeBase_RTC_WKUP, HAL/HAL_TimeBase_TIM
      • HASH/HASH_HMAC_SHA256MD5_IT_Suspension, HASH/HASH_SHA1MD5, HASH/HASH_SHA1SHA224_IT_Suspension, HASH/HASH_SHA1_DMA_TrustZone, HASH/HASH_SHA224SHA256_DMA
      • HSEM/HSEM_ProcessSync, HSEM/HSEM_ReadLock
      • I2C/I2C_TwoBoards_AdvComIT, I2C/I2C_TwoBoards_ComDMA, I2C/I2C_TwoBoards_ComDMA_Autonomous_Master, I2C/I2C_TwoBoards_ComDMA_Autonomous_Slave, I2C/I2C_TwoBoards_ComIT, I2C/I2C_TwoBoards_ComPolling, I2C/I2C_TwoBoards_RestartAdvComIT, I2C/I2C_TwoBoards_RestartComIT, I2C/I2C_WakeUpFromStop
      • IWDG/IWDG_WindowMode
      • LPTIM/LPTIM_PulseCounter, LPTIM/LPTIM_Timeout
      • PKA/PKA_ECCscalarMultiplication, PKA/PKA_ECCscalarMultiplication_IT, PKA/PKA_ECDSA_Sign, PKA/PKA_ECDSA_Sign_IT, PKA/PKA_ECDSA_Verify, PKA/PKA_ECDSA_Verify_IT, PKA/PKA_ModularExponentiation, PKA/PKA_ModularExponentiationCRT, PKA/PKA_ModularExponentiationCRT_IT, PKA/PKA_ModularExponentiation_IT, PKA/PKA_PointCheck, PKA/PKA_PointCheck_IT
      • PWR/PWR_SLEEP, PWR/PWR_STANDBY, PWR/PWR_STOP1
      • RAMCFG/RAMCFG_Parity_Error, RAMCFG/RAMCFG_WriteProtection
      • RCC/RCC_ClockConfig, RCC/RCC_ClockConfig_TrustZone, RCC/RCC_LSEConfig, RCC/RCC_LSIConfig
      • RNG/RNG_MultiRNG, RNG/RNG_MultiRNG_IT
      • RTC/RTC_Alarm, RTC/RTC_Calendar, RTC/RTC_LSI, RTC/RTC_Tamper, RTC/RTC_TimeStamp, RTC/RTC_TrustZone
      • SPI/SPI_FullDuplex_ComDMA_Autonomous_Master, SPI/SPI_FullDuplex_ComDMA_Autonomous_Slave
      • SPI/SPI_FullDuplex_ComDMA_Master, SPI/SPI_FullDuplex_ComDMA_Slave, SPI/SPI_FullDuplex_ComIT_Master, SPI/SPI_FullDuplex_ComIT_Slave, SPI/SPI_FullDuplex_ComPolling_Master, SPI/SPI_FullDuplex_ComPolling_Slave
      • TIM/TIM_ExtTriggerSynchro, TIM/TIM_InputCapture, TIM/TIM_OCActive, TIM/TIM_OCInactive, TIM/TIM_OCToggle, TIM/TIM_OnePulse, TIM/TIM_PWMInput, TIM/TIM_PWMOutput, TIM/TIM_TimeBase
      • UART/UART_HyperTerminal_DMA, UART/UART_HyperTerminal_IT, UART/UART_Printf, USART/USART_SlaveMode
      • WWDG/WWDG_Example
    • NUCLEO-WBA52CG/Examples_LL (49 projects)
      • ADC/ADC_AnalogWatchdog_Init, ADC/ADC_ContinuousConversion_TriggerSW_Init, ADC/ADC_Oversampling_Init, ADC/ADC_SingleConversion_TriggerSW_Init, ADC/ADC_SingleConversion_TriggerSW_IT_Init, ADC/ADC_TemperatureSensor_Init
      • CORTEX/CORTEX_MPU
      • CRC/CRC_CalculateAndCheck, CRC/CRC_UserDefinedPolynomial
      • DMA/DMA_CopyFromFlashToMemory_Init
      • EXTI/EXTI_ToggleLedOnIT_Init
      • GPIO/GPIO_InfiniteLedToggling_Init
      • HSEM/HSEM_DualProcess, HSEM/HSEM_DualProcess_IT
      • I2C/I2C_OneBoard_Communication_DMAAndIT_Init, I2C/I2C_OneBoard_Communication_IT_Init, I2C/I2C_OneBoard_Communication_PollingAndIT_Init, I2C/I2C_TwoBoards_MasterRx_SlaveTx_IT_Init, I2C/I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init, I2C/I2C_TwoBoards_MasterTx_SlaveRx_Init
      • LPTIM/LPTIM_PulseCounter_Init
      • PKA/PKA_ECDSA_Sign
      • PWR/PWR_EnterStopMode
      • RCC/RCC_OutputSystemClockOnMCO, RCC/RCC_UseHSEasSystemClock, RCC/RCC_UseHSI_PLLasSystemClock
      • RNG/RNG_GenerateRandomNumbers, RNG/RNG_GenerateRandomNumbers_IT
      • RTC/RTC_Alarm_Init, RTC/RTC_Calendar_Init, RTC/RTC_ExitStandbyWithWakeUpTimer_Init, RTC/RTC_Tamper_Init, RTC/RTC_TimeStamp_Init
      • SPI/SPI_OneBoard_HalfDuplex_IT_Init
      • TIM/TIM_BreakAndDeadtime_Init, TIM/TIM_InputCapture_Init, TIM/TIM_OutputCompare_Init, TIM/TIM_PWMOutput_Init, TIM/TIM_TimeBase_Init
      • USART/USART_Communication_Rx_IT_Continuous_Init, USART/USART_Communication_Rx_IT_Continuous_VCP_Init, USART/USART_Communication_Rx_IT_Init, USART/USART_Communication_Rx_IT_VCP_Init, USART/USART_Communication_Tx_Init, USART/USART_Communication_Tx_IT_Init, USART/USART_Communication_Tx_IT_VCP_Init, USART/USART_Communication_Tx_VCP_Init, USART/USART_HardwareFlowControl_Init
      • WWDG/WWDG_RefreshUntilUserEvent_Init
    • NUCLEO-WBA52CG/Examples_MIX (8 projects)
      • ADC/ADC_SingleConversion_TriggerSW_IT
      • CRC/CRC_PolynomialUpdate
      • DMA/DMA_FLASHToRAM
      • I2C/I2C_OneBoard_ComSlave7_10bits_IT
      • PWR/PWR_STOP1
      • TIM/TIM_PWMInput
      • UART/UART_HyperTerminal_IT, UART/UART_HyperTerminal_TxPolling_RxIT


  • Applications SBSFU/TFM
    • NUCLEO-WBA52CG/Applications/SBSFU
    • NUCLEO-WBA52CG/Applications/TFM


  • Application OpenBootloader
    • NUCLEO-WBA52CG/Applications/OpenBootloader


  • Applications AzureRTOS supporting AzureRTOS 6.2.0
    • NUCLEO-WBA52CG/Applications/FileX/Fx_File_Edit_Standalone
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_CMSIS_Wrapper
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_FreeRTOS_Wrapper
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_LowPower
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_MPU
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_Thread_Creation
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_Thread_MsgQueue
    • NUCLEO-WBA52CG/Applications/ThreadX/Tx_Thread_Sync


  • Applications to demonstrate Utilities
    • NUCLEO-WBA52CG/Applications/LPM/Tiny_lpm_3modes
    • NUCLEO-WBA52CG/Applications/Sequencer/Sequencer_gpio_toggle
    • NUCLEO-WBA52CG/Applications/Sequencer/Sequencer_gpio_toggle_lowpower
    • NUCLEO-WBA52CG/Applications/Sequencer/Sequencer_task_pauseresume
    • NUCLEO-WBA52CG/Applications/Sequencer/Sequencer_task_prio
    • NUCLEO-WBA52CG/Applications/Sequencer/Sequencer_task_waitevent


Development Toolchains and Compilers

Toolchain + ST-Link Version Patch (if available)
IAR Embedded Workbench for ARM (EWARM) V9.20.1 Patch EWARM
RealView Microcontroller Development Kit (MDK-ARM) V5.37 Patch MDK-ARM
STM32CubeIDE V1.12.0 (GCC11) V1.12.0
  • IAR V9.20 limitation detected during the validation of STM32WBAxx Examples with TrustZone enabled:
    • Return from non-secure callable function call with FPU enabled and optimization set to High size may led to HardFault due to incorrect code generation
    • Workaround is to disable the optimization on the non-secure callable function as shared by IAR (while preserving the default FPU enabled product config) EWARM-9484
  • Support of ARM Compiler 6 (AC-5 like warnings) for HAL/LL/BSP drivers and STMicroelectronics Middleware components
  • To enable GCC11 with STM32CubeIDE, please refer STM32CubeIDE user guide (UM2609 - chapter “Toolchain manager”)


Supported Devices and boards

  • STM32WBA52xx devices
  • NUCLEO-WBA52CG board


Known Limitations

  • HAL/LL Examples
    • All examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: CRYP/CRYP_GCM_GMAC_CMAC_Suspension, HASH/HASH_SHA1_DMA_TrustZone (only EWARM)
      • Examples: GTZC/GTZC_TZSC_MPCBB_TrustZone, RTC/RTC_TrustZone (only EWARM/MDK-ARM)
      • Examples: CRYP/CRYP_AESModes, CRYP/CRYP_DMA, ADC/ADC_MultiChannelSingleConversion (only EWARM/STM32CubeIDE)
      • Examples_LL: LPTIM/LPTIM_PulseCounter_Init, TIM/TIM_OnePulse_Init (only EWARM)
  • MW WPAN/BLE Applications
    • Applications based on ThreadX do not currently support Standby mode
    • System Clock Manager (scm) : PLL is not supported with BLE applications
    • Systick is not currently supported in Standby mode in delivered BLE applications
    • All BLE applications are developed using CubeMx except BLE/BLE_ApplicationInstallManager (not eligible)
    • Only BLE/BLE_HeartRate application is provided with EWARM, MDK-ARM and STM32CubeIDE support
    • All other BLE applications are provided with EWARM and STM32CubeIDE support except:
      • BLE/BLE_ApplicationInstallManager (only EWARM)
      • BLE/BLE_HeartRate_ota (only EWARM)
      • BLE/BLE_p2pServerThreadX (only EWARM)
      • BLE/BLE_p2pServer_ota (only EWARM)
    • STM32CubeIDE support: the Debug configuration optimization level has to be set to -Os
  • MW AzureRTOS Applications
    • All AzureRTOS applications are developed using CubeMx except ThreadX/Tx_MPU (not eligible)
  • MW OpenBootloader Application
    • OpenBootloader application is not developed using CubeMx (not eligible)
  • MW SBSFU/TFM Applications
    • All SBSFU/TFM applications are not developed using CubeMx (not eligible) and are provided with EWARM and STM32CubeIDE support
  • Utilities Applications
    • All Utilities applications are developed using CubeMx and are only provided with EWARM support


Dependencies

  • STM32CubeMX V6.8.0
    • Projects (Applications and Examples) are generated using STM32CubeMX version V6.8.0.


Backward compatibility

  • Not applicable

Notes

  • None