Release Notes for

STM32WB0x HAL Drivers

Copyright © 2024 STMicroelectronics

Purpose

The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.

The portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code reusability and guarantees an easy portability on other devices and STM32 families.

The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provides a basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not fully portable across the STM32 families; the availability of some functions depends on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:

Update History

Main Changes

  • Release of STM32CubeWB0 Firmware package supporting STM32WB0x devices

Contents

HAL Drivers updates

  • HAL Radio Timer driver
    • Optimizations of the HAL_RADIO_TIMER_SetRadioTimerValue function.
  • HAL Radio driver
    • Added functions related to new RRM Radio interrupt.
  • HAL Generic driver
    • Fixed timer timebase initialization sequence by registering the callback before starting the timer to ensure correct callback handling in FreeRTOS projects
  • HAL LPUART driver
    • Fix transfer count underflow when using polling mode.
  • HAL UART driver
    • Fix transfer count underflow when using polling mode.


Supported Devices and boards

  • Devices :
    • STM32WB05
    • STM32WB06
    • STM32WB07
    • STM32WB09
  • Boards :
    • NUCLEO-WB09KE
    • NUCLEO-WB07CC
    • NUCLEO-WB05KZ

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

  • Release of STM32CubeWB0 Firmware package supporting STM32WB0x devices

Contents

HAL Drivers updates

  • HAL RCC driver
    • Added support for RCC_LPUART1_CLKSOURCE_16M with a frequency of 16,000,000
  • HAL Radio Timer driver
    • Fix in HAL_RADIO_TIMER_SetRadioCloseTimeout() for an issue that may happen in case LSE has high jitter.

LL Drivers updates

  • LL RTC driver
    • Add LL RCC APIs to manage RTC clock: LL_RCC_EnableRTC(), LL_RCC_DisableRTC() and LL_RCC_IsEnabledRTC()


Supported Devices and boards

  • Devices :
    • STM32WB05
    • STM32WB06
    • STM32WB07
    • STM32WB09
  • Boards :
    • NUCLEO-WB09KE
    • NUCLEO-WB07CC
    • NUCLEO-WB05KZ

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

  • Release of STM32CubeWB0 Firmware package supporting STM32WB0x devices

Contents

HAL Drivers updates

  • HAL RADIO TIMER driver
    • Improved performances for the radio activity schedule
  • HAL GPIO driver
    • Managed mask registers manipulation to allow the activation of all interrupts in the HAL_GPIO_Deinit function.
  • HAL SMBUS driver
    • Remove extra parenthesis in c files for driver HAL I2C and SMBUS
  • HAL I2S driver
    • Update HAL I2S driver to remove ‘go to’ instruction
  • HAL SPI driver
    • Remove unaligned access from polling transfer API
    • Check data size before changing state in reception API
    • Add const qualifiers to be compliant with MISRA rule 8.13
  • HAL UART driver
    • Provide accurate position in RxEventCallback when ReceptionToIdle mode is used with DMA, when UART and DMA interrupts process is delayed
    • Correct DMA Rx abort procedure impact on ongoing Tx transfer in polling mode
    • Correct references to HAL_UARTEx_WakeupCallback and to HAL_UART_WAKEUP_CB_ID define, according to series capabilities
    • Corrections in CHM/PDF rendering for HAL_UART
  • HAL USART driver
    • Correct wrong comment in HAL_USARTEx_DisableFifoMode() function
    • Improve the visibility of the SPI function support in HAL USART description
    • Align prescaler value used by default in USART_GET_DIV_FACTOR macro with RM

LL Drivers updates

  • LL LPUART driver
    • Add LL LPUART API allowing TX FIFO flush request
  • LL USART driver
    • Solve Coverity out-of-bound memory access warning in use of USART_PRESCALER_TAB array


Supported Devices and boards

  • Devices :
    • STM32WB05
    • STM32WB06
    • STM32WB07
    • STM32WB09
  • Boards :
    • NUCLEO-WB09KE
    • NUCLEO-WB07CC
    • NUCLEO-WB05KZ

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

  • Release of STM32CubeWB0 Firmware package supporting STM32WB0x devices

Contents

HAL Drivers updates

  • HAL ADC driver
    • Correct function listed in the top-level comment of file hal_adc.c : paragraph Deinitialization of ADC.
  • HAL FLASH driver
    • Add LL_FLASH_FLAG Definition.


LL Drivers updates

  • LL ADC driver
    • Remove LL_ADC_CHANNEL_TEMPSENSOR/VBAT from parameter list of LL_ADC_Get/SetChannelVoltageRange().
  • LL RCC driver
    • Involves reading flags from the mirrored address instead of the register address.
  • LL RNG driver
    • Remove the BP_POSTP bit of the RNG_CR from CMSIS, is reserved for internal testing only.
    • Add LL_RNG functions to acknowledge WB09 RNG interrupts.
  • LL SYSTEM driver
    • Add LL_FLASH_FLAG Definition.
  • LL ADC driver
    • Fix incorrect values returned by LL_UTILS_GetPackageType() function due to invalid mask.

Supported Devices and boards

  • Devices :
    • STM32WB05
    • STM32WB06
    • STM32WB07
    • STM32WB09
  • Boards :
    • NUCLEO-WB09KE
    • NUCLEO-WB07CC
    • NUCLEO-WB05KZ

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

  • First release of STM32CubeWB0 Firmware package supporting STM32WB0x devices

Contents

First Release of HAL/LL Drivers for STM32WB0x series

  • HAL/LL Drivers are available for all peripherals:
    • HAL: ADC, CORTEX, CRC, CRS, DMA, FLASH, GPIO, I2C, I2S, IRDA, IWDG, PKA, PWR, RADIO, RCC, RNG, RTC, SMARTCARD, SMBUS, SPI, TIM, UART, USART

    • LL: ADC, CRC, DMA, GPIO, I2C, LPUART, PKA, PWR, RCC, RNG, RTC, SPI, TIM, USART, UTILS

Supported Devices and boards

  • Devices :
    • STM32WB05
    • STM32WB06
    • STM32WB07
    • STM32WB09
  • Boards :
    • NUCLEO-WB09KE
    • NUCLEO-WB07CC
    • NUCLEO-WB05KZ

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None