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

Patch Release of STM32CubeWBA Firmware package supporting STM32WBA50xx, STM32WBA52xx, STM32WBA54xx and STM32WBA55xx devices

Contents

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
NUCLEO-WBA55CG Applications Projects\NUCLEO-WBA55CG\Applications
NUCLEO-WBA55CG HAL Examples Projects\NUCLEO-WBA55CG\Examples
NUCLEO-WBA55CG LL Examples Projects\NUCLEO-WBA55CG\Examples_LL
NUCLEO-WBA55CG MIX Examples Projects\NUCLEO-WBA55CG\Examples_MIX
NUCLEO-WBA55CG HAL Template Projects\NUCLEO-WBA55CG\Templates
NUCLEO-WBA55CG LL Template Projects\NUCLEO-WBA55CG\Templates_LL
STM32WBA55G-DK1 Applications Projects\STM32WBA55G-DK1\Applications
STM32WBA55G-DK1 HAL Examples Projects\STM32WBA55G-DK1\Examples
STM32WBA55G-DK1 LL Examples Projects\STM32WBA55G-DK1\Examples_LL
STM32WBA55G-DK1 HAL Template Projects\STM32WBA55G-DK1\Templates
STM32WBA55G-DK1 LL Template Projects\STM32WBA55G-DK1\Templates_LL


Connectivity

  • Productive PHY settings including AoA/AoD support.

  • WIFI Packet Traffic Arbiter (via PTACONV) support on 802.15.4 applications.


NUCLEO-WBA55CG

  • Update Applications demonstrating BLE capabilities
  • Update Applications demonstrating Zigbee capabilities
  • Update Applications demonstrating Thread capabilities
  • Update Applications demonstrating MAC and PHY capabilities


  • Add new application demonstrating Thread capabilities
    • Thread_Udp


NUCLEO-WBA52CG

  • None


STM32WBA55G-DK1

  • Update Applications demonstrating BLE Audio capabilities :
    • Sets an initial volume when TMAP peripheral starts with broadcast sink.
    • Glitch on right remote Set Member due to fake stereo generation issue at TMAP and HAP Central.
    • Improve disconnection action in TMAP/HAP Central project to disconnect to all connected devices.
    • Change Project application to remove margin to the min controller delay by reading Controller delay with codec configuration length nul.
    • Update HAP and TMAP projects to improve behavior when ACL disconnection occurs.
    • Code change to add SUPPORTED_AUDIO_CHNL_COUNT_1 in capability CODEC_CAP_AUDIO_CHNL_COUNTS in PAC Record in TMAP Peripheral and HAP Peripheral projects.
    • Add CODEC_PROC_MARGIN_US and CODEC_RF_SETUP_US, remove extra margin at the application level.
    • Add GAP Database Appearance update on TMAP Peripheral.

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.38 Patch MDK-ARM
STM32CubeIDE V1.15.1 (GCC12) V1.15.1
  • 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


Supported Devices and boards

  • STM32WBA50xx, STM32WBA52xx, STM32WBA54xx and STM32WBA55xx
  • NUCLEO-WBA52CG, NUCLEO-WBA55CG and STM32WBA55G-DK1 boards


Known Limitations

  • The following projects using RTC TAMPER feature and push-button line are not functional with Nucleo MB1801-RevD:
    • Applications/SBSFU
    • Applications/TFM
    • Examples/RTC/RTC_TimeStamp
    • Examples_LL/RTC/RTC_TimeStamp_Init
  • Possible workaround is to add external pull-up on the board, to avoid floating lines in this specific configuration.


  • NUCLEO-WBA52CG
    • All LL/HAL Examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • 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 (EWARM / MDK-ARM)
    • Utilities Applications
      • The LPM/Tiny_lpm_3modes application is only provided with EWARM support
      • Tx_MPU ThreadX application is not supported in STM32CubeIDE
  • NUCLEO-WBA55CG
    • All LL/HAL Examples are developed using CubeMx except CORTEX/CORTEXM_SysTick_LSE (will be supported within next CubeMx version)
    • LL/HAL Examples have been validated on EWARM and MDK-ARM/STM32CubeIDE configuration are provided as is
    • All Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Zigbee :
        • Zigbee_OnOff_Client_Router_OTA and Zigbee_TempMeas_Server_SED (not supported in STM32CubeIDE and MDK-ARM)
        • Zigbee_APS_Coord and Zigbee_APS_Router (not supported in MDK-ARM)
        • Zigbee_OnOff_Server_Coord_ThreadX and Zigbee_OnOff_Client_Router_ThreadX (not supported in CubeIDE)
  • STM32WBA55G-DK1
    • All LL/HAL Examples are developed using CubeMx except BSP/BSP_Example
    • All Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: RTC/RTC_ActiveTamper (only EWARM)
      • Examples_LL: RTC/RTC_Tamper_Init, RTC_TimeStamp_Init (only EWARM)


Dependencies

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


Backward compatibility

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1 boards
  • Connectivity applications are not supported on this release for NUCLEO-WBA52CG board


Notes

  • None


Main Changes

Official Release of STM32CubeWBA Firmware package supporting STM32WBA50xx, STM32WBA52xx, STM32WBA54xx and STM32WBA55xx 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
NUCLEO-WBA55CG Applications Projects\NUCLEO-WBA55CG\Applications
NUCLEO-WBA55CG HAL Examples Projects\NUCLEO-WBA55CG\Examples
NUCLEO-WBA55CG LL Examples Projects\NUCLEO-WBA55CG\Examples_LL
NUCLEO-WBA55CG MIX Examples Projects\NUCLEO-WBA55CG\Examples_MIX
NUCLEO-WBA55CG HAL Template Projects\NUCLEO-WBA55CG\Templates
NUCLEO-WBA55CG LL Template Projects\NUCLEO-WBA55CG\Templates_LL
STM32WBA55G-DK1 Applications Projects\STM32WBA55G-DK1\Applications
STM32WBA55G-DK1 HAL Examples Projects\STM32WBA55G-DK1\Examples
STM32WBA55G-DK1 LL Examples Projects\STM32WBA55G-DK1\Examples_LL
STM32WBA55G-DK1 HAL Template Projects\STM32WBA55G-DK1\Templates
STM32WBA55G-DK1 LL Template Projects\STM32WBA55G-DK1\Templates_LL


Connectivity

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1
  • Connectivity applications not supported on this release for NUCLEO-WBA52CG
  • Applications based on ThreadX are now delivered on MDK-ARM (Keil) toolchain.

  • Zigbee Applications:
    • By default, Zigbee Applications are based on the Zigbee R23 stack version. Nevertheless , on this release most of these Zigbee applications supports R22 stack version as well (Refers to the a readme.html associated to each application)
  • ID 182792 - WBA Keil MDK-ARM project link issue
    • Current solution is to do the following modification manually after the generation:
      1. Right click on your project and click on “Options for Target […]”.
      2. Click on the “C/C++ (AC6)” panel.
      3. Untick the “Short enums/wchar” compiler option.
      4. Manually add to “Misc Controls” as addition compiler options the “-fshort-enums” option.
      5. Save your project, click on build, and the libraries will be linked.

NUCLEO-WBA55CG

  • Update Applications demonstrating BLE capabilities
  • Update Applications demonstrating Zigbee capabilities
  • Update Applications demonstrating Thread capabilities
  • Add new application demonstrating BLE capabilities
    • BLE_p2pServer_Simplest
      • Demonstre Point-to-Point communication using BLE configuration as simple as possible
  • Add new application demonstrating MAC capabilities
    • Mac_802_15_4_LPM_Periodic_Tx
  • Add new application demonstrating Zigbee capabilities
    • Zigbee_OTA_Client_Router
    • Zigbee_OTA_Server_Coord
    • Zigbee_OnOff_Nvm_Client_Router
    • Zigbee_OnOff_Nvm_Server_Coord
    • Zigbee_PowerConfig_Server_SED

NUCLEO-WBA52CG

  • Update Applications demonstrating SBSFU/TFM capabilities

STM32WBA55G-DK1

  • Add new BLE Audio applications demonstrating Hearing Access Profile
    • BLE_Audio_HAP_Central
    • BLE_Audio_HAP_Peripheral
  • Rename applications demonstrating BLE Audio
    • Ble_Audio_TMAP_Unicast_Server to Ble_Audio_TMAP_Peripheral
    • Ble_Audio_TMAP_Unicast_Client to Ble_Audio_TMAP_Central
  • Update applications demonstrating BLE Audio capabilities
    • Add Broadcast feature in TMAP projects
    • Add Coordinated Set feature in TMAP projects
  • Update Applications demonstrating BLE capabilities
  • Update Applications demonstrating Zigbee capabilities


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.38 Patch MDK-ARM
STM32CubeIDE V1.15.1 (GCC12) V1.15.1
  • 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


Supported Devices and boards

  • STM32WBA50xx, STM32WBA52xx, STM32WBA54xx and STM32WBA55xx
  • NUCLEO-WBA52CG, NUCLEO-WBA55CG and STM32WBA55G-DK1 boards


Known Limitations

  • The following projects using RTC TAMPER feature and push-button line are not functional with Nucleo MB1801-RevD:
    • Applications/SBSFU
    • Applications/TFM
    • Examples/RTC/RTC_TimeStamp
    • Examples_LL/RTC/RTC_TimeStamp_Init
  • Possible workaround is to add external pull-up on the board, to avoid floating lines in this specific configuration.


  • NUCLEO-WBA52CG
    • All LL/HAL Examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • 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 (EWARM / MDK-ARM)
    • Utilities Applications
      • The LPM/Tiny_lpm_3modes application is only provided with EWARM support
      • Tx_MPU ThreadX application is not supported in STM32CubeIDE
  • NUCLEO-WBA55CG
    • All LL/HAL Examples are developed using CubeMx except CORTEX/CORTEXM_SysTick_LSE (will be supported within next CubeMx version)
    • LL/HAL Examples have been validated on EWARM and MDK-ARM/STM32CubeIDE configuration are provided as is
    • All Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Zigbee :
        • Zigbee_OnOff_Client_Router_OTA and Zigbee_TempMeas_Server_SED (not supported in STM32CubeIDE and MDK-ARM)
        • Zigbee_APS_Coord and Zigbee_APS_Router (not supported in MDK-ARM)
        • Zigbee_OnOff_Server_Coord_ThreadX and Zigbee_OnOff_Client_Router_ThreadX (not supported in CubeIDE)
  • STM32WBA55G-DK1
    • All LL/HAL Examples are developed using CubeMx except BSP/BSP_Example
    • All Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: RTC/RTC_ActiveTamper (only EWARM)
      • Examples_LL: RTC/RTC_Tamper_Init, RTC_TimeStamp_Init (only EWARM)


Dependencies

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


Backward compatibility

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1 boards
  • Connectivity applications are not supported on this release for NUCLEO-WBA52CG board


Notes

  • None


Main Changes

Official Patch Release of STM32CubeWBA Firmware package supporting STM32WBA52xx and STM32WBA55xx 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
NUCLEO-WBA55CG Applications Projects\NUCLEO-WBA55CG\Applications
NUCLEO-WBA55CG HAL Examples Projects\NUCLEO-WBA55CG\Examples
NUCLEO-WBA55CG LL Examples Projects\NUCLEO-WBA55CG\Examples_LL
NUCLEO-WBA55CG MIX Examples Projects\NUCLEO-WBA55CG\Examples_MIX
NUCLEO-WBA55CG HAL Template Projects\NUCLEO-WBA55CG\Templates
NUCLEO-WBA55CG LL Template Projects\NUCLEO-WBA55CG\Templates_LL
STM32WBA55G-DK1 Applications Projects\STM32WBA55G-DK1\Applications
STM32WBA55G-DK1 HAL Examples Projects\STM32WBA55G-DK1\Examples
STM32WBA55G-DK1 LL Examples Projects\STM32WBA55G-DK1\Examples_LL
STM32WBA55G-DK1 HAL Template Projects\STM32WBA55G-DK1\Templates
STM32WBA55G-DK1 LL Template Projects\STM32WBA55G-DK1\Templates_LL


Connectivity

  • BLE Applications
    • BLE_BeaconHCI:
      • ID 170214: Fix unaligned access memory on Keil with MEMSET macro, .ioc file removed as this project is not CubeMX compliant with fix mentioned above.


NUCLEO-WBA55CG

  • Update of RTC_TAMPER configuration to support Nucleo MB1801 revD without external pull-up on push_button
    • Examples/RTC/RTC_Tamper
    • Examples_LL/RTC/RTC_Tamper_Init


NUCLEO-WBA52CG

  • Update Applications SBSFU/TFM.
  • Update of RTC_TAMPER configuration to support Nucleo MB1801 revD without external pull-up on push_button
    • Examples/RTC/RTC_Tamper
    • Examples_LL/RTC/RTC_Tamper_Init


STM32WBA55G-DK1

  • STM32WBA55G-DK1 Audio :
    • MDK-ARM projects porting added.
    • Improve behavior of Unicast Server with Pixel smartphone: Lower MTU to 100 and request ACL PHY Change to 2M to reduce the ACL to ISO timing.
    • Add headset microphone gain configuration in app_conf.h.
    • Move I2C initialization before CIS establishment.


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.38 Patch MDK-ARM
STM32CubeIDE V1.14.0 (GCC11) V1.14.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


Supported Devices and boards

  • STM32WBA52xx and STM32WBA55xx devices
  • NUCLEO-WBA52CG, NUCLEO-WBA55CG and STM32WBA55G-DK1 boards


Known Limitations

  • The following projects using RTC TAMPER feature and push-button line are not functional with Nucleo MB1801-RevD:
    • Applications/SBSFU
    • Applications/TFM
    • Examples/RTC/RTC_TimeStamp
    • Examples_LL/RTC/RTC_TimeStamp_Init
  • Possible workaround is to add external pull-up on the board, to avoid floating lines in this specific configuration.


  • Applications based on ThreadX not delivered on MDK-ARM (Keil) toolchain:
    • ID 152807: Compilation issue on MDK-ARM (Keil) with MW threadx-6.2.0.221223.
  • BLE Audio Projects not delivered on MDK-ARM (Keil) toolchain :
    • ID 171331 : Library compiled with “hardfp” not correctly linked to math function provided by Keil
  • BLE Audio TMAP Unicast Client Project:
    • In TMAP Call Gateway role, CIS/ACL disconnection could occur in case of connections with 2 TMAP Terminals with Codec Configuration above 16 kHz ( CPU usage + bandwidth limitation)


  • NUCLEO-WBA52CG
    • All LL/HAL Examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples/Templates 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)
    • Utilities Applications
      • The LPM/Tiny_lpm_3modes application is only provided with EWARM support
  • NUCLEO-WBA55CG
    • All LL/HAL Examples are developed using CubeMx except CORTEX/CORTEXM_SysTick_LSE (will be supported within next CubeMx version)
    • All Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: COMP/COMP_CompareGpioVsVrefInt_Window_IT, CORTEX/CORTEXM_SysTick_LSE, PWR/PWR_RUN_SMPS, PWR/PWR_STOP1_RTC (only EWARM)
      • Examples_LL: COMP/COMP_CompareGpioVsVrefInt_OutputGpio_Init, PWR/PWR_SMPS_16MHZ_HSI, PWR/PWR_SMPS_64MHZ_HSI_PLL (only EWARM)
    • LL/HAL Examples have been validated on EWARM and MDK-ARM/STM32CubeIDE configuration are provided as is
    • All Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Zigbee :
        • Zigbee_FindBind_IAS_Router, Zigbee_OnOff_Client_SED, Zigbee_OnOff_Server_Coord_ThreadX, Zigbee_PowerConfig_Server_SED, Zigbee_PressMeas_Server_Router (not supported in STM32CubeIDE)
        • Zigbee_OnOff_Client_Router_ThreadX, Zigbee_OnOff_Server_Coord_ThreadX (not supported in MDK-ARM)
      • BLE : BLE_HeartRateThreadX, BLE_p2pServerThreadX (not supported in MDK-ARM)
      • Thread : Thread_Coap_Generic_ThreadX (not supported in MDK-ARM)
  • STM32WBA55G-DK1
    • All LL/HAL Examples are developed using CubeMx except BSP/BSP_Example
    • All Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: RTC/RTC_ActiveTamper (only EWARM)
      • Examples_LL: RTC/RTC_Tamper_Init, RTC_TimeStamp_Init (only EWARM)
    • All Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • BLE : BLE_Audio_PBP_Sink, BLE_Audio_PBP_Source, BLE_Audio_TMAP_Unicast_Client, BLE_Audio_TMAP_Unicast_Server (not supported in MDK-ARM)


Dependencies

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


Backward compatibility

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1 boards
  • Connectivity applications are not supported on this release for NUCLEO-WBA52CG board


Notes

  • None


Main Changes

Official Release of STM32CubeWBA Firmware package supporting STM32WBA52xx and STM32WBA55xx 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
NUCLEO-WBA55CG Applications Projects\NUCLEO-WBA55CG\Applications
NUCLEO-WBA55CG HAL Examples Projects\NUCLEO-WBA55CG\Examples
NUCLEO-WBA55CG LL Examples Projects\NUCLEO-WBA55CG\Examples_LL
NUCLEO-WBA55CG MIX Examples Projects\NUCLEO-WBA55CG\Examples_MIX
NUCLEO-WBA55CG HAL Template Projects\NUCLEO-WBA55CG\Templates
NUCLEO-WBA55CG LL Template Projects\NUCLEO-WBA55CG\Templates_LL
STM32WBA55G-DK1 Applications Projects\STM32WBA55G-DK1\Applications
STM32WBA55G-DK1 HAL Examples Projects\STM32WBA55G-DK1\Examples
STM32WBA55G-DK1 LL Examples Projects\STM32WBA55G-DK1\Examples_LL
STM32WBA55G-DK1 HAL Template Projects\STM32WBA55G-DK1\Templates
STM32WBA55G-DK1 LL Template Projects\STM32WBA55G-DK1\Templates_LL


Connectivity

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1
  • Connectivity applications not supported on this release for NUCLEO-WBA52CG
  • BLE and Zigbee project are now supporting SMPS power supply by default for project with Mx support.


NUCLEO-WBA55CG

  • Update Applications demonstrating BLE capabilities
  • Update Applications demonstrating Zigbee capabilities
  • Update Applications demonstrating Thread capabilities
  • Update Examples LL demonstrating IP peripherals with use of push-button to enable internal pull-up

NUCLEO-WBA52CG

  • Update Examples LL demonstrating IP peripherals with use of push-button to enable internal pull-up


STM32WBA55G-DK1

  • Add new applications demonstrating BLE Audio capabilities
    • BLE_Audio_TMAP_Unicast_Server
    • BLE_Audio_TMAP_Unicast_Client
  • Update Applications demonstrating BLE capabilities
  • Update Applications demonstrating Zigbee capabilities


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.38 Patch MDK-ARM
STM32CubeIDE V1.14.0 (GCC11) V1.14.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


Supported Devices and boards

  • STM32WBA52xx and STM32WBA55xx devices
  • NUCLEO-WBA52CG, NUCLEO-WBA55CG and STM32WBA55G-DK1 boards


Known Limitations

  • The following projects using RTC TAMPER feature and push-button line are not functional with Nucleo MB1801-RevD:
    • Applications/SBSFU
    • Applications/TFM
    • Examples/RTC/RTC_Tamper
    • Examples/RTC/RTC_TimeStamp
    • Examples_LL/RTC/RTC_Tamper_Init
    • Examples_LL/RTC/RTC_TimeStamp_Init
  • Possible workaround is to add external pull-up on the board, to avoid floating lines in this specific configuration.


  • Applications based on ThreadX not delivered on MDK-ARM (Keil) toolchain:
    • ID 152807: Compilation issue on MDK-ARM (Keil) with MW threadx-6.2.0.221223.
  • BLE Audio Projects not delivered on MDK-ARM (Keil) toolchain :
    • ID 171331 : Library compiled with “hardfp” not correctly linked to math function provided by Keil
  • BLE Audio TMAP Unicast Client Project:
    • In TMAP Call Gateway role, CIS/ACL disconnection could occur in case of connections with 2 TMAP Terminals with Codec Configuration above 16 kHz ( CPU usage + bandwidth limitation)


  • NUCLEO-WBA52CG
    • All LL/HAL Examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples/Templates 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)
    • Utilities Applications
      • The LPM/Tiny_lpm_3modes application is only provided with EWARM support
  • NUCLEO-WBA55CG
    • All LL/HAL Examples are developed using CubeMx except CORTEX/CORTEXM_SysTick_LSE (will be supported within next CubeMx version)
    • All Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: COMP/COMP_CompareGpioVsVrefInt_Window_IT, CORTEX/CORTEXM_SysTick_LSE, PWR/PWR_RUN_SMPS, PWR/PWR_STOP1_RTC (only EWARM)
      • Examples_LL: COMP/COMP_CompareGpioVsVrefInt_OutputGpio_Init, PWR/PWR_SMPS_16MHZ_HSI, PWR/PWR_SMPS_64MHZ_HSI_PLL (only EWARM)
    • LL/HAL Examples have been validated on EWARM and MDK-ARM/STM32CubeIDE configuration are provided as is
    • All Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Zigbee :
        • Zigbee_FindBind_IAS_Router, Zigbee_OnOff_Client_SED, Zigbee_OnOff_Server_Coord_ThreadX, Zigbee_PowerConfig_Server_SED, Zigbee_PressMeas_Server_Router (not supported in STM32CubeIDE)
        • Zigbee_OnOff_Client_Router_ThreadX, Zigbee_OnOff_Server_Coord_ThreadX (not supported in MDK-ARM)
      • BLE : BLE_HeartRateThreadX, BLE_p2pServerThreadX (not supported in MDK-ARM)
      • Thread : Thread_Coap_Generic_ThreadX (not supported in MDK-ARM)
  • STM32WBA55G-DK1
    • All LL/HAL Examples are developed using CubeMx except BSP/BSP_Example
    • All Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: RTC/RTC_ActiveTamper (only EWARM)
      • Examples_LL: RTC/RTC_Tamper_Init, RTC_TimeStamp_Init (only EWARM)
    • All Applications are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • BLE : BLE_Audio_PBP_Sink, BLE_Audio_PBP_Source, BLE_Audio_TMAP_Unicast_Client, BLE_Audio_TMAP_Unicast_Server (not supported in MDK-ARM)


Dependencies

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


Backward compatibility

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1 boards
  • Connectivity applications are not supported on this release for NUCLEO-WBA52CG board


Notes

  • None


Main Changes

Official Release of STM32CubeWBA Firmware package supporting STM32WBA52xx and STM32WBA55xx 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
NUCLEO-WBA55CG Applications Projects\NUCLEO-WBA55CG\Applications
NUCLEO-WBA55CG HAL Examples Projects\NUCLEO-WBA55CG\Examples
NUCLEO-WBA55CG LL Examples Projects\NUCLEO-WBA55CG\Examples_LL
NUCLEO-WBA55CG MIX Examples Projects\NUCLEO-WBA55CG\Examples_MIX
NUCLEO-WBA55CG HAL Template Projects\NUCLEO-WBA55CG\Templates
NUCLEO-WBA55CG LL Template Projects\NUCLEO-WBA55CG\Templates_LL
STM32WBA55G-DK1 Applications Projects\STM32WBA55G-DK1\Applications
STM32WBA55G-DK1 HAL Examples Projects\STM32WBA55G-DK1\Examples
STM32WBA55G-DK1 LL Examples Projects\STM32WBA55G-DK1\Examples_LL
STM32WBA55G-DK1 HAL Template Projects\STM32WBA55G-DK1\Templates
STM32WBA55G-DK1 LL Template Projects\STM32WBA55G-DK1\Templates_LL


Connectivity

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1
  • Connectivity applications not supported on this release for NUCLEO-WBA52CG


NUCLEO-WBA52CG

  • Update Applications demonstrating AzureRTOS


NUCLEO-WBA55CG

  • Add applications demonstrating Bluetooth Low Energy capabilities
    • BLE/BLE_ApplicationInstallManager
    • BLE/BLE_Beacon
    • BLE/BLE_BeaconHCI
    • BLE/BLE_DataThroughput_Client
    • BLE/BLE_DataThroughput_Server
    • BLE/BLE_HealthThermometer
    • BLE/BLE_HeartRate
    • BLE/BLE_HeartRate_ota
    • BLE/BLE_HeartRateThreadX
    • BLE/BLE_p2pClient
    • BLE/BLE_p2pClient_Ext
    • BLE/BLE_p2pRouter
    • BLE/BLE_p2pServer
    • BLE/BLE_p2pServer_Ext
    • BLE/BLE_p2pServer_ota
    • BLE/BLE_p2pServer_TZ
    • BLE/BLE_p2pServerThreadX
    • BLE/BLE_Power_Central
    • BLE/BLE_Power_Peripheral
    • BLE/BLE_SerialCom_Central
    • BLE/BLE_SerialCom_Peripheral
    • BLE/BLE_TransparentMode
  • Add new applications demonstrating Thread capabilities
    • Thread/Thread_Cli_Cmd
    • Thread/Thread_Coap_Generic
    • Thread/Thread_Coap_Generic_ThreadX
    • Thread/Thread_Skeleton
  • Add new applications demonstrating Zigbee capabilities
    • Zigbee/Zigbee_APS_Coord
    • Zigbee/Zigbee_APS_Router
    • Zigbee/Zigbee_Basic_Client_Coord
    • Zigbee/Zigbee_Basic_Server_Router
    • Zigbee/Zigbee_Diagnostic_Client_Coord
    • Zigbee/Zigbee_Diagnostic_Server_Router
    • Zigbee/Zigbee_DoorLock_Client_Router
    • Zigbee/Zigbee_DoorLock_Server_Coord
    • Zigbee/Zigbee_FindBind_Coord
    • Zigbee/Zigbee_FindBind_IAS_Router
    • Zigbee/Zigbee_FindBind_OnOff_Router
    • Zigbee/Zigbee_Messaging_Client_Coord
    • Zigbee/Zigbee_Messaging_Server_Router
    • Zigbee/Zigbee_MeterId_Client_Coord
    • Zigbee/Zigbee_MeterId_Server_Router
    • Zigbee/Zigbee_OccupSensing_Client_Coord
    • Zigbee/Zigbee_OccupSensing_Server_Router
    • Zigbee/Zigbee_OnOff_Client_Distrib
    • Zigbee/Zigbee_OnOff_Client_Router
    • Zigbee/Zigbee_OnOff_Client_Router_ThreadX
    • Zigbee/Zigbee_OnOff_Client_SED
    • Zigbee/Zigbee_OnOff_Server_Coord
    • Zigbee/Zigbee_OnOff_Server_Coord_ThreadX
    • Zigbee/Zigbee_OnOff_Server_Distrib
    • Zigbee/Zigbee_OnOffSwCfg_Client_Coord
    • Zigbee/Zigbee_OnOffSwCfg_Server_Router
    • Zigbee/Zigbee_PowerConfig_Client_Coord
    • Zigbee/Zigbee_PowerConfig_Server_SED
    • Zigbee/Zigbee_PressMeas_Client_Coord
    • Zigbee/Zigbee_PressMeas_Server_Router
    • Zigbee/Zigbee_Skeleton
    • Zigbee/Zigbee_TempMeas_Client_Coord
    • Zigbee/Zigbee_TempMeas_Server_Router
    • Zigbee/Zigbee_Thermostat_Client_Coord
    • Zigbee/Zigbee_Thermostat_Server_Router
  • Add new applications demonstrating MAC 802.15.4 capabilities
    • Mac_802_15_4/Mac_802_15_4_Coordinator
    • Mac_802_15_4/Mac_802_15_4_FFD
    • Mac_802_15_4/Mac_802_15_4_LPM_Periodic_Transmit
    • Mac_802_15_4/Mac_802_15_4_Node
    • Mac_802_15_4/Mac_802_15_4_RFD
  • Add new application demonstrating Phy 802.15.4 capabilities
    • Phy_802_15_4/Phy_Cli


  • Add Templates (TrustZone Disabled/Enabled) and Templates_LL projects based on HAL/LL APIs
  • Add LL/HAL Examples (w/o TrustZone) demonstrating the same peripherals as NUCLEO-WBA52CG
  • Add LL/HAL Examples demonstrating COMP, PWR (SMPS) peripherals on with STM32WBA55xx
    • Examples/COMP/COMP_CompareGpioVsVrefInt_IT
    • Examples/COMP/COMP_CompareGpioVsVrefInt_Window_IT
    • Examples/CORTEX/CORTEXM_SysTick_LSE
    • Examples/PWR/PWR_STOP1_RTC
    • Examples_LL/COMP/COMP_CompareGpioVsVrefInt_IT_Init
    • Examples_LL/COMP/COMP_CompareGpioVsVrefInt_OutputGpio_Init
    • Examples_LL/PWR/PWR_SMPS_16MHZ_HSI
    • Examples_LL/PWR/PWR_SMPS_64MHZ_HSI_PLL


STM32WBA55G-DK1

  • Add new applications demonstrating BLE Audio capabilities
    • BLE/BLE_Audio_PBP_Sink
    • BLE/BLE_Audio_PBP_Source
  • Add new applications demonstrating BLE capabilities
    • BLE/BLE_HeartRate
    • BLE/BLE_HID_Mouse
  • Add new applications demonstrating Zigbee capabilities
    • Zigbee/Zigbee_OnOff_Client_Router
    • Zigbee/Zigbee_OnOff_Server_Coord


  • Add Templates (TrustZone Disabled/Enabled) and Templates_LL projects based on HAL/LL APIs
  • Add LL/HAL Examples demonstrating SYSTEM and SAI peripherals with STM32WBA55xx
    • Examples/BSP/BSP_Example
    • Examples/CORTEX/CORTEXM_ModePrivilege
    • Examples/DMA/DMA_FLASHToRAM
    • Examples/DMA/DMA_LinkedList
    • Examples/FLASH/FLASH_EraseProgram
    • Examples/FLASH/FLASH_EraseProgram_TrustZone
    • Examples/GPIO/GPIO_IOToggle
    • Examples/GTZC/GTZC_TZSC_MPCBB_TrustZone
    • Examples/PWR/PWR_STANDBY_RTC
    • Examples/PWR/PWR_STOP1_RTC
    • Examples/RCC/RCC_ClockConfig
    • Examples/RTC/RTC_ActiveTamper
    • Examples/RTC/RTC_Alarm
    • Examples/RTC/RTC_LowPower_STANDBY_WUT
    • Examples/RTC/RTC_TimeStamp
    • Examples/SAI/SAI_AudioPlay
    • Examples_LL/DMA/DMA_CopyFromFlashToMemory_Init
    • Examples_LL/EXTI/EXTI_ToggleLedOnIT_Init
    • Examples_LL/GPIO/GPIO_InfiniteLedToggling_Init
    • Examples_LL/RCC/RCC_UseHSI_PLLasSystemClock
    • Examples_LL/RTC/RTC_Alarm_Init
    • Examples_LL/RTC/RTC_ExitStandbyWithWakeUpTimer_Init
    • Examples_LL/RTC/RTC_Tamper_Init
    • Examples_LL/RTC/RTC_TimeStamp_Init


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.14.0 (GCC11) V1.14.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 and STM32WBA55xx devices
  • NUCLEO-WBA52CG, NUCLEO-WBA55CG and STM32WBA55G-DK1 boards


Known Limitations

  • NUCLEO-WBA52CG
    • All LL/HAL Examples are developed using CubeMx except HASH/HASH_SHA1SHA224_IT_Suspension (not eligible)
    • All LL/HAL Examples/Templates 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)
    • Utilities Applications
      • The LPM/Tiny_lpm_3modes application is only provided with EWARM support


  • NUCLEO-WBA55CG
    • All LL/HAL Examples are developed using CubeMx except CORTEX/CORTEXM_SysTick_LSE (will be supported within next CubeMx version)
    • All NUCLEO-WBA55CG Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: COMP/COMP_CompareGpioVsVrefInt_Window_IT, CORTEX/CORTEXM_SysTick_LSE, PWR/PWR_RUN_SMPS, PWR/PWR_STOP1_RTC (only EWARM)
      • Examples_LL: COMP/COMP_CompareGpioVsVrefInt_OutputGpio_Init, PWR/PWR_SMPS_16MHZ_HSI, PWR/PWR_SMPS_64MHZ_HSI_PLL (only EWARM)
    • LL/HAL Examples have been validated on EWARM and MDK-ARM/STM32CubeIDE configuration are provided as is

    • All BLE applications are developed using CubeMx except BLE_Power_Central, BLE_Power_Peripheral
    • The following BLE applications are provided with EWARM and MDK-ARM support (8/22):
      • BLE/BLE_ApplicationInstallManager
      • BLE/BLE_BeaconHCI
      • BLE/BLE_DataThroughput_Client
      • BLE/BLE_DataThroughput_Server
      • BLE/BLE_HealthThermometer
      • BLE/BLE_HeartRate
      • BLE/BLE_HeartRate_ota
      • BLE/BLE_p2pServer_ota
    • Mac_802_15_4 and Phy_802_15_4 applications are not provided with CubeMx format
    • Thread applications are developed using CubeMx except Thread/Thread_Cli_Cmd, Thread/Thread_Coap_Generic_ThreadX
    • Thread applications are provided with STM32CubeIDE configuration except Thread/Thread_Cli_Cmd, Thread/Thread_Coap_Generic_ThreadX
    • Thread applications are not provided with MDK-ARM configuration
    • Zigbee applications are developed using CubeMx except Zigbee/Zigbee_APS_Coord, Zigbee/Zigbee_APS_Router, Zigbee/Zigbee_Diagnostic_Server_Route
    • The following Zigbee applications are not provided with MDK-ARM support:
      • Zigbee/Zigbee_APS_Coord
      • Zigbee/Zigbee_APS_Router
      • Zigbee/Zigbee_OnOff_Client_Router_ThreadX
      • Zigbee/Zigbee_OnOff_Server_Coord_ThreadX
      • Zigbee/Zigbee_OnOff_Server_Distrib
      • Zigbee/Zigbee_OnOffSwCfg_Client_Coord
      • Zigbee/Zigbee_OnOffSwCfg_Server_Router
      • Zigbee/Zigbee_PowerConfig_Client_Coord
      • Zigbee/Zigbee_PowerConfig_Server_SED
      • Zigbee/Zigbee_PressMeas_Client_Coord
      • Zigbee/Zigbee_PressMeas_Server_Router
      • Zigbee/Zigbee_Skeleton
      • Zigbee/Zigbee_TempMeas_Client_Coord
      • Zigbee/Zigbee_TempMeas_Server_Router
      • Zigbee/Zigbee_Thermostat_Client_Coord
      • Zigbee/Zigbee_Thermostat_Server_Router
    • The following Zigbee applications are not provided with STM32CubeIDE support:
      • Zigbee/Zigbee_OnOff_Client_Router_ThreadX
      • Zigbee/Zigbee_OnOff_Server_Coord_ThreadX
      • Zigbee/Zigbee_PowerConfig_Client_Coord
      • Zigbee/Zigbee_PowerConfig_Server_SED
      • Zigbee/Zigbee_PressMeas_Client_Coord
      • Zigbee/Zigbee_PressMeas_Server_Router
      • Zigbee/Zigbee_Skeleton
      • Zigbee/Zigbee_TempMeas_Client_Coord
      • Zigbee/Zigbee_TempMeas_Server_Router
      • Zigbee/Zigbee_Thermostat_Client_Coord
      • Zigbee/Zigbee_Thermostat_Server_Router
      • Zigbee/Zigbee_Find_Bind_Coord
      • Zigbee/Zigbee_Find_Bind_OnOff_Router
      • Zigbee/Zigbee_Find_Bind_IAS_Router


  • STM32WBA55G-DK1
    • All BLE and Zigbee applications are provided with EWARM support only
    • All LL/HAL Examples are developed using CubeMx except BSP/BSP_Example (will be supported within next CubeMx version)
    • All STM32WBA55G-DK1 Examples/Templates are provided with EWARM, MDK-ARM and STM32CubeIDE support except:
      • Examples: RTC/RTC_ActiveTamper (only EWARM)
      • Examples_LL: RTC/RTC_Tamper_Init, RTC_TimeStamp_Init (only EWARM)


Dependencies

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


Backward compatibility

  • Connectivity applications are available for NUCLEO-WBA55CG and STM32WBA55G-DK1 boards
  • Connectivity applications are not supported on this release for NUCLEO-WBA52CG board


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