Release Notes for STM32CubeC0 HAL and LL drivers

Copyright ©  2022 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

  • Maintenance Release of STM32CubeC0 Firmware Package

HAL/LL Drivers updates

  • HAL and LL drivers Maintenance Release for STM32C011xx / STM32C031xx devices

HAL Drivers updates

  • HAL RCC driver
    • Rename the following defines:
      • HSE_TIMEOUT_VALUE to RCC_HSE_TIMEOUT_VALUE
      • HSI_TIMEOUT_VALUE to RCC_HSI_TIMEOUT_VALUE
      • LSI_TIMEOUT_VALUE to RCC_LSI_TIMEOUT_VALUE
      • CLOCKSWITCH_TIMEOUT_VALUE to RCC_CLOCKSWITCH_TIMEOUT_VALUE
  • HAL RTC driver
    • Add __HAL_RTC_IS_CALENDAR_INITIALIZED macro
  • HAL TIM driver
    • Add __HAL_TIM_SELECT_CCDMAREQUEST macro
  • HAL UART driver
    • Add (HAL_UART_RxEventTypeTypeDef RxEventType) to the __UART_HandleTypeDef structure
    • Add following defines:
      • HAL_UART_RXEVENT_TC (Transfer Complete event)
      • HAL_UART_RXEVENT_HT (Half Transfer event)
      • HAL_UART_RXEVENT_IDLE (IDLE event)
    • Add HAL_UARTEx_GetRxEventType() API to provide Rx Event type (to be called within the user implementation of Rx Event Callback)
  • HAL driver
    • Update HAL_SYSCFG_SetPinBinding() to handle properly setting of a pin biding (w/o overwriting existing pins binding settings).
    • Update HAL_SYSCFG_GetPinBinding() to get a pin biding setting.

LL Drivers updates

  • LL SYSTEM driver
    • Add SYSTEM_LL_PINMUX_SOURCE following defines:
      • LL_PINMUX_SO8_PIN1, LL_PINMUX_SO8_PIN4, LL_PINMUX_SO8_PIN5, LL_PINMUX_SO8_PIN8, LL_PINMUX_WLCSP12_PINE2, LL_PINMUX_WLCSP12_PINF1 in case of device STM32C011xx device
      • LL_PINMUX_WLCSP14_PINF2, LL_PINMUX_WLCSP14_PING3, LL_PINMUX_WLCSP14_PINJ1, LL_PINMUX_WLCSP14_PINH2, LL_PINMUX_WLCSP14_PING1, LL_PINMUX_WLCSP14_PINJ3 in case of device STM32C031xx device
    • Update LL_SYSCFG_ConfigPinMux() and LL_SYSCFG_GetConfigPinMux() functions
    • LL_SYSCFG_ConfigPinMux() API updated to handle properly setting of a pin binding (w/o overwriting existing pins biding settings).
    • LL_SYSCFG_GetConfigPinMux() API updated to get a pin biding setting.

Known Limitations

N/A

Backward Compatibility

  • HAL_SYSCFG_GetPinBinding() and LL_SYSCFG_GetConfigPinMux() are updated.

Main Changes

  • Patch Release of STM32CubeC0 Firmware Package

  • Update ADC HAL driver with proper internal sensor calibration implementation:

    • Helper macro “__LL_ADC_CALC_TEMPERATURE()” is not available and macro “__LL_ADC_CALC_TEMPERATURE_TYP_PARAMS()” must be used.
  • Update RCC LL driver by adding missing AHB Prescaler.

Known Limitations

N/A

Main Changes

First official release of HAL and LL drivers for STM32C031xx / STM32C011xx devices

Known Limitations

N/A