Release Notes for  STM32CubeG0 Firmware Package  

Copyright © 2018 STMicroelectronics

Purpose

STM32Cube 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:

All embedded software utilities, delivered with a full set of examples.

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.

STM32Cube
STM32Cube

The HAL (Hardware Abstraction Layer) and LL (Low Layers) drivers provided within this package support the STM32G081/71/70, STM32G041/31/30, STM32G0C1/B1/B0 and STM32G061/51/50 lines.

The HAL and LL drivers provided within this package are compliant with MISRA-C:2012 guidelines, and have been reviewed with a static analysis tool to eliminate possible run-time errors. Reports are available on demand.

For quick getting started with the STM32CubeG0 firmware package, refer to UM2303 and you can download firmware updates and all the latest documentation from www.st.com/stm32cubefw

Here is the list of references to user documents:

Update History

Main Changes

  • General updates to fix known defects and enhancements implementation.
  • Update sysmem.c and syscall.c files in all STM32CubeIDE projects to support GCC11 compiler version.
  • Upgrade USBPD Core library to use V4.3.1.
  • Upgrade USBPD devices library to use V3.5.0.
  • Upgrade USB Host library to use V3.5.1.

Contents

  • CMSIS updates
    • Update USB RXBD count mask.
    • Add RCC_CFGR_SWS_HSE, HSI, PLL, LSI, LSE system clock definitions.
    • Update to support USB supply enable feature for STM32G0B0 devices.
    • Fix the location of .size directive in STM32CubeIDE’s startup code to allow proper size information of vector table.
  • HAL/LL Drivers updates
    • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers.
    • HAL/LL GENERIC update
      • Fix the COMP EXTI line in the comments.
      • Allow redefinition of macro UNUSED(x).
      • Update of HAL_GetTickFreq() brief.
    • HAL EXTI update
      • Fix computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine().
      • Fix the wrong references in the “How to use this driver” section.
    • HAL CRC update
      • Add filter in HAL_CRCEx_Polynomial_Set() to exclude even polynomials.
    • HAL CRYP update
      • Update Crypt/Decrypt IT processes to avoid Computation Completed IRQ fires before the DINR pointer increment.
      • Update AES GCM in interrupt mode to avoid Computation Completed IRQ fires before the DINR pointer increment.
    • LL ADC update
      • Remove useless action of conversion trigger change in function LL_ADC_DeInit(). Moreover, this action was not compliant with ADC enable state (cf reference manual).
    • HAL DAC update
      • Fix incorrect word ‘surcharged’ in functions headers.
      • Fix HAL_GetTick() timeout vulnerability.
      • Updated DAC buffer calibration according to RM.
    • HAL/LL RTC update
      • Optimize the way RSF flag is cleared in HAL_RTC_WaitForSynchro().
      • Correct misleading note about shadow registers.
      • Update HAL_RTC_XXX_GET_IT(), HAL_RTC_XXX_GET_FLAG(), and HAL_RTC_XXX_CLEAR_FLAG() macros with correct registers and bitmasks.
    • HAL RCC update
      • Rework HAL_RCC_MCOConfig() API to support all RCC_MCOx parameter values (GPIO pins) from Datasheet.
      • Enclose in parentheses parameters of a group of macros to avoid Misra-C 2012 Rule-20.7 warnings.
      • Add else statement in the end of HAL_RCC_MCOConfig API to avoid Misra-C 2012 Rule-15.7 warnings.
      • Add defined(RCC_CCIPR_USART2SEL) for selecting the USART2 clock source in stm32g0xx_ll_rcc.h file.
    • HAL PWR update
      • Update to support USB supply enable feature for STM32G0B0 devices.
    • HAL CORTEX update
      • Update HAL_MPU_ConfigRegion() to allow the configuration of the MPU registers independently of the value of Enable/Disable field.
      • Add new APIs HAL_MPU_EnableRegion() / HAL_MPU_DisableRegion().
    • HAL/LL TIM update
      • Remove useless check on IS_TIM_ADVANCED_INSTANCE() within LL_TIM_BDTR_Init() to fix Break Filter configuration problem with specific TIM instances.
      • Remove lock management from callback management functions.
      • Remove multiple volatile reads or writes in interrupt handler for better performance.
      • Improve HAL TIM driver’s operational behavior.
      • Assert check for the right channels.
      • Improve period configuration parameter check.
      • Remove unnecessary change of MOE bitfield in LL_TIM_BDTR_Init().
    • HAL/LL LPTIM update
      • Apply the same naming rule to clear FLAG related functions.
      • Remove Lock management from callback management functions.
      • Remove redundant IS_LPTIM_AUTORELOAD macro.
    • HAL FDCAN update
      • Fix GetIndex issue in HAL_FDCAN_GetRxMessage.
    • HAL FLASH update
      • Remove the plural form in the description of the __HAL_FLASH_CLEAR_FLAG macro.
      • Fix __HAL_FLASH_CLEAR_FLAG macro.
      • Fix timeout check in FLASH_WaitForLastOperation().
      • Update HAL_FLASH_Unlock/HAL_FLASH_Lock and HAL_FLASH_OB_Unlock/HAL_FLASH_OB_Lock functions to check BSY1, BSY2 and CFGBSY bits before performing Unlock/Lock sequence.
      • Fix Misra-C:2012 Rule-17.7 warnings: The return value of `FLASH_WaitForLastOperation()’ call is discarded.
    • HAL UART update
      • Disable the Receiver Timeout Interrupt when data reception is completed.
      • Remove lock management from callback management functions.
      • Rework of UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior.
      • Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
      • Update initialisation sequence for TXINV, RXINV and TXRXSWAP settings.
      • Fix incorrect gState check in HAL_UART_RegisterRxEventCallback/HAL_UART_UnRegisterRxEventCallback to allow user Rx Event Callback registration when a transmit is ongoing.
      • Avoid RTOF flag to be cleared by a transmit process in polling mode.
    • HAL USART update
      • Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    • HAL IRDA update
      • Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    • HAL SMARTCARD update
      • Correct USART3 clock source computation for smartcard initialisation.
      • Remove __HAL_LOCK() from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback().
    • HAL/LL I2C update
      • Duplicate the test condition after timeout detection to avoid false timeout detection.
      • Update HAL_I2C_IsDeviceReady API to support 10_bit addressing mode: Update done on the macro I2C_GENERATE_START.
      • Update HAL I2C driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte.
      • Update HAL I2C driver to disable all interrupts after end of transaction.
      • Update HAL_I2C_Init API to clear ADD10 bit in 7 bit addressing mode.
      • Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to prevent the call of HAL_I2C_ListenCpltCallback twice.
      • Solve Slave No stretch not functional by using HAL Slave interface.
      • Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0.
      • Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF independently from I2C_FLAG_RXNE.
      • Remove the unusable code in function HAL_I2C_IsDeviceReady.
      • Update I2C_WaitOnFlagUntilTimeout to handle error case.
      • Update HAL_I2C_Slave_Transmit to check if the received NACK is the good one.
      • Update LL_I2C_HandleTranfer function to prevent undefined behavior of volatile usage before updating the CR2 register.
    • HAL SMBUS update
      • Update HAL SMBUS driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte
      • Update SMBUS_ITErrorHandler to flash TXDR just in case of error.
    • HAL/LL SPI update
      • Fix driver to don’t update state in case of error (HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT).
      • Update HAL_SPI_TransmitReceive API to set the bit CRCNEXT in case of one byte transaction.
      • Update IT API to enable interrupts after process unlock.
    • HAL/LL USB update
      • hal_hcd.c/ll_usb.c: fix double buffer mode configuration in host mode for isochronous and bulk transfers.
      • ll_usb.h: use correct macro to clear RXBD register block numbers.
      • hcd.h: update delay before reading RXBD register.
      • hcd.c: prevent channel auto start of periodic interrupt transfer during NAK.
      • ll_usb.c: increase timeout value to allow core reset to complete.
    • LL UTILS update
      • Fix a note about Ticks parameter.
  • Middlewares updates
    • Upgrade USBPD Devices library to use V3.5.0
    • Upgrade USBPD Core library to use V4.3.1
    • Upgrade USB Host library to use V3.5.1.
  • Projects updates
    • Update stm32g0xx_hal_timebase_tim.c to be aligned with hal_timebase_tim_template.c
    • Update CRC LL examples to fix incorrect bytes stream handling.
    • Update sysmem.c and syscall.c files in all STM32CubeIDE projects to support GCC11.
    • Update STM32CubeIDE projects to fix the location of .size directive in startup code to allow proper size information of vector table.
    • NUCLEO-G031K8 :
      • Update in CRC_Bytes_Stream_7bit_CRC example to fix STM32CubeIDE warning: Accessing 4 bytes in a region of size x [-Wstringop-overflow=].
    • STM32G0C1E-EV :
      • Increase the size of the matrix _str in demo_application.c.
      • Fix FLASH clear error programming flags that was not done properly before starting FLASH operations in OpenBootloader application.
  • The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.6.2 release notes

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
CMSIS V5.6.0_cm0 release notes
STM32G0xx CMSIS V1.4.4 release notes
STM32G0xx_HAL_Driver V1.4.6 release notes
BSP STM32G0xx_Nucleo V1.1.1 release notes
BSP STM32G0C1E-EV V1.0.2 release notes
BSP STM32G081B_EVAL V1.3.1 release notes
BSP STM32G071B-Discovery V1.2.1 release notes
BSP STM32G0316-DISCO V1.0.2 release notes
BSP STM32G0xx_Nucleo_32 V1.0.2 release notes
BSP Adafruit Shield (reference ID 802) V3.0.4 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.1 release notes
BSP tusb546 V1.0.3 release notes
BSP sn65dp141 V1.0.2 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.1.0 release notes

Middleware

Name Version Release notes
FatFS R0.12c release notes
ST modified 2019101 release notes ST
FreeRTOS V10.3.1 release notes
ST modified 2020083 release notes ST
STM32_USBPD_Library - Core v4.3.1 release notes
STM32_USBPD_Library - Devices g0_v3.5.0 release notes
STM32_USB_Host_Library V3.5.1 release notes
STM32_USB_Device_Library V2.11.0 release notes
OpenBootloader V3.0.1 release notes

Utilities

Name Version Release notes
CPU V1.1.1 release notes
Fonts V1.0.1 release notes
Log V1.0.2 release notes
GUI_INTERFACE V2.2.1 release notes
TRACER_EMB V1.7.1 release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.38 + STMicroelectronics.STM32G0xx_DFP.1.3.0.pack
  • STM32CubeIDE toolchain V1.14.0

Supported Devices and boards

  • STM32G0C1xx, STM32G0B1xx and STM32G0B0xx devices
  • STM32G061xx, STM32G051xx and STM32G050xx devices
  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G0B1RE Nucleo kit (MB1360 C-01)
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G0C1E Evaluation board RevB (MB1581 B-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B/STM32G0C1E Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

  • A few applications on STM32G0C1E-EV projects are not available at STM32CubeMX format (with .ioc)
  • USB HAL limitation: Double buffer mode is not functional with isochronous data transfers in host mode.
  • STM32G081B-EVAL:
    • DemoLoader Demo is provided for EWARM IDE and MDK-ARM only (not provided for CubeIDE)

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V6.6.0.

Patch release

Main Changes

  • Patch release of STM32CubeG0 V1.6.0 Firmware Package.
  • Update projects to avoid “Firmware Location Error” popup message generated with STM32CubeMX.

Contents

  • Projects updates
    • Update *ioc files to avoid “Firmware Location Error” popup message generated with STM32CubeMX.

The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.6.1 release notes

Main Changes

  • General updates to fix known defects and enhancements implementation.
  • Add .mxproject files on all firmware projects available in STM32CubeMX format (with .ioc) to fix project path issue during copy.

Contents

  • HAL/LL Drivers updates
    • General updates to fix known defects and enhancements implementation.
    • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
    • HAL CEC updates
      • Better performance by removing multiple volatile reads or writes in interrupt handler.
    • HAL RTC updates
      • Check if the RTC calendar has been previously initialized before entering Initialization mode.
    • HAL I2C updates
      • I2C_IsErrorOccurred does not return error if timeout is detected.
      • The ADDRF flag is cleared too early when the restart is received but the direction has changed
    • HAL UART updates
      • Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs
    • HAL USB updates
      • HAL: HCD: add missing call to MspDeInit API during HCD DeInit
  • Middlewares updates
    • Upgrade to use new version of USB Device V2.11.0
      • USB VIDEO Class:
        • Correction of the support of VS_PROBE_CONTROL & VS_COMMIT_CONTROL requests
      • USB AUDIO Class:
        • Correction of the check on AUDIO_TOTAL_BUF_SIZE to avoid vulnerabilities
      • USB HID Class:
        • Modification of some constants names to avoid duplication versus USB host library
      • USB CustomHID Class:
        • Add support of Get Report control request Allow disabling EP OUT prepare receive using a dedicated macros that can be defined in usbd_conf.h application file
        • Add support of Report Descriptor with length greater than 255 bytes
      • USB All Classes:
        • Update all classes to support composite multi-instance using the class id parameter
    • Upgrade to use new version of USB Host V3.4.1
      • HID Class
        • Modify some variables names to avoid duplication versus device for HID class
    • Upgraded STM32 USB Power Delivery Device Library to use g0_v3.4.1.
      • Update FRS BSP API used for VBUS management
      • FRS updates (false detections)
    • Upgraded STM32 USB Power Delivery Core Library to use v4.1.0.
      • [OS] Fix THREADX thread ID struct handling
      • [OS] Fix define for CMSIS OS v2
      • [PE] Update FRS AMS to manage power requirement
      • [PE] Clear RX event before FRS ACCEPT
      • [OS] update to kill PE if does not stop executing itself
      • [OS] replace OS Free RTOS API with cmsis OS API
      • [SNK] After a soft reset we shall wait for source capa
      • [DEF] Add defines for STATUS message
      • [PE] SOP’ message needs to be sent only if sender is VCONN owner
      • [PE] Add the support of the USB4 (message USB_ENTER and DATA_RESET)
      • [PE] Revision message must be answered
      • [PE] Status message has 6 bytes whereas 7 are mandatory
      • [PRL] Update to handle retry and crc timer for more than 2 ports
      • [PRL] MessageId is not well incremented after retry
      • [PRL] In PD3 GoodCRC is always sent with PD revision 1
      • [CORE] Update the stack to manage 3 ports in parallel
      • [CORE] Solve CubeIDE compilation warning in OS_CREATE_TASK macro use.
      • {PE] SNK AMS HardReset : the USB stack shutdown must be done after VBUS has reached VSAFE_0V
      • [PRL] PHY state BUSY is no taken into account
      • [UCSI] Add new ID for UCSI trace
      • [THREADX] remove pool allocation inside the stack and Add a pool pointer on the InitOS function
  • Utilities updates
    • Upgraded STM32 TRACER_EMB to use v1.7.1.
    • Upgraded GUI_INTERFACE to use V2.2.1.
  • Projects updates
    • Add .mxproject files on all firmware projects available in STM32CubeMX format (with .ioc) to fix project path issue during copy.

    • The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.6.0 release notes

Warning

For applications using device connected on CN7 (Type-C connector on MB1352):

  • When the power source jumper JP24 is configured to D5V position (with this configuration the mother board is powered from the daughter board), there is no risk to get an over voltage on USB Vbus connector CN7.

  • When the ST-Link is used as power source there is a risk to get an over voltage in connector. In such power configuration, software safety protection is required to detect the overvoltage. Please refer to /* SAFETY PROTECTION CODE BEGIN */ section in main.c of USB_Host applications.

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
CMSIS V5.6.0 V5.6.0_cm0 release notes
STM32G0xx CMSIS V1.4.3 release notes
STM32G0xx_HAL_Driver V1.4.5 release notes
BSP STM32G0xx_Nucleo V1.1.1 release notes
BSP STM32G0C1E-EV V1.0.2 release notes
BSP STM32G081B_EVAL V1.3.1 release notes
BSP STM32G071B-Discovery V1.2.1 release notes
BSP STM32G0316-DISCO V1.0.2 release notes
BSP STM32G0xx_Nucleo_32 V1.0.2 release notes
BSP Adafruit Shield (reference ID 802) V3.0.4 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.1 release notes
BSP tusb546 V1.0.3 release notes
BSP sn65dp141 V1.0.2 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.1.0 release notes

Middleware

Name Version Release notes
FatFS R0.12c release notes
ST modified 2019101 release notes ST
FreeRTOS V10.3.1 release notes
ST modified 2020083 release notes ST
STM32_USBPD_Library - Core v4.1.0 release notes
STM32_USBPD_Library - Devices g0_v3.4.1 release notes
STM32_USB_Host_Library V3.4.1 release notes
STM32_USB_Device_Library V2.11.0 release notes
OpenBootloader V3.0.1 release notes

Utilities

Name Version Release notes
CPU V1.1.1 release notes
Fonts V1.0.1 release notes
Log V1.0.2 release notes
GUI_INTERFACE V2.2.1 release notes
TRACER_EMB V1.7.1 release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + STMicroelectronics.STM32G0xx_DFP.1.3.0.pack
  • STM32CubeIDE toolchain (gcc9_2020_q2_update) v1.7.0

Supported Devices and boards

  • STM32G0C1xx, STM32G0B1xx and STM32G0B0xx devices
  • STM32G061xx, STM32G051xx and STM32G050xx devices
  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G0B1RE Nucleo kit (MB1360 C-01)
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G0C1E Evaluation board RevB (MB1581 B-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B/STM32G0C1E Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

  • A few applications on STM32G0C1E-EV projects are not available at STM32CubeMX format (with .ioc)
  • USB HAL limitation: Double buffer mode is not functional with isochronous data transfers in host mode.
  • STM32G081B-EVAL:
    • DemoLoader Demo is provided for EWARM IDE only (not provided for MDK-ARM and CubeIDE)

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V6.6.0.

Main Changes

  • General updates to fix known defects and enhancements implementation.

Contents

  • CMSIS Device updates
    • Rename ADC TRx registers AWDxTR to be compliant with the reference manual.
    • Fix Doxygen grouping issues.
    • Update IRQ handler enumeration structure to be aligned with template CMSIS device.h file defined by ARM.
      • Rename SVC_IRQn to SVCall_IRQn:
    • Add the following aliases for IRQ number definition to ensure compatibility across STM32 Series;
      • #define SVC_IRQn SVCall_IRQn
  • HAL/LL Drivers updates
    • HAL ADC updates
      • Update LL_ADC driver to prevent unused argument compilation warning.
      • Update to manage constraint: ADC must be disable to modify bitfields of register ADC_CFGR1 and ADC_CFGR2
      • In LL and HAL drivers, references to 3 ADC registers renamed to align on CMSIS and reference manual: {TR1, TR2, TR3} renamed {AWD1TR, AWD2TR, AWD3TR}.
    • HAL DAC updates
      • Add new HAL DAC APIs to start/stop conversion on both channels
        • HAL_DACEx_DualStart()
        • HAL_DACEx_DualStop()
    • HAL FLASH updates
      • Fix Wrong definition of FLASH operation error
        • HAL_FLASH_ERROR_OP value updated to FLASH_SR_OPERR instead of FLASH_SR_EOP
    • HAL/LL RCC updates
      • Enhance the PLL configuration in HAL_RCC_ClockConfig() API.
      • Add the following new APIs to check if PLL output mapped on different domain clock is enabled:
        • LL_RCC_PLL_IsEnabledDomain_ADC()
        • LL_RCC_PLL_IsEnabledDomain_I2S1()
        • LL_RCC_PLL_IsEnabledDomain_I2S2()
        • LL_RCC_PLL_IsEnabledDomain_RNG()
        • LL_RCC_PLL_IsEnabledDomain_FDCAN()
        • LL_RCC_PLL_IsEnabledDomain_USB()
        • LL_RCC_PLL_IsEnabledDomain_TIM1()
        • LL_RCC_PLL_IsEnabledDomain_TIM15()
        • LL_RCC_PLL_IsEnabledDomain_SYS()
      • Enhance the following APIs implementation to check the PLL output enable bit status:
        • LL_RCC_GetI2SClockFreq()
        • LL_RCC_GetTIMClockFreq()
        • LL_RCC_GetRNGClockFreq()
        • LL_RCC_GetADCClockFreq()
        • LL_RCC_GetUSBClockFreq()
    • HAL CEC updates
      • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
    • HAL/LL TIM updates
      • Manage configuration of the Capture/compare DMA request source
      • Add related new exported constants (TIM_CCDMAREQUEST_CC, TIM_CCDMAREQUEST_UPDATE).
      • Create a new macro __HAL_TIM_SELECT_CCDMAREQUEST() allowing to program the TIMx_CR2.CCDS bitfield.
      • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
      • __LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.
    • HAL LPTIM updates
      • Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()
      • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
    • HAL UART updates
      • Add a check on the UART parity before enabling the parity error interruption.
      • Improve header description of UART_WaitOnFlagUntilTimeout() function
      • Add const qualifier for read only pointers.
      • Fix wrong cast when computing the USARTDIV value in UART_SetConfig().
      • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
    • LL LPUART updates
      • TXFECF reference removed from LL LPUART driver.
    • HAL/LL USART updates
      • Add a check on the USART parity before enabling the parity error interrupt.
      • Improve header description of USART_WaitOnFlagUntilTimeout() function
      • Add const qualifier for read only pointers.
      • Fix compilation warnings generated with ARMV6 compiler
    • HAL IRDAL updates
      • Add a check on the IRDA parity before enabling the parity error interrupt.
      • Improve header description of IRDA_WaitOnFlagUntilTimeout() function
      • Add const qualifier for read only pointers.
      • Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().
    • HAL SMARTCARD updates
      • Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function
      • Add const qualifier for read only pointers.
      • Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig().
    • HAL I2C updates
      • Update to handle errors in polling mode.
        • Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.
      • Update to fix issue detected due to low system frequency execution (HSI).
      • Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA
      • Timeout issue using HAL MEM interface through FreeRTOS
    • HAL SMBUS updates
      • Add the support of wake up capability.
      • Update to fix issue of mismatched data received by master in case of data size to be transmitted by the slave is greater than the data size to be received by the master.
        • Add flush on TX register.
    • HAL USB updates
      • HAL USB: fix Isochronous double buffer mode IN transfer issue
      • PCD: add supporting multi packets transfer on Interrupt endpoint
      • HAL: PCD: Set DCD timeout to minimum of 300ms before starting BCD primary detection process
      • HAL: PCD: software correction added to avoid unexpected STALL condition during EP0 multi packet OUT transfer.
    • LL UCPD updates
      • Correction of register accessed by LL_UCPD_ReadRxPaySize macro.
    • Documentation
      • "@ref" Doxygen tags removed from PDF User Manual

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
STM32G0xx CMSIS V1.4.2 release notes
STM32G0xx_HAL_Driver V1.4.4 release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + STMicroelectronics.STM32G0xx_DFP.1.3.0.pack
  • STM32CubeIDE toolchain (gcc9_2020_q2_update) v1.7.0

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V6.3.0.

Main Changes

  • General updates to fix known defects and enhancements implementation.
  • Deploy new license information and format in CMSIS devices, BSP drivers and firmware projects
  • Added new HAL SMBUS extended driver to support SMBUS fast Mode Plus.
  • This firmware release introduces the full support of TypeC connector where USB Data is managed by USB Dual role IP in device and host mode, and CC lines are controlled by the USBPD IP.
    • A set of applications are provided for STM32G0C1E-EV board to demonstrate how to develop a full USBPD application with USB Data.
    • The simple USB applications with Full USBPD protocol support, demonstrates SINK and SOURCE with USB data capability can be found under this path: Projects\STM32G0C1E-EV\Applications\USB-PD.

    • In order to have more details on how to use USB and USBPD in the same application, it is recommended to consult the STM32 Wiki pages:
      • https://wiki.st.com/stm32mcu/wiki/USB_Power_Delivery_overview
      • https://wiki.st.com/stm32mcu/wiki/USB_overview

Contents

  • CMSIS Device updates
    • Update to remove wrong bits defined for DMAMUX Req ID.
    • Protect Vector table modification following SRAM or FLASH preprocessor directive by a generic preprocessor directive : USER_VECT_TAB_ADDRESS.
    • Add new atomic register access macros in stm32g0xx.h file.
    • Add LSI maximum startup time datasheet value: LSI_STARTUP_TIME.
    • Update Licensing information and format
      • Add LICENSE.txt file
      • Remove License message from Release_Notes.html
      • Update header files with new license format
  • HAL/LL Drivers updates

    • HAL CEC update
      • Update HAL_CEC_IRQHandler() API to avoid appending an extra byte to the end of a message.
    • HAL/LL SPI update
      • Fix MISRA-C 2012 Rule-13.2 error.
      • Update to set the FRXTH bit for 8bit data in LL_SPI_Init() API.
      • Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.
    • HAL RCC update
      • Update to fix HSI48 flag definition.
      • Add missing STM32G0C1 specific MCO prescaler values to docstring.
      • Update GetOscConfig() API to correct wrong HSIDiv value.
      • Add new API HAL_RCC_GetResetSource() to get all reset sources and clear flags for next reset.
    • HAL DMA update
      • Update HAL_DMA_IRQHandler() API to set the DMA state before unlocking access to the DMA handle.
    • HAL FLASH update
      • Clarification comment of the program type added to the HAL_FLASH_Program() and HAL_FLASH_Program_IT() APIs.
    • HAL EXTI update
      • Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.
    • HAL/LL RTC update
      • Fix an error in IS_LL_RTC_MONTH leading to assert failure.
      • New APIs to subtract or add one hour to the calendar in one single operation without going through the initialization procedure (Daylight Saving):
        • HAL_RTC_DST_Add1Hour()
        • HAL_RTC_DST_Sub1Hour()
        • HAL_RTC_DST_SetStoreOperation()
        • HAL_RTC_DST_ClearStoreOperation()
        • HAL_RTC_DST_ReadStoreOperation()
      • DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type and __HAL_RTC_DAYLIGHT_SAVING_TIME_ADD1H() and __HAL_RTC_DAYLIGHT_SAVING_TIME_SUB1H() macros are now deprecated.
    • HAL CRYP update
      • Update HAL_CRYP_SetConfig() and HAL_CRYP_GetConfig() APIs to set/get the continent of KeyIVConfigSkip correctly.
      • Resolve interrupt mode related GCM decryption issue causing wrong computation of decryption size.
      • Update HAL_CRYP_InCpltCallback() API to fix an incorrect condition call at resumption time.
      • Update CRYP_AESCCM_Process_IT() API to manage header lengths in bytes or words when header length is less than 16 bytes.
    • HAL COMP update
      • Update wait_loop_index computation so delay in us is always multiplicated by at least value “1”.
    • HAL IWDG update
      • Update HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.
    • HAL/LL RCC update
      • Private functions made static.
      • Add missing STM32G0C1 specific MCO prescaler values to docstring.
      • Update to fix HSI48 flag definition.
      • Update GetOscConfig() API to correct wrong HSIDiv value.
      • Add LSI startup time in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT).
      • Add new API HAL_RCC_GetResetSource() to get all reset sources and clear flags for next reset.
    • HAL GPIO update
      • Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.
    • HAL I2C update
      • Update I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.
    • HAL SMBUS update
      • Add support for Fast Mode Plus to be SMBUS Rev3 compliant.
        • Add HAL_SMBUSEx_EnableFastModePlus() and HAL_SMBUSEx_DisableFastModePlus() APIs to manage Fm+.
    • HAL RNG update
      • Update timeout mechanism to avoid false timeout detection in case of preemption.
    • HAL UART update
      • Update HAL_UART_IRQHandler() API to handle receiver timeout interrupt.
      • Update UART receive processes (IT and DMA) to handle the UART receive’s timeout interrupt.
      • Fix erroneous UART’s handle state in case of error returned after DMA reception start within UART_Start_Receive_DMA().
      • Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback.
      • Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART).
      • Remove an invalid FIFO mode configuration from UART_SetConfig() as it is not is not member of UART_InitTypeDef Structure.
    • HAL/LL USART update
      • Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro.
      • LL_USART_ClockInit now supports clock phase and clock polarity configuration for SPI_Slave mode.
      • Handling of USART concurrent register access in case of race condition between Tx and Rx transfers.
      • Optimize stack usage for multiple APIs.
    • HAL/LL TIM update
      • Update LL_TIM_GetCounterMode() API to return the correct counter mode.
      • Correct reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.
      • Update HAL_TIMEx_OnePulseN_Start() and HAL_TIMEx_OnePulseN_Stop() APIs (polling and IT mode) to take into consideration all OutputChannel parameters.
      • Update timeout mechanism to avoid false timeout detection in case of preemption.
      • Update input capture measurement in DMA mode to avoid zero return values at high frequencies.
    • HAL LPTIM update
      • Update HAL_LPTIM_Init() API implementation to configure digital filter for external clock when LPTIM is clocked by an internal clock source.
    • HAL IWDG update
      • Update HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.
      • Add LSI startup time in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT).
    • HAL/LL ADC update
      • Update wait_loop_index computation so delay in us is always multiplicated by at least value “1”.
      • Fix wrong internal regulator stabilization time to be aligned with the datasheet: 20us instead of 10us.
    • HAL USB update
      • Add fix transfer complete for IN Interrupt transaction in single buffer mode.
      • stm32g0xx_hal_hcd.h/c updated to add #if #endif pre-processor directives for devices that do not support USB DRD feature.
      • Add fix transfer complete for IN Interrupt transaction in single buffer mode.
  • BSP updates
    • Update Licensing information and format
      • Add LICENSE.txt file
      • Remove License message from Release_Notes.html
      • Update header files with new license format
    • BSP_EVAL_G081
      • Update to set UIF flag just after Timer configuration
      • HAL MSP Init functions update to be used directly in the BSP drivers
  • Middlewares updates
    • Upgraded USB Host Lib to tag v3.4.0.
      • Improved enumeration phase by adding some specifications requirements checks.
      • Added error signaling for some out of specification device’s descriptors fields.
      • Added checking on both IN and OUT pipes construction.
      • Fixes added to FreeRTOS resource during USB host DeInit.
    • Upgraded USB Device Lib to tag v2.8.0.
      • Add support of new USB device Class driver:
        • USB Printer Class driver based on Universal Serial Bus Device Class Definition for Printing Devices Version 1.1
    • Upgraded STM32 USB Power Delivery Core Library to use v4.0.0.
      • Add the data role reset during hard reset AMS
      • Add the support of the ThreadX RTOS
    • Upgraded STM32 USB Power Delivery Device Library to use g0_v3.3.1.
      • Add support TCPP03.
  • Utilities updates
    • Upgraded STM32 TRACER_EMB to use v1.6.1.
    • Upgraded GUI_INTERFACE to use V2.0.0.
  • Projects updates
    • Update Licensing information and format
      • Add LICENSE.txt file
      • Remove License message from Release_Notes.html
      • Update header files with new license format
    • Templates
      • Templates MDK-ARM projects migrated to ARM Compiler 6 (AC-5 like warnings).
      • Toolchain Support of ARM Compiler 6 (AC-5 like warnings) for HAL/LL/BSP drivers and STMicroelectronics Middleware components.
      • Update to fix GCC 9 warnings.
    • Examples
      • Update examples and applications to avoid clearing DMA using global flag GIFx.
      • USBPD applications: update to fix an error with Timer Service Source when TIM4 to TIM20 are configured.
    • STM32G0C1E-EV
      • Add new USBPD applications to illustrate cohabitation between USB & USBPD
        • USBPD_SINK_MSC
        • USBPD_SOURCE_HID
      • Add support for MDK-ARM and CubeIDE toolchains for the following USB application:
        • STM32G0C1E-EV\Applications\USB_Device\DFU_Standalone
    • The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.5.0 release notes

Warning

For applications using device connected on CN7 (Type-C connector on MB1352):

  • When the power source jumper JP24 is configured to D5V position (with this configuration the mother board is powered from the daughter board), there is no risk to get an over voltage on USB Vbus connector CN7.

  • When the ST-Link is used as power source there is a risk to get an over voltage in connector. In such power configuration, software safety protection is required to detect the overvoltage. Please refer to /* SAFETY PROTECTION CODE BEGIN */ section in main.c of USB_Host applications.

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
CMSIS V5.6.0 V5.6.0_cm0 release notes
STM32G0xx CMSIS V1.4.1 release notes
STM32G0xx_HAL_Driver V1.4.2 release notes
BSP STM32G0xx_Nucleo V1.1.1 release notes
BSP STM32G0C1E-EV V1.0.1 release notes
BSP STM32G081B_EVAL V1.3.1 release notes
BSP STM32G071B-Discovery V1.2.1 release notes
BSP STM32G0316-DISCO V1.0.2 release notes
BSP STM32G0xx_Nucleo_32 V1.0.2 release notes
BSP Adafruit Shield (reference ID 802) V3.0.4 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.1 release notes
BSP tusb546 V1.0.3 release notes
BSP sn65dp141 V1.0.2 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.1.0 release notes

Middleware

Name Version Release notes
FatFS R0.12c release notes
ST modified 2019101 release notes ST
FreeRTOS V10.3.1 release notes
ST modified 2020083 release notes ST
STM32_USBPD_Library - Core v4.0.0 release notes
STM32_USBPD_Library - Devices g0_v3.3.1 release notes
STM32_USB_Host_Library V3.4.0 release notes
STM32_USB_Device_Library V2.8.0 release notes
OpenBootloader V3.0.1 release notes

Utilities

Name Version Release notes
CPU V1.1.1 release notes
Fonts V1.0.1 release notes
Log V1.0.2 release notes
GUI_INTERFACE V2.0.0 release notes
TRACER_EMB V1.6.1 release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + STMicroelectronics.STM32G0xx_DFP.1.3.0.pack
  • STM32CubeIDE V1.7.0

Supported Devices and boards

  • STM32G0C1xx, STM32G0B1xx and STM32G0B0xx devices
  • STM32G061xx, STM32G051xx and STM32G050xx devices
  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G0B1RE Nucleo kit (MB1360 C-01)
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G0C1E Evaluation board RevB (MB1581 B-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B/STM32G0C1E Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

  • A few applications on STM32G0C1E-EV projects are not available at STM32CubeMX format (with .ioc)
  • USB HAL limitation: Double buffer mode is not functional with isochronous data transfers in host mode.
  • STM32G081B-EVAL:
    • DemoLoader Demo is provided for EWARM IDE only (not provided for MDK-ARM and CubeIDE)

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V6.3.0.

Main Changes

Patch release

Patch release of STM32CubeG0 (STM32Cube for STM32G0 Series) Firmware package supporting STM32G0C1xx/B1xx/B0xx, STM32G061xx/51xx/50xx, STM32G041xx/31xx/30xx and STM32G081xx/71xx/70xx devices.

In the STM32CubeG0 MCU Package, examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks. User can open the provided ioc file in STM32CubeMX to modify the settings, add additional peripherals and/or middleware, to build his final application.

Demonstrations binaries are no more delivered within the STM32CubeG0 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.

Contents

  • HAL / LL Drivers updates
    • Update of HAL FLASH driver to support all STM32G0C1xx devices (with 128K dual bank and mono bank)


  • Projects updates

    • The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.4.0 release notes

Warning

For applications using device connected on CN7 (Type-C connector on MB1352):

  • When the power source jumper JP24 is configured to D5V position (with this configuration the mother board is powered from the daughter board), there is no risk to get an over voltage on USB Vbus connector CN7.

  • When the ST-Link is used as power source there is a risk to get an over voltage in connector. In such power configuration, software safety protection is required to detect the overvoltage.

    Please refer to /* SAFETY PROTECTION CODE BEGIN */ section in main.c of USB_Host applications.

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
CMSIS V5.6.0 V5.6.0_cm0 release notes
STM32G0xx CMSIS V1.4.0 release notes
STM32G0xx_HAL_Driver V1.4.1 release notes
BSP STM32G0xx_Nucleo V1.1.1 release notes
BSP STM32G0C1E-EV V1.0.0 release notes
BSP STM32G081B_EVAL V1.3.0 release notes
BSP STM32G071B-Discovery V1.2.0 release notes
BSP STM32G0316-DISCO V1.0.1 release notes
BSP STM32G0xx_Nucleo_32 V1.0.1 release notes
BSP Adafruit Shield (reference ID 802) V3.0.4 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.1 release notes
BSP tusb546 V1.0.3 release notes
BSP sn65dp141 V1.0.2 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.1.0 release notes

Middleware

Name Version Release notes
FatFS R0.12c release notes
ST modified 20191011 release notes ST
FreeRTOS V10.3.1 release notes
ST modified 20200831 release notes ST
STM32_USBPD_Library - Core V3.2.0 release notes
STM32_USBPD_Library - Devices V3.1.0 release notes
STM32_USB_Host_Library V3.3.4 release notes
STM32_USB_Device_Library V2.7.1 release notes
OpenBootloader V3.0.0 release notes

Utilities

Name Version Release notes
CPU V1.1.1 release notes
Fonts V1.0.1 release notes
Log V1.0.2 release notes
GUI_INTERFACE V1.12.0 release notes
TRACER_EMB V1.5.0 release notes

Development Toolchains and Compilers

Toolchain + ST-Link Version Device Patch(if available)
IAR Embedded Workbench for ARM (EWARM) V8.30.1 G0C1xx/B1xx/B0xx Patch EWARM
IAR Embedded Workbench for ARM (EWARM) V8.30.1 G061xx/51xx/50xx Patch EWARM
RealView Microcontroller Development Kit (MDK-ARM) V5.29 G0C1xx/B1xx/B0xx Patch MDK-ARM
RealView Microcontroller Development Kit (MDK-ARM) V5.29 G061xx/51xx/50xx Patch MDK-ARM
STM32CubeIDE V1.5.0 G0C1xx/B1xx/B0xx

Supported Devices and boards

  • STM32G0C1xx, STM32G0B1xx and STM32G0B0xx devices
  • STM32G061xx, STM32G051xx and STM32G050xx devices
  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G0B1RE Nucleo kit (MB1360 C-01)
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G0C1E Evaluation board RevB (MB1581 B-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B/STM32G0C1E Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

  • A few applications on STM32G0C1E-EV projects are not available at STM32CubeMX format (with .ioc)
  • USB HAL limitation: Double buffer mode is not functional with isochronous data transfers in host mode.

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V6.1.0


Main Changes

Maintenance release and Product Update

Official release of STM32CubeG0 (STM32Cube for STM32G0 Series) Firmware package introducing STM32G0C1xx/B1xx/B0xx and STM32G061xx/51xx/50xx devices.

Maintenance release of STM32CubeG0 (STM32Cube for STM32G0 Series) Firmware package supporting STM32G041xx/31xx/30xx devices and STM32G081xx/71xx/70xx devices.

In the STM32CubeG0 MCU Package, examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks. User can open the provided ioc file in STM32CubeMX to modify the settings, add additional peripherals and/or middleware, to build his final application.

Demonstrations binaries are no more delivered within the STM32CubeG0 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.

Contents

  • CMSIS Core updates
    • Upgrade to CMSIS V5.6.0

      DSP libraries moved to CMSIS/DSP/Lib (DSP-based user projects impacted)

  • CMSIS Device updates
    • Add support of new G0C1xx/B1xx/B0xx devices
    • Add support of new G061xx/51xx/50xx devices
    • Add support of STM32CubeIDE
  • HAL / LL Drivers updates
    • Fix known defects and add several enhancements implementation
    • Add support of new features/instances/IPs for G0C1xx/B1xx/B0xx devices
    • Add support of new instances/IPs for G061xx/51xx/50xx devices
  • BSP Drivers updates
    • Add New BSP STM32G0C1E-EV
    • Update BSP STM32G081B_EVAL following changes in latest version of USBPD Middleware
    • Update BSP STM32G071B-DISCOVERY following changes in latest version of USBPD Middleware
  • BSP Components updates
    • Update SSD1315 to fix known defect
  • Middlewares updates
    • Add new middleware OpenBootloader
    • Add new middleware STM32_USB_Device_Library
    • Add new middleware STM32_USB_Host_Library
    • Update to new version of FreeRTOS v10.3.1 (ST modified 20200831)
    • Update to new version of FatFS R0.12c (ST modified 20191011)
    • Update to new version of STM32_USBPD_Library - Core V3.2.0
    • Update to new version of STM32_USBPD_Library - devices V3.1.0
  • Utilities updates
    • Update to new version of GUI_INTERFACE
    • Update to new version of TRACER_EMB
  • Projects updates
    • Add new examples, templates, Applications and Demonstration for STM32G0C1E-EV and NUCLEO-G0B1RE boards.

    • The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.4.0 release notes

Warning

For applications using device connected on CN7 (Type-C connector on MB1352):

  • When the power source jumper JP24 is configured to D5V position (with this configuration the mother board is powered from the daughter board), there is no risk to get an over voltage on USB Vbus connector CN7.

  • When the ST-Link is used as power source there is a risk to get an over voltage in connector. In such power configuration, software safety protection is required to detect the overvoltage.

    Please refer to /* SAFETY PROTECTION CODE BEGIN */ section in main.c of USB_Host applications.

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
CMSIS V5.6.0 V5.6.0_cm0 release notes
STM32G0xx CMSIS V1.4.0 release notes
STM32G0xx_HAL_Driver V1.4.0 release notes
BSP STM32G0xx_Nucleo V1.1.1 release notes
BSP STM32G0C1E-EV V1.0.0 release notes
BSP STM32G081B_EVAL V1.3.0 release notes
BSP STM32G071B-Discovery V1.2.0 release notes
BSP STM32G0316-DISCO V1.0.1 release notes
BSP STM32G0xx_Nucleo_32 V1.0.1 release notes
BSP Adafruit Shield (reference ID 802) V3.0.4 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.1 release notes
BSP tusb546 V1.0.3 release notes
BSP sn65dp141 V1.0.2 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.1.0 release notes

Middleware

Name Version Release notes
FatFS R0.12c release notes
ST modified 20191011 release notes ST
FreeRTOS V10.3.1 release notes
ST modified 20200831 release notes ST
STM32_USBPD_Library - Core V3.2.0 release notes
STM32_USBPD_Library - Devices V3.1.0 release notes
STM32_USB_Host_Library V3.3.4 release notes
STM32_USB_Device_Library V2.7.1 release notes
OpenBootloader V3.0.0 release notes

Utilities

Name Version Release notes
CPU V1.1.1 release notes
Fonts V1.0.1 release notes
Log V1.0.2 release notes
GUI_INTERFACE V1.12.0 release notes
TRACER_EMB V1.5.0 release notes

Development Toolchains and Compilers

Toolchain + ST-Link Version Device Patch(if available)
IAR Embedded Workbench for ARM (EWARM) V8.30.1 G0C1xx/B1xx/B0xx Patch EWARM
IAR Embedded Workbench for ARM (EWARM) V8.30.1 G061xx/51xx/50xx Patch EWARM
RealView Microcontroller Development Kit (MDK-ARM) V5.29 G0C1xx/B1xx/B0xx Patch MDK-ARM
RealView Microcontroller Development Kit (MDK-ARM) V5.29 G061xx/51xx/50xx Patch MDK-ARM
STM32CubeIDE V1.5.0 G0C1xx/B1xx/B0xx

Supported Devices and boards

  • STM32G0C1xx, STM32G0B1xx and STM32G0B0xx devices
  • STM32G061xx, STM32G051xx and STM32G050xx devices
  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G0B1RE Nucleo kit (MB1360 C-01)
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G0C1E Evaluation board RevB (MB1581 B-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B/STM32G0C1E Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

  • A few applications on STM32G0C1E-EV projects are not available at STM32CubeMX format (with .ioc)
  • USB HAL limitation: Double buffer mode is not functional with isochronous data transfers in host mode.

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V6.1.0

Main Changes

Maintenance release

Maintenance release of STM32CubeG0 (STM32Cube for STM32G0 Series) Firmware package supporting STM32G041xx/31xx/30xx devices and STM32G081xx/71xx/70xx devices.

In the STM32CubeG0 MCU Package, examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks. User can open the provided ioc file in STM32CubeMX to modify the settings, add additional peripherals and/or middleware, to build his final application.

Demonstrations binaries are no more delivered within the STM32CubeG0 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.

Contents

  • CMSIS Core updates
    • Update to new version V5.4.0
  • CMSIS Device updates
    • Fix known defect
  • HAL / LL Drivers updates
    • Fix known defects and add several enhancements implementation
  • BSP Drivers updates
    • Update BSP STM32G081B_EVAL following changes in latest version of FatFS Middleware
    • Update BSP Adafruit Shield following changes in latest version of FatFS Middleware
  • Middlewares updates
    • Update to new version of FatFS R0.12c (ST modified 20190329)
    • Update to new version of STM32_USBPD_Library - Core & devices V2.6.0
  • Utilities updates
    • Update to new version of CPU V1.1.1
    • Update to new version of Fonts V1.0.1
    • Update to new version of Log V1.0.2
    • Update to new version of GUI_INTERFACE V1.7.0
    • Update to new version of TRACER_EMB V1.2.0
  • Projects updates
    • The STM32CubeG0 Firmware package comes with a rich set of examples 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).
    • Update of FW projects following changes in latest version of HAL/LL, BSP and Middlewares
Name Version Release notes
Projects V1.3.0 release notes

Components

Note: in the tables above, version highlighted have changed since previous release.

Drivers

Name Version Release notes
CMSIS V5.4 V5.4.0 release notes
STM32G0xx CMSIS V1.3.0 release notes
STM32G0xx_HAL_Driver V1.3.0 release notes
BSP STM32G0xx_Nucleo V1.1.0 release notes
BSP STM32G081B_EVAL V1.2.0 release notes
BSP STM32G071B-Discovery V1.1.0 release notes
BSP STM32G0316-DISCO V1.0.0 release notes
BSP STM32G0xx_Nucleo_32 V1.0.0 release notes
BSP Adafruit Shield (reference ID 802) V3.0.4 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.0 release notes
BSP tusb546 V1.0.2 release notes
BSP sn65dp141 V1.0.1 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.0.0 release notes

Middlewares

Name Version Release notes
FatFS R0.12c release notes
ST modified 20190329 release notes ST
FreeRTOS V10.0.1 release notes
ST modified 20190329 release notes ST
STM32_USBPD_Library - Core V2.6.0 release notes
STM32_USBPD_Library - Devices V2.6.0 release notes

Utilities

Name Version Release notes
CPU V1.1.1 release notes
Fonts V1.0.1 release notes
Log V1.0.2 release notes
GUI_INTERFACE V1.7.0 release notes
TRACER_EMB V1.2.0 release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.7.2 + ST-Link

Supported Devices and boards

  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V5.3.0

Main Changes

Maintenance release and product Update

First Official release of STM32CubeG0 (STM32Cube for STM32G0 Series) Firmware package supporting STM32G041xx/31xx/30xx devices and introducing new STM32G0316-DISCO and NUCLEO-G031K8 boards.

Maintenance release of STM32CubeG0 (STM32Cube for STM32G0 Series) Firmware package supporting STM32G081xx/71xx/70xx devices

In the STM32CubeG0 MCU Package, examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks. User can open the provided ioc file in STM32CubeMX to modify the settings, add additional peripherals and/or middleware, to build his final application.

Demonstrations binaries are no more delivered within the STM32CubeG0 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.

Contents

The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.2.0 release notes

Components

Name Version Release notes
CMSIS V4.5 V4.5.0 release notes
STM32G0xx CMSIS V1.2.0 release notes
STM32G0xx_HAL_Driver V1.2.0 release notes
BSP STM32G0xx_Nucleo V1.1.0 release notes
BSP STM32G081B_EVAL V1.1.1 release notes
BSP STM32G071B-Discovery V1.1.0 release notes
BSP STM32G0316-DISCO V1.0.0 release notes
BSP STM32G0xx_Nucleo_32 V1.0.0 release notes
BSP Adafruit Shield (reference ID 802) V2.0.1 release notes
BSP Common V5.1.2 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.5 release notes
BSP cbtl08gp053 V1.0.0 release notes
BSP tusb546 V1.0.2 release notes
BSP sn65dp141 V1.0.1 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.0.0 release notes

Middlewares

Name Version Release notes
FatFS R0.12c release notes
ST modified 20170710 release notes ST
FreeRTOS V10.0.1 release notes
ST modified 20190329 release notes ST
STM32_USBPD_Library - Core V2.5.2 release notes
STM32_USBPD_Library - Devices V2.5.0 release notes

Utilities

Name Version Release notes
CPU V1.1.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes
GUI_INTERFACE V1.5.0 release notes
TRACER_EMB V1.0.0 release notes

Note: in the tables above, version highlighted have changed since previous release.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.7.2 + ST-Link

Supported Devices and boards

  • STM32G041xx, STM32G031xx and STM32G030xx devices
  • STM32G081xx, STM32G071xx and STM32G070xx devices
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)
  • STM32G031K8 Nucleo32 kit (MB1455)
  • STM32G0316 Discovery kit (MB1454)

Known Limitations

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V5.2.0

Main Changes

Maintenance release

Official release of STM32CubeG0 (STM32Cube for STM32G0 Series) supporting STM32G081xx/71xx/70xx devices and introducing new STM32G071-DISCO board, designed to highlight USBPD features.

NUCLEO-G071RB, NUCLEO-G070RB and STM32G081B-EVAL completed with new examples in STM32CubeMX format.

In the STM32CubeG0 MCU Package, examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks. User can open the provided ioc file in STM32CubeMX to modify the settings, add additional peripherals and/or middleware, to build his final application.

Contents

The STM32CubeG0 Firmware package comes with a rich set of examples 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).

Demonstrations binaries are no more delivered within the STM32CubeG0 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.

Name Version Release notes
Projects V1.1.0 release notes

Components

Drivers

Name Version Release notes
CMSIS V4.5 V4.5.0 release notes
STM32G0xx CMSIS V1.1.0 release notes
STM32G0xx HAL V1.1.0 release notes
BSP STM32G0xx_Nucleo V1.0.0 release notes
BSP STM32G081B_EVAL V1.1.1 release notes
BSP STM32G071B-Discovery V1.0.0 release notes
BSP Adafruit Shield (reference ID 802) V2.0.1 release notes
BSP Common V5.1.0 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.2 release notes
BSP st7735 V1.1.4 release notes
BSP cbtl08gp053 V1.0.0 release notes
BSP tusb546 V1.0.2 release notes
BSP sn65dp141 V1.0.1 release notes
BSP ina230 V1.0.0 release notes
BSP ssd1315 V1.0.0 release notes

Middlewares

Name Version Release notes
FreeRTOS V10.0.1 ST modified 20180813 V10.0.1 release notes
ST modified 20180813 release notes
FatFS R0.12c ST modified 20170710 R0.12c release notes
ST modified 20170710 release notes
STM32_USBPD_Library - Core V2.5.0 release notes
STM32_USBPD_Library - Devices V2.5.0 release notes

Utilities

Name Version Release notes
CPU V1.1.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes
GUI_INTERFACE V1.5.0 release notes
TRACER_EMB V1.0.0 release notes

Note: in the tables above, version highlighted have changed since previous release.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.5

Supported Devices and boards

  • STM32G081xx devices RevB
  • STM32G071xx devices RevB
  • STM32G070xx devices RevB
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)
  • STM32G071B Discovery kit RevC (MB1378 C-01)

Known limitations

Backward compatibility

  • This release is compatible with the previous versions

Other compatibilities

This software release is compatible with:

  • STM32CubeMX V5.1.x

Main Changes

First release

First release of STM32CubeG0 (STM32Cube for STM32G0 Series) supporting STM32G081xx/71xx/70xx devices

In the STM32CubeG0 MCU Package, most of the examples and applications projects are generated with the STM32CubeMX tool to initialize the system, peripherals and middleware stacks. User can open the provided ioc file in STM32CubeMX to modify the settings, add additional peripherals and/or middleware, to build his final application.

Contents

The STM32CubeG0 Firmware package comes with a rich set of examples 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 notes
Projects V1.0.0 release notes

Components

Drivers

Name Version Release notes
CMSIS V4.5 V4.5.0 release notes
STM32G0xx CMSIS V1.0.0 release notes
STM32G0xx HAL V1.0.0 release notes
BSP STM32G0xx_Nucleo V1.0.0 release notes
BSP STM32G081B_EVAL V1.0.0 release notes
BSP Adafruit Shield (reference ID 802) V2.0.1 release notes
BSP Common V5.1.0 release notes
BSP hx8347d V1.1.2 release notes
BSP stlm75 V2.0.0 release notes
BSP st7735 V1.1.2 release notes
BSP cbtl08gp053 V1.0.0 release notes
BSP tusb546 V1.0.2 release notes
BSP sn65dp141 V1.0.1 release notes

Middlewares

Name Version Release notes
FreeRTOS V10.0.1 ST modified 20180730 V10.0.1 release notes
ST modified 20180813 release notes
FatFS R0.12c ST modified 20170710 R0.12c release notes
ST modified 20170710 release notes
STM32_USBPD_Library - Core V2.2.5 release notes
STM32_USBPD_Library - Devices V2.3.0 release notes

Utilities

Name Version Release notes
CPU V1.1.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes
GUI_INTERFACE V1.1.2 release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2+ ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.5

Supported Devices and EVAL boards

  • STM32G081xx devices RevB
  • STM32G071xx devices RevB
  • STM32G070xx devices RevB
  • STM32G071RB Nucleo kit RevC (MB1360 C-01)
  • STM32G070RB Nucleo kit RevC (MB1360 C-01)
  • STM32G081B Evaluation board RevB (MB1350 B-01)
  • STM32G081B Legacy daughter board RevA (MB1351 A-01)
  • STM32G081B UCPD daughter board RevC (MB1352 C-01)

Known limitations