Release Notes for  STM32CubeC0 Firmware Package 

Copyright © 2022 STMicroelectronics

Purpose

STMCube is an STMicroelectronics original initiative to ease developers life by reducing development efforts, time and cost.

STM32Cube covers STM32 portfolio.

STM32Cube Version 1.x includes:

The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements.

Both the HAL and LL APIs are production–ready, checked with CodeSonar® static analysis tool, and developed in compliance with MISRA C® guidelines. Reports are available on demand.

STM32Cube

The drivers provided within this package support the STM32C031/STM32C011/C071 lines.

Update History

Main Changes

  • First official release of STM32CubeC0 Firmware Package to support STM32CubeC071xx devices

Contents

Features

STM32CubeC0 gathers in one single package all the generic embedded software components required to develop an application on STM32C0 microcontrollers.

  • Production–ready HAL and LL API drivers, checked with Coverity® static analysis tool, and developed in compliance with MISRA C® guidelines.
  • CMSIS CORE, DSP and RTOS software components.
  • Consistent set of middleware components (Azure® RTOS USBX, FileX/LevelX, ThreadX, mcuboot, mbed-crypto, and OpenBootloader).
  • Up to 187 examples and applications for easy understanding, compatible with STM32CubeMX to facilitate the configuration through a graphical tool.
  • New Templates_Board project for NUCLEO-C071RB demonstrating the STM32CubeMX “Start my project from ST Board” providing an easy access to ST boards’ features.

CMSIS Device Updates

  • Support of STM32C071xx devices
  • Update CMSIS devices to include latest corrections

HAL/LL Drivers Updates

  • HAL and LL drivers Official Release for STM32C071xx
  • Add USB HAL and LL drivers for STM32C071xx devices
  • General updates to fix known defects and implementation enhancements

BSP Drivers Updates

  • Update STM32C0xx_Nucleo BSP Driver to support NUCLEO-C071RB board for STM32UC071xx devices
  • General updates to fix known defects and implementation enhancements

Midlware Updates

  • Major update in AzureRTOS Middlewares (new version V6.4.0)
  • Add the AzureRTOS USBX middleware component
  • Add mbed-crypto and mcuboot Middleware

Projects

  • Add 75 new projects on NUCLEO-C071RB board:
    • 14 Applications
    • 58 examples
    • 1 HAL Templates
    • 1 LL Templates
    • 1 Board Templates

The STM32CubeC0 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release note
Projects V1.2.0 release notes

Components

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

Drivers
Name Version Release note
CMSIS V5.9.0 release notes
STM32C0xx CMSIS V1.2.0 release notes
STM32C0xx HAL/LL V1.2.0 release notes
BSP STM32C0xx NUCLEO V1.1.0 release notes
BSP STM32C0316-DK V1.0.1 release notes
BSP STM32C0116-DK V1.1.1 release notes
BSP Components V7.1.0 release notes
Name Version Release note
OpenBootloader V6.0.0 release notes
Azure RTOS ThreadX threadx-6.4.0.240419 release notes
Azure RTOS FileX filex-6.4.0.240419 release notes
Azure RTOS LeveLX levelx-6.4.0.240419 release notes
Azure RTOS USBX usbx-6.4.0.240419 release notes
mbed-crypto mbed-tls-v2.28.8 release notes
mcuboot v1.7.2.24 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32C071xB and STM32C071x8 devices
  • STM32C031 and STM32C011 devices
  • NUCLEO-C071RB board rev.B
  • NUCLEO-C031C6 board rev.B
  • STM32C0116-DK board rev.B
  • STM32C0316-DK board rev.B

Dependencies

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

Known Limitations

  • Some projects are not generated with STM32CubeMX tool. For the exhaustive list please refer to this table STM32CubeProjectsList.html

  • The following projects are not supported with STM32CubeIDE toolchain (Release):

    • NUCLEO-C071RB/Examples_LL/SPI/SPI_OneBoard_HalfDuplex_IT_Init
  • The following projects are not supported with MDK-ARM toolchain :

    • NUCLEO-C071RB/Examples_LL/I2C/I2C_OneBoard_AdvCommunication_DMAAndIT_Init

Backward Compatibility

  • Not applicable

Main Changes

  • Maintenance Release of STM32CubeC0 Firmware Package

CMSIS updates

  • CMSIS is upgraded to version V5.9.0

CMSIS Device updates

  • CMSIS Device Maintenance Release version of bits and registers definition aligned with RM0490 (STM32C0 reference manual)
    • Rename PWR_BKPREGx to PWR_BKPxR
    • Rename SVC_IRQn to SVCall_IRQn

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.

Middlewares Drivers updates

  • Update of AzureRtos Middleware to new version V6.2.0
  • Update of OpenBootloader to new version V6.1.0

Contents

Projects

The STM32CubeC0 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains almost HAL drivers, LL drivers, BSP drivers, templates, projects and examples.

Name Version Release notes
Projects V1.1.0 release notes

Components

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

Drivers
Name Version Release note
CMSIS V5.9.0 release notes
STM32C0xx CMSIS V1.1.0 release notes
STM32C0xx HAL/LL V1.1.0 release notes
BSP STM32C0xx NUCLEO V1.0.0 release notes
BSP STM32C0316-DK V1.0.0 release notes
BSP STM32C0116-DK V1.1.0 release notes
BSP Components V7.1.0 release notes
Middlewares
Name Version Release note
OpenBootloader V6.1.0 release notes
Azure RTOS ThreadX threadx-6.2.0.221223 release notes
Azure RTOS FileX filex-6.2.0.221223 release notes
Azure RTOS LeveLX levelx-6.2.0.221223 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32C031 and STM32C011 devices Rev A
  • NUCLEO-C031C6 board rev.B
  • STM32C0116-DK board rev.B
  • STM32C0316-DK board rev.B

Dependencies

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

Known Limitations

  • Not applicable

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

    • “NUCLEO-C031C6/Examples/ADC/ADC_MultiChannelSingleConversion” example is updated to use “__LL_ADC_CALC_TEMPERATURE_TYP_PARAMS()”

    • Update RCC LL driver by adding missing AHB Prescaler.

Contents

Projects

The STM32CubeC0 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains almost HAL drivers, LL drivers, BSP drivers, templates, projects and examples.

Name Version Release notes
Projects V1.0.1 release notes

Components

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

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm0 release notes
STM32C0xx CMSIS V1.0.0 release notes
STM32C0xx HAL/LL V1.0.1 release notes
BSP STM32C0xx NUCLEO V1.0.0 release notes
BSP STM32C0316-DK V1.0.0 release notes
BSP STM32C0116-DK V1.0.0 release notes
BSP Components V7.1.0 release notes
Name Version Release note
OpenBootloader V6.0.0 release notes
Azure RTOS ThreadX threadx-6.1.9.220128 release notes
Azure RTOS FileX filex-6.1.8.220128 release notes
Azure RTOS LeveLX levelx-6.1.9.220128 release notes

Main Changes

  • First Official Release of STM32CubeC0 Firmware Package

Contents

Projects

The STM32CubeC0 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains almost HAL drivers, LL drivers, BSP drivers, templates, projects and examples.

Name Version Release notes
Projects V1.0.0 release notes

Components

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm0 release notes
STM32C0xx CMSIS V1.0.0 release notes
STM32C0xx HAL/LL V1.0.0 release notes
BSP STM32C0xx NUCLEO V1.0.0 release notes
BSP STM32C0316-DK V1.0.0 release notes
BSP STM32C0116-DK V1.0.0 release notes
BSP Components V7.1.0 release notes
Middlewares
Name Version Release note
OpenBootloader V6.0.0 release notes
Azure RTOS ThreadX threadx-6.1.9.220128 release notes
Azure RTOS FileX filex-6.1.8.220128 release notes
Azure RTOS LeveLX levelx-6.1.9.220128 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32C031 and STM32C011 devices Rev A
  • NUCLEO-C031C6 board rev.B
  • STM32C0116-DK board rev.B
  • STM32C0316-DK board rev.B

Dependencies

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

Known Limitations

  • None

Backward Compatibility

  • Not applicable