Release Notes for STM32CubeF0 Firmware Package

Copyright © 2016 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 HAL (Hardware Abstraction Layer) drivers provided within this package supports the following STM32F030x4/x6/x8/xC, STM32F031x4/x6, STM32F051x4/x6/x8, STM32F070x6/xB, STM32F071x8/xB, STM32F042x4/x6, STM32F072x8/xB, STM32F091xC, STM32F038xx, STM32F048xx, STM32F058xx, STM32F078xx and STM32F098xx devices.

Update History

Maintenance release

Main Changes

  • Patch release to fix known defects and enhancements implementation.
  • All source files: update disclaimer to add reference to the new license agreement.
  • CMSIS updates
    • Update GCC startup files to call SystemInit() API in beginning of Reset_Handler() API to be aligned with IAR/MDK-ARM implementation.
    • Fix inconsistent IRQn_Type enumeration for supervisor call exception with alias for compatibility
    • Add support for HSI48 in SystemCoreClockUpdate.
    • stm32f030xc.h header file update:
      • Revert change done in V2.3.5 on RCC_CFGR bits definition.
      • RCC_CFGR bits description will be updated in documentation: RM0360.
  • HAL updates
    • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
  • HAL GENERIC update
    • Allow redefinition of macro UNUSED(x).
  • HAL RCC update
    • Add a static storage class specifier in the const tables.
  • HAL GPIO update
    • Reorder EXTI configuration sequence to avoid unexpected level detection.
  • HAL EXTI update
    • Fix computation of pExtiConfig->GPIOSel in the HAL_EXTI_GetConfigLine() API.
  • HAL CRC update
    • Add filter in HAL_CRCEx_Polynomial_Set() to exclude even polynomials.
    • Update HAL_CRC_DeInit implementation to avoid overflow issues in CRC_IDR_IDR.
  • HAL ADC update
    • Remove multiple volatile reads or writes in interrupt handler for better performance.
  • LL/HAL TIM update
    • 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.
    • Update __LL_TIM_CALC_PSC() macro to round up the evaluated value when the fractional part of the division is greater than 0.5.
  • HAL RTC_BKP update
    • Move constants RTC_IT_TAMP from hal_rtc.h to hal_rtc_ex.h.
    • Use bits definitions from CMSIS Device header file instead of hard-coded values.
    • Add new macro assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper->Filter, sTamper->Trigger)) to check tamper filtering is disabled in case tamper events are triggered on signal edges.
    • Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:
      • Write in TAFCR register in one single access instead of two.
      • Avoid modifying user structure sTamper.
    • Add a check on the RTC calendar initialization before entering in initialization mode.
  • HAL IRDA update
    • Improve header description of IRDA_WaitOnFlagUntilTimeout() function.
    • Add a check on the IRDA parity before enabling the parity error interrupt.
    • Add const qualifier for read only pointers.
    • Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().
  • HAL UART update
    • Improve header description of UART_WaitOnFlagUntilTimeout() function.
    • Add a check on the UART parity before enabling the parity error interruption.
    • Add const qualifier for read only pointers.
    • Fix wrong cast when computing the USARTDIV value in UART_SetConfig().
    • Correct the way transmit data flush request is managed.
    • Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs
    • Disable the Receiver Timeout Interrupt when data reception is completed.
    • Rework of UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior.
  • LL/HAL USART update
    • Improve header description of USART_WaitOnFlagUntilTimeout() function.
    • Add a check on the USART parity before enabling the parity error interrupt.
    • Fix compilation warnings generated with ARMV6 compiler.
  • HAL SMARTCARD update
    • 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().
  • LL/HAL I2C update
    • Improve header description of I2C_WaitOnFlagUntilTimeout() function.
    • Rename I2C_IsAcknowledgeFailed() I2C_IsErrorOccurred() and correct the way errors are checked and reported when they occur in polling mode.
      • 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
    • Clear the ADDRF flag only when direction is confirmed as changed, to prevent that the ADDRF flag is cleared too early when the restart is received.
    • Fix timeout issue using HAL MEM interface through FreeRTOS.
    • I2C_IsErrorOccurred does not return error if timeout is detected.
    • Update [HAL_I2C_IsDeviceReady] API to support 10_bit addressing mode.
  • HAL SMBUS update
    • Add flushing of TX register to fix the issue of mismatching 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.
  • HAL 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).
  • HAL CAN update
    • Removal of never reached code.
    • Improve protection against bad inputs.
  • HAL CEC update
    • Remove multiple volatile reads or writes in interrupt handler for better performance.
  • USB_FS_HAL update
    • PCD: add supporting multi packets transfer on Interrupt endpoint.
    • Set DCD timeout to a 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.
    • hal_pcd.h: add a mask for USB RX bytes count.
  • Project update
    • Examples
      • Update CRC LL examples to fix incorrect bytes stream handling.
    • Applis_MW_ST_USB
      • Removal of the BCD bus stabilization delay
Projects
Name Version Release notes
Projects see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version Release note
STM32F0xx CMSIS V2.3.7 release notes
STM32F0xx HAL V1.7.7 release notes
BSP STM32F072B-Discovery V2.1.8 release notes
BSP STM32F0xx-Nucleo V1.1.7 release notes
BSP STM32F0xx_Nucleo_32 V1.0.5 release notes
BSP STM32F072B-Discovery V2.1.8 release notes
BSP STM32F0308-Discovery V2.0.6 release notes
BSP STM32072B_EVAL V2.1.9 release notes
BSP STM32091C_EVAL v2.0.8 release notes
Utilities
Name Version Release note
CPU V1.1.3 release notes
Fonts V1.0.2 release notes
Log V1.0.3 release notes


Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.2+ ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 (or upper) + ST-LINK, pack available here:
    • www.keil.com/dd2/Pack/ (Section : STMicroelectronics STM32F0 Series Device Support)
    • Only template projects are migrated to Arm Compiler 6 with MDK-ARM 5.31 (“AC-like Warnings” mode).
  • System Workbench for STM32 (SW4STM32) (7-2018-q2-update) toolchain V2.9.0 + ST-Link

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Patch release to fix known defects and enhancements implementation.

  • CMSIS updates
    • CAN updates
      • Remove extra CAN filters: bit fields 14..27
    • Added new atomic register access macros in stm32f0xx.h file.
    • Add new defined value for LSI maximum startup time: LSI_STARTUP_TIME.
  • HAL updates
    • HAL GPIO driver
      • Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.
    • HAL EXTI update
      • Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.
    • LL/HAL ADC update
      • Update LL_ADC_DMA_GetRegAddr() API to prevent unused argument compilation warning.
      • Update HAL timeout mechanism to avoid false timeout detection in case of preemption.
    • LL/HAL DAC update
      • Remove ‘register’ storage class specifier from LL DAC driver.
    • LL/HAL TIM update
      • Corrected reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.
      • Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters.
      • Update input capture measurement in DMA mode to avoid zero return values at high frequencies.
    • HAL I2C update
      • Updated I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.
    • HAL UART update
      • 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)
    • HAL CAN update
      • Update HAL_CAN_Init() API to be aligned with STM32F3 documentation and to avoid timeout error:
        • Update CAN Initialization sequence to set “request initialization” bit before exit from sleep mode.
    • LL FMC update
      • Fix compilation warning with gcc -Wpedantic compiler option.
    • HAL SPI update
      • Updated to fix MISRA-C 2012 Rule-13.2.
      • Updated 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 I2S update
      • Update I2SEx APIs to correctly support circular transfers:
        • Update I2SEx_TxRxDMACplt() API to manage DMA circular mode.
        • Update HAL_I2SEx_TransmitReceive_DMA() to enhance HAL I2S driver robustness:
          • Remove DMA TX transfer complete and half complete callback initialization.
    • HAL IWDG update
      • Updated HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.
    • HAL RTC update
      • Update __HAL_RTC_…(__HANDLE__, …) macros to access registers through (__HANDLE__)->Instance pointer and avoid “unused variable” warnings.
      • Correct month management in IS_LL_RTC_MONTH() macro
    • LL USART update
      • Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro.
      • Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
    • HAL NAND update
      • Update implementation of “HAL_NAND_Read_SpareArea_16b” and “HAL_NAND_Write_SpareArea_16b” to fix an issue with the spare area Column address calculation
      • Update implementation of “HAL_NAND_Write_Page_16b” and “HAL_NAND_Read_Page_16b” APIs implementation to fix an issue with the page calculation of 8 bits memories
    • HAL USB_FS update
      • HAL PCD: add fix transfer complete for IN Interrupt transaction in single buffer mode
      • Race condition in USB PCD control endpoint receive ISR.
  • Project updates
    • Examples
      • General updates to fix compilation warnings with gcc v9.
      • Updated examples and applications to avoid clearing DMA using global flag GIFx.
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Contents

Drivers
Name Version Release note
STM32F0xx CMSIS V2.3.6 release notes
STM32F0xx HAL V1.7.6 release notes
BSP STM32F072B-Discovery V2.1.7 release notes
BSP Components i3g4250d V1.0.0 release notes

Maintenance release

Main Changes

  • Patch release to fix known defects and enhancements implementation.
  • Remove “register” keyword to be compliant with new C++ rules:
    • The register storage class specifier was deprecated in C++11 and removed in C++17
  • Update STM32F072B-Discovery Demo to support new MEMS gyroscope component: I3G4250D.
  • EEPROM_Emulation application alignment with X-CUBE-EEPROM package.

  • CMSIS
    • Update stm32f030xc.h header file to be aligned with RCC_CFGR bit definition.
    • Rename the defined STM32 sub-family “STM32F048x6” to “STM32F048xx”
    • Add License.md and Readme.md files required for GitHub publication.
  • HAL
    • HAL driver update
      • Add new defines for ARM compiler V6:
        • __weak
        • __packed
        • __NOINLINE
      • Remove compile switch “USE_HAL_LEGACY” on #include “Legacy/stm32_hal_legacy.h”
      • Update HAL TimeBase TIM, RTC alarm and RTC WakeUp templates for more robustness
        • Update HAL_InitTick() API to properly store the priority when using the non-default time base.
    • HAL/LL ADC update
      • Update HAL_ADC_Stop_DMA() API to check if DMA state is Busy before calling HAL_DMA_Abort() API to avoid DMA internal error.
      • Update LL_ADC_REG_Init() API to avoid enabling continuous mode and discontinuous mode simultaneously.
    • HAL CEC update
      • Update HAL_CEC_IRQHandler() API to avoid appending an extra byte to the end of message.
    • HAL TSC update
      • Update the HAL_TSC_Init() API to add new check condition on “PulseGeneratorPrescaler” Parameter
    • HAL FLASH update
      • Update FLASH_OB_DisableWRP() API to remove write protection on selected sectors instead of all sectors.
    • HAL/LL IWDG update
      • Update HAL_IWDG_DEFAULT_TIMEOUT define value to consider LSI value instead of hardcoded value.
    • HAL RTC update
      • Update to support Daylight Saving Time (DST) feature:
        • Subtract or add one hour to the calendar can now be handled outside HAL_RTC_SetTime() thanks to new APIs.
          • HAL_RTC_DST_Add1Hour() API to add one hour to the calendar
          • HAL_RTC_DST_Sub1Hour() API to subtract one hour from the calendar
          • HAL_RTC_DST_SetStoreOperation() API to set the store operation bit
          • HAL_RTC_DST_ClearStoreOperation() API to clear the store operation bit
          • HAL_RTC_DST_ReadStoreOperation() API to read the store operation bit
        • DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type are now deprecated.
    • HAL/LL SPI update
      • Update HAL_SPI_TransmitReceive() API to manage the case of unaligned data
      • Update SPI_DMAReceiveCplt() API to handle efficiently the repeated transfers.
        • Disable TX DMA request only in bidirectional receive mode
    • HAL/LL TIM update
      • Update Encoder input interface to don’t allow both input polarity configuration
        • Replace IS_TIM_IC_POLARITY() macro by IS_TIM_ENCODERINPUT_POLARITY() macro.
      • Update to allow multiple DMA request with different channels in parallel:
        • Implement DMA burst state management mechanism
        • Implement TIM channel state management mechanism
      • Correct inverted values of LL_TIM_COUNTERMODE_CENTER_DOWN and LL_TIM_COUNTERMODE_CENTER_UP
      • Update LL_TIM_GetCounterMode() API to return right counter mode.
    • HAL/LL SMARTCARD update
      • Update smartcard transmit processes to be able to handle data retransmission when NACK is received in smartcard T=0
    • HAL/LL UART update
      • Update to enhance reception to idle services (ReceptionToIdle):
        • Add a new field HAL_UART_RxTypeTypeDef structure to the UART_HandleTypeDef structure to identify the type of ongoing Reception
        • Add UART Reception Event Callback registration features
        • Add a set of APIs specific to Reception to Idle transfer in different mode
          • Add HAL_UARTEx_ReceiveToIdle API to receive an amount of data in blocking mode till either the expected number of data is received or an IDLE event occurs.
          • Add HAL_UARTEx_ReceiveToIdle_IT() API to receive an amount of data in interrupt mode till either the expected number of data is received or an IDLE event occurs.
          • Add HAL_UARTEx_ReceiveToIdle_DMA() API to receive an amount of data in DMA mode till either the expected number of data is received or an IDLE event occurs.
        • Update HAL_UART_Receive(), HAL_UART_Receive_IT() and HAL_UART_Receive_DMA() APIs to support the new enhancement of ReceptionToIdle
      • Update HAL_UART_IRQHandler() to handle receiver timeout interruption
      • Update UART receive processes (IT & DMA) to handle the UART receive timeout interruption
    • HAL/LL USART update
      • Add RTO (Receiver Time Out) support to USART HAL flags and IT management
        • Add HAL_USART_ERROR_RTO define of Receiver Timeout error to the USART Error Definition section
        • Add USART_FLAG_RTOF define of Receiver Timeout flag to the USART Flags section
        • Add USART_CLEAR_RTOF define of Receiver Timeout clear flag to the USART Clear Flags section
        • Update HAL_USART_IRQHandler to add support to the Receiver Timeout Interruption
    • LL UTILS update
      • UTILS_SetFlashLatency() API renamed to LL_SetFlashLatency() and set exportable.
  • BSP
    • Add new MEMS I3G4250D component support for STM32F072B-DISCO board.
    • Add Release Note resource: htmresc folder.
    • Add License.md file required for GitHub publication.
  • Projects
    • STM32F091RC-Nucleo:
      • General updates to enhance EEPROM_Emulation application robustness:
        • Alignment with X-CUBE-EEPROM package.
    • STM32F072B-Discovery:
      • Update Demo to support new MEMS gyroscope component: I3G4250D
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Contents

Drivers
Name Version Release note
STM32F0xx CMSIS V2.3.5 release notes
STM32F0xx HAL V1.7.5 release notes
BSP STM32F072B-Discovery V2.1.7 release notes
BSP Components i3g4250d V1.0.0 release notes

Maintenance release

Main Changes

  • Patch release to fix known defects and enhancements implementation

  • HAL
    • HAL/LL GPIO driver
      • Update HAL_GPIO_TogglePin() API to allow the toggling of many pins
      • Update GPIO initialization sequence to avoid unwanted pulse on GPIO Pin’s
    • HAL/LL I2C update
      • Update HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with I2C memory IT processes
        • Add stop condition generation when NACK occurs.
      • Update I2C_DMAXferCplt(), I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx and hdmarx parameters in i2c handle aren’t initialized (NULL pointer).
        • Add additional check on hi2c->hdmtx and hi2c->hdmarx before resetting DMA Tx/Rx complete callbacks
      • Update Sequential transfer APIs to adjust xfermode condition.
        • Replace hi2c->XferCount < MAX_NBYTE_SIZE by hi2c->XferCount <= MAX_NBYTE_SIZE which corresponds to a case without reload
    • HAL/LL USB driver
      • Bug fix: USB_ReadPMA() and USB_WritePMA() by ensuring 16-bits access to USB PMA memory
      • Bug fix: correct USB RX count calculation
      • Fix USB Bulk transfer double buffer mode
      • Remove register keyword from USB defined macros as no more supported by C++ compiler
      • Minor rework on USBD_Start() and USBD_Stop() APIs: stopping device will be handled by HAL_PCD_DeInit() API.
      • Remove non used API for USB device mode.
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Drivers
Name Version Release note
STM32F0xx HAL V1.7.4 release notes

Maintenance release

Main Changes

  • General updates to fix known defects and enhancements implementation
  • Add support of HAL callback registration feature
  • Add new HAL EXTI driver
  • The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    • HAL/LL Generic update
      • Add support of HAL callback registration feature
        • The feature disabled by default is available for the following HAL drivers:
          • ADC, CAN, COMP, CEC, DAC, I2C, SMBUS, UART, USART, WWDG, RTC, SPI, SMARTCARD, IrDA, I2S, TIM, TSC and PCD
        • The feature may be enabled individually per HAL PPP driver by setting the corresponding definition USE_HAL_PPP_REGISTER_CALLBACKS to 1U in stm32f0xx_hal_conf.h project configuration file (template file stm32f0xx_hal_conf_template.h available from Drivers/STM32F0xx_HAL_Driver/Inc)
        • Once enabled , the user application may resort to HAL_PPP_RegisterCallback() to register specific callback function(s) and unregister it(them) with HAL_PPP_UnRegisterCallback()
  • Demonstrations binaries are no more delivered within the STM32CubeF0 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 web page. Please refer to the corresponding demonstration binary readme.txt to get web page for each board.

  • HAL
    • Add support of HAL callback registration feature
    • Add new HAL EXTI driver
    • Here below the new features introduced on HAL drivers
      • Add support of I2C repeated start feature in DMA Mode With the following new APIs
        • HAL_I2C_Master_Seq_Transmit_DMA()
        • HAL_I2C_Master_Seq_Receive_DMA()
        • HAL_I2C_Slave_Seq_Transmit_DMA()
        • HAL_I2C_Slave_Seq_Receive_DMA()
  • CMSIS
    • Fix known defects and several implementation enhancement
  • Middleware
    • Update to use FreeRTOS 10.0.1 ST modified 20190329
    • Update to use TouchSensing Library V2.2.4
    • Update to use USB Device Library V2.5.3
  • Projects
    • Update HAL I2C examples to be compliant with new I2C APIs
    • Update HAL TIM examples to be compliant with new TIM APIs
    • Update HAL CRC examples for STM32F030x4/x6/x8/xC and STM32F070x6/xB devices
      • Remove unwanted default polynomial attribute configuration as there is no programmable polynomial feature
    • Update HAL SPI_FullDuplex_ComDMA example for STM32F03xx, STM32F04xx and STM32F07xx devices
      • Update HAL_SPI_MspInit() API to use DMA handle for reception instead of transmission in reception process
    • Update USB Device projects to be compliant with USB Device V2.5.3
      • Update USB device applications by adding a UNUSED() macro in the following API on file usbd_desc.c files in order to avoid compilation warnings with EWARM 8.30
        • USBD_DFU_DeviceDescriptor()
        • USBD_DFU_LangIDStrDescriptor()
        • USBD_DFU_ManufacturerStrDescriptor()
        • USBD_DFU_SerialStrDescriptor()
      • Remove useless setting of ep0_mps in usbd_conf.c file for USB device applications
      • Remove led toggle behavior inside systick handler API
    • Update FreeRTOS applications to be compliant with FreeRTOS V10.0.1
      • update to use new FreeRTOSConfig.h template file
    • Update TouchSensing applications to be compliant with new TouchSensing version
      • tsl_user.c: Add error management in tsl_user_Exec() API
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.22.2 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.26 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V2.9 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Fix known defects and several enhancements implementation.

  • HAL
    • Update Memory-mapped peripheral registers definition to be volatile to avoid unwanted optimization with GCC Compiler.

For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V2.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Demonstrations binaries are no more delivered within the STM32CubeF0 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.

  • The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    • CAN driver API’s compatibility is broken
      • A new HAL CAN driver has been redesigned with new API’s, to bypass limitation on CAN Tx/Rx FIFO management present with previous HAL CAN driver versions
      • The new HAL CAN driver is the recommended version. il is located as usual in Driver/STM32F0xx_HAL_Driver/Src and Driver/STM32F0xx_HAL_Driver/Inc folders. it can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f0xx_hal_conf.h file.
      • The legacy HAL CAN driver is also present in the package release in Driver/STM32F0xx_HAL_Driver/Src/Legacy and Driver/STM32F0xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons. its usage is not recommended as deprecated. it can however be enabled through switch HAL_CAN_LEGACY_MODULE_ENABLED in stm32f0xx_hal_conf.h file.
  • HAL
    • stm32f0xx_hal_conf_template.h: Add switch HAL_CAN_LEGACY_MODULE_ENABLED
    • HAL CAN driver has been redesigned with new APIs.
  • Projects
    • Update CAN examples to support new HAL CAN driver.
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V2.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Drivers
    • MISRA C / Code Sonar rules compliance.
    • Improvement of Doxygen Tags for CHM UM generation.
  • BSP
    • Improvement of Doxygen Tags for CHM UM generation.
  • Projects
    • General updatesto be compliant with Linux platforms
    • Remove support of Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain.
    • Align stm32f0xx_hal_conf.h with latest template defined in HAL.
    • Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    • Remove Cortex-M3/M4 specific defines and macros in FreeRTOSConfig.h from all FreeRTOS based applications.

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V2.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Drivers
    • Fix known defects and several enhancements implementation.
    • Compliance with MISRA C 2004 :
      • MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).
      • MISRA C 2004 rule 11.5 (no cast that removes any const or volatile qualification from the type addressed by a pointer).
    • Replace hard coded POSITION definition in driver by the associated PPP_xxx_pos CMSIS define (PPP could be I2C, USART …).
  • Projects
    • All projects updated for compliance with MISRA rules :
      • MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).
  • **Middlewares*
    • Upgrade to use FreeRTOS V9.0.0 (ST modified 20170303).

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.4.2 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.13.1 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Drivers
  • Fix known defects and several enhancements implementation.
  • Enhance HAL delay and time base implementation:
    • Add new templates stm32f0xx_hal_timebase_rtc_alarm_template.c, stm32f0xx_hal_timebase_rtc_wakeup_template.c and stm32f0xx_hal_timebase_tim_template.c which can be used to override the native HAL time base functions (defined as weak) to use either RTC or Timer as time base tick source. For more details about the usage of these drivers, please refer to HAL_TimeBase examples and FreeRTOS-based applications
  • The following changes done on the HAL drivers require an update on the application code based on HAL V1.4.0
    • HAL IWDG driver: Overall driver rework for better implementation
      • Remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs
    • HAL WWDG driver: Overall driver rework for better implementation
      • Remove HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs
      • Update the HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg, uint32_t counter) function and API by removing the “counter” parameter
    • HAL CEC driver: Overall driver rework with compatibility break versus previous HAL version
      • Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()
      • Remove HAL CEC receive interrupt process function HAL_CEC_Receive_IT() and enable the “receive” mode during the Init phase
      • Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize()
      • Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()
      • Remove the ‘InitiatorAddress’ field from the CEC_InitTypeDef structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function
      • Add new parameter ‘RxFrameSize’ in HAL_CEC_RxCpltCallback() function
      • Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure
    • HAL TIM driver : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure
  • BSP
    • Remove BSP/CEC driver. Refer to HAL driver for CEC.
  • Projects
    • All projects updated following changes in latest version of HAL and Middlewares.
    • Added new projects HAL_TimBase to illustrate how to customize the HAL time base driver :
      • HAL_TimeBase_RTC_ALARM
      • HAL_TimeBase_RTC_WKUP
      • HAL_TimeBase_TIM (modified and renamed previous HAL_TimeBase)
    • Added new projects IWDG :
      • IWDG_Reset : to illustrate IWDG reset in case of software fault
      • IWDG_WindowMode : to illustrate window mode management
    • Added new projects LL_Template to provide a reference project through the LL API that can be used to build any firmware application
  • **Middlewares*
    • Upgrade to use STemWinLibrary 5.32 (build 20160205).

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.60.1 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.4.2 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.8.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • First official release introducing the STM32Cube LL (Low Layer) APIs for the STM32F0xx series :
    • Low Layer drivers APIs allow performance and memory footprint optimization, with register access level programming.
    • Examples available on the STM32F072RB-Nucleo Board are provided in order to describe how to use the Low Level drivers.
  • Drivers
    • Fix known defects and several enhancements implementation.
  • BSP
    • Aligned BSP drivers to use latest BSP components.
  • Projects
  • All projects updated following changes in latest version of HAL and Middlewares.
  • Added new projects I2C: to introduce I2C repeated start feature.
    • I2C_TwoBoards_RestartAdvComIT
    • I2C_TwoBoards_RestartComIT
  • Added new projects LL + MIX
    • LL examples: ADC, COMP, CRC, CRS, DAC, DMA, EXTI, GPIO, I2C, IWDG, PWR, RCC, RTC, SPI, TIM, USART, WWDG
    • HAL/LL examples: ADC, CRC, DMA, I2C, PWR, SPI, TIM, UART
  • **Middlewares*
  • Upgrade to use FreeRTOS V8.2.3 (ST modified 20160122).
  • Provided fixes for minor issues in cmsis_os.c and FreeRTOS.h files.

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.50.1 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.4.2 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.8.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Add support of System Workbench for STM32 (SW4STM32) toolchain.

  • HAL
  • Fix known defects and several enhancements implementation.

  • BSP
    • Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
    • STM32091C_EVAL: Added new services for SD management, over SPI.
    • STM32F0xx-NUCLEO: Added new services for SD management, related to updated version of Adafruit 1.8 component
  • Projects
    • All projects updated following changes in latest version of HAL and Middlewares.
    • Provided extended set of projects on board STM32F0xx_Nucleo_32.
    • Added new projects CRC:
      • CRC_Bytes_Stream_7bit_CRC: to illustrate the usage Input/Output options CRC calculation.
      • CRC_Data_Reversing_16bit_CRC: to illustrate input/output data reversal features.
    • Added new project TouchSensing:
      • TouchSensing_Linear_IT: using the STMTouch driver with 1 linear sensor in Interrupt mode.
    • Added new projects using In-Application Programming (IAP) through USART (refer to AN4065 for further details) :
      • IAP_Main
      • IAP_Binary_Template
  • **Middlewares*
    • Upgrade to use SEGGER emWin version V5.28, for more details about the changes in this version refer to “Revision History” section in STemWin528.pdf document.
  • Middlewares32_TouchSensing_Library
    • Upgrade to V2.2.0_Driver
  • CMSIS
    • Update to CMSIS V4.5.0 (CMSIS-CORE 4.30.0).

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.40.7 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.3.1 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.6.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • Discovery boards: STM32F072B-Discovery RevC (MB1076), STM32F0308-Discovery RevA (MB1134)
  • Nucleo boards: STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo, STM32F030R8-Nucleo RevC (MB1136)
  • Nucleo32 boards: STM32F031K6-Nucleo, STM32F042K6-Nucleo RevC (MB1180)
  • Evaluation boards: STM32072B-EVAL RevB (MB1070), STM32091C-EVAL RevB (MB1169)

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Adding support of 2 new Nucleo 32 boards.
    • STM32F031K6-Nucleo
    • STM32F042K6-Nucleo
  • A template project is added to easily start any development on those 2 boards.
  • Basic examples (GPIO_IOToggle) are provided to easily start new development on these boards.
  • A demonstration using the Gravitech 7segments 4digits shield is added to provide sample code on how to display a counter on this shield.

Contents

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.40 + ST-LINK
    • A software patch is needed to use STM32F070x6/xB, STM32F030xC devices.
    • If you haven’t this patch installed, you can install it from the following folder "Utilities_SoftwareSTM32F030xC_STM32F070xB_STM32F070x6_Support.zip"
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.14 + ST-LINK
    • A software pack is needed to use STM32F070x6/xB, STM32F030xC devices.
    • If you haven’t this patch installed, you can install it from the following folder "Utilities_Software-ARM-ARM STM32F030xC_STM32F070xB_STM32F070x6_Support.zip"
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK

Supported Devices and EVAL boards

All STM32F030, STM32F070, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported. - STM32F072B-Discovery Board RevB (MB1076) and STM32F0308-Discovery Board RevA (MB1134) - STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo and STM32F030R8-Nucleo Board RevC (MB1136) - STM32F031K6-Nucleo and STM32F042K6-Nucleo Board RevC (MB1180) - STM32072B-EVAL Board RevA (MB1070) - STM32091C-EVAL Board RevB (MB1169) - STM32 ST-LINK utility V3.4.0 or later.

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • All projects updated following changes in latest version of HAL and Middlewares.
  • Fix known defects and several enhancements implementation.

  • Projects
  • Adding new projects to introduce the FreeRTOS V8.2.1
  • FreeRTOS_SignalFromISR (thread signaling from an interrupt)
  • FreeRTOS_Signal (thread signaling)
  • FreeRTOS_Mail (mail queues)
  • Adding new project to emulate EEPROM on internal Flash
  • EEPROM_Emulation

  • FatFs
    • Upgrade to use FatFs R0.11
    • Add new APIs FATFS_LinkDriverEx() and FATFS_UnLinkDriverEx() to manage USB Key Disk having multi-lun capability. These APIs are equivalent to FATFS_LinkDriver() and FATFS_UnLinkDriver() with lun parameter set to 0.
    • ff_conf.h: add new define **_USE_BUFF_WO_ALIGNMENT**.
    • Important note: For application code based on previous FatFs version; when moving to R0.11 the changes that need to be done is to update ffconf.h file, taking ffconf_template.h file as reference.
  • FreeRTOS
    • Upgrade to use FreeRTOS V8.2.1
    • No changes in file naming/set of sources files.
    • Macros configPRE_SLEEP_PROCESSING and configPOST_SLEEP_PROCESSI are now passing the parameter ulExpectedIdleTime by pointer.
    • Adding implementation for APIs osSignalSet and osSignalWait.
    • API changes on CMSIS-RTOS (osDelayUntil()).
    • Internal enhancements and bug fixes.
  • STemWin
    • Upgrade to use SEGGER emWin version V5.28, for more details about the changes in this version refer to Revision History section in STemWin528.pdf document.

Contents

Drivers
Name Version Release note
CMSIS V4.3.0 release notes
STM32F0xx CMSIS V2.2.2 release notes
STM32F0xx HAL V1.3.0 release notes
BSP STM32091C_EVAL V2.0.2 release notes
BSP STM32072B_EVAL V2.1.3 release notes
**BSP STM32F072B-Discovery* * V2.1.2 release notes
**BSP STM32F0308-Discovery* * V2.0.1 release notes
BSP STM32F0xx-Nucleo V1.1.2 release notes
BSP Components Common V1.2.1 release notes
BSP Components l3gd20 V1.1.1 release notes
BSP Components hx8347d V1.1.1 release notes
BSP Components spfd5408 V1.1.1 release notes
BSP Components st7735 V1.1.1 release notes
BSP Components stlm75 V1.0.1 release notes
BSP Adafruit_Shield V1.1.1 release notes
Middlewares
Name Version Release note
STM32 USB Device Library V2.4.0 release notes
STM32 TouchSensing Library V2.0.0 release notes
FatFS R0.11 release notes ST modified 20150508 release notes
FreeRTOS V8.2.1 release notes ST modified 20150327 release notes
STemWin STemWinLibrary 5.28 release notes ST modified 20160205
Name Version Release note
CPU V1.1.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes
PC_Software/EWARM_STM32F0xx_Patch/EWARM STM32F030xC_STM32F070xB _STM32F070x6_Sup port.zip to support latest F0 products within EWARM toolchain
PC_Software/MDK-ARM_STM32F0xx_Patch/MDK-ARM STM32F030xC_STM32F0 70xB_STM32F070x6 _Support.zip to support latest F0 products within MDK-ARM toolchain
: Utilities

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.40 + ST-LINK
    • A software patch is needed to use STM32F070x6/xB, STM32F030xC devices. If you haven’t this patch installed, you can install it from the following folder **Utilities_SoftwareSTM32F030xC_STM32F070xB_STM32F070x6_Support.zip**
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.14 + ST-LINK
    • A software pack is needed to use STM32F070x6/xB, STM32F030xC devices. If you haven’t this patch installed, you can install it from the following folder **Utilities_Software-ARM-ARM STM32F030xC_STM32F070xB_STM32F070x6_Support.zip**
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F70, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported.
  • STM32F072B-Discovery Board RevB (MB1076) and STM32F0308-Discovery Board RevA (MB1134)
  • STM32F070RB_Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo and STM32F030R8-Nucleo Board RevC (MB1136)
  • STM32072B-EVAL Board RevA (MB1070)
  • STM32091C-EVAL Board RevB (MB1169)
  • STM32 ST-LINK utility V3.4.0 or later.

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • Patch release for STM32F0xx Value line devices.
  • This package contains a fixed version of the HAL & CMSIS drivers, user needs simply to overwrite the old folders with the new ones.

Contents

Drivers
Name Version Release note
STM32F0xx CMSIS V2.2.1 release notes
STM32F0xx HAL V1.2.1 release notes

Maintenance release

Main Changes

  • First official release for new F0 devices STM32F030xC, STM32F070x6/xB.
  • Full set of examples/application/demo running for device STM32F070xB on STM32F070RB-Nucleo board
  • Middleware components update, mainly to fix compilation issues under Linux & keep C/C++ compliance
  • Examples/application/templates/demo update for compatibility
  • MDK-ARM projects converted to vision 5.

Contents

Drivers
Name Version Release note
CMSIS V4.2.0 release notes
STM32F0xx CMSIS V2.2.0 release notes
STM32F0xx HAL V1.2.0 release notes
BSP STM32091C_EVAL V2.0.1 release notes
BSP STM32072B_EVAL V2.1.2 release notes
BSP STM32F072B-Discovery V2.1.1 release notes
BSP STM32F0308-Discovery V2.0.0 release notes
BSP STM32F0xx-Nucleo V1.1.1 release notes
BSP Components Common V1.2.1 release notes
BSP Components l3gd20 V1.1.1 release notes
BSP Components hx8347d V1.1.1 release notes
BSP Components spfd5408 V1.1.1 release notes
BSP Components st7735 V1.1.1 release notes
BSP Components stlm75 V1.0.1 release notes
BSP Adafruit_Shield V1.1.1 release notes
Middlewares
Name Version Release note
**STM32 USB Device Library* * V2.3.0 release notes
STM32 TouchSensing Library V2.2.0 release notes
FatFS R0.10b release notes ST modified 20141120 release notes
STemWin STemWinLibrary 5.26 release notes ST modified STemWinLibrary526_20141020_CM0
Utilities
Name Version Release note
CPU V1.1.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes
EWARM/EWARM STM32F030xC_STM32F070xB_STM32F070x6_Support.zip to support new F0 products within EWARM toolchain
MDK-ARM/MDK-ARM STM32F030xC_STM32F070xB_STM32F070x6_Support .zip to support ne w F0 products within MDK-ARM toolchain

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.10 + ST-LINK
    • A software patch is needed to use STM32F070x6/xB, STM32F030xC devices with V7.10. If you haven’t this patch installed, you can install it from the following folder UtilitiesSTM32F030xC_STM32F070xB_STM32F070x6_Support.zip
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
    • A new software pack is needed to use STM32F070x6/xB, STM32F030xC devices with MDK-ARM toolchain V5.10. If you haven’t this patch installed, you can install it from the following folder Utilities-ARM-ARM STM32F030xC_STM32F070xB_STM32F070x6_Support.zip
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F70, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported
  • STM32F072B-Discovery Board RevB (MB1076) and STM32F0308-Discovery Board RevA (MB1134)
  • STM32F070RB-Nucleo, STM32F072RB-Nucleo, STM32F091RC-Nucleo and STM32F030R8-Nucleo Board RevC (MB1136)
  • STM32072B-EVAL Board RevA (MB1070)
  • STM32091C-EVAL Board RevB (MB1169)
  • STM32 ST-LINK utility V3.4.0 or later.

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • First official release for device STM32F091xC
  • Example porting on IAR, KEIL, TRUE STUDIO
  • Full set of examples/application/demo running for device STM32F091xC
  • FW Packages now include CMSIS w/ DSP lib
  • Compatibility with LCD Component driver update:
  • Change LCD_IO_WriteData to LCD_IO_WriteMultipleData
  • LCD IO needs to treat also 1 byte.
  • Examples update:
    • [CORTEX example] No privilege/un-privilege access on M0 cortex
    • [CORTEX example] need call to ISB to flush pipeline after MSR instruction to modify CONTROL register
    • remove CORTEXM_ModePrivilege
    • new example created: CORTEXM_ProcessStack

Contents

Drivers
Name Version Release note
CMSIS V3.22 release notes
STM32F0xx CMSIS V2.1.0 release notes
STM32F0xx HAL V1.1.0 release notes
BSP STM32091C_EVAL V2.0.0 release notes
BSP STM32072B_EVAL V2.1.1 release notes
BSP STM32F072B-Discovery V2.1.0 release notes
BSP STM32F0308-Discovery V2.0.0 release notes
BSP STM32F0xx-Nucleo V1.1.0 release notes
BSP Components Common V1.0.0 release notes
BSP Components l3gd20 V1.1.0 release notes
BSP Components hx8347d V1.1.0 release notes
BSP Components spfd5408 V1.1.0 release notes
BSP Components st7735 V1.1.0 release notes
BSP Components stlm75 V1.0.0 release notes
BSP Adafruit_Shield V1.1.0 release notes
Middlewares
Name Version Release note
STM32 USB Device Library V2.2.0 release notes
STM32 TouchSensing Library V2.0.0 release notes
FatFS R0.10 release notes ST modified 20140912 release notes
FreeRTOS V7.6.0 release notes ST modified 20140613 release notes
STemWin STemWinLibrary 5.24 release notes STemWinLibrary524b_20140613_CM0
Utilities
Name Version Release note
CPU V1.1.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes
EWARM & MDK-ARM patches for STM32F091xC/STM32F098xx

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.10 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported
  • STM32F072B-Discovery Board RevB (MB1076) and STM32F0308-Discovery Board RevA (MB1134)
  • STM32F072RB-Nucleo, STM32F091RC-Nucleo and STM32F030R8-Nucleo Board RevC (MB1136)
  • STM32072B-EVAL Board RevA (MB1070)
  • STM32091C-EVAL Board RevA (MB1169)
  • Latest STM32 ST-LINK utility has to be used.

Backward Compatibility

  • None

Dependencies

  • None

Maintenance release

Main Changes

  • First official release of STM32CubeF0 (STM32Cube for STM32F0 Series)

Contents

Drivers
Name Version Release note
CMSIS V3.20 release notes
STM32F0xx CMSIS V2.0.1 release notes
STM32F0xx HAL V1.0.1 release notes
BSP STM32072B_EVAL V2.0.0 release notes
BSP STM32F072B-Discovery V2.1.6 release notes
BSP STM32F0308-Discovery V2.0.0 release notes
BSP STM32F0xx-Nucleo V1.0.0 release notes
BSP Components Common V1.1.0 release notes
BSP Components l3gd20 V1.1.0 release notes
BSP Components hx8347d V1.0.0 release notes
BSP Components spfd5408 V1.0.0 release notes
BSP Components st7735 V1.0.0 release notes
BSP Components stlm75 V1.0.0 release notes
BSP Adafruit_Shield V1.0.0 release notes
Middlewares
Name Version Release note
STM32 USB Device Library V2.2.0 release notes
STM32 TouchSensing Library V2.0.0 release notes
FatFS R0.10 release notes ST modified 20140422 release notes
FreeRTOS V7.6.0 release notes ST modified 20140613 release notes
STemWin STemWinLibrary 5.24 release notes STemWinLibrary524b_20140613_CM0
Utilities
Name Version Release note
CPU V1.0.0 release notes
Fonts V1.0.0 release notes
Log V1.0.0 release notes

Known Limitations

  • None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.10 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.0.0 + ST-LINK

Supported Devices and EVAL boards

  • All STM32F030, STM32F0x1, STM32F0x2 and STM32F0x8 product lines devices are supported
  • STM32F072B-Discovery Board RevB (MB1076) and STM32F0308-Discovery Board RevA (MB1134)
  • STM32F072RB-Nucleo and STM32F030R8-Nucleo Board RevC (MB1136)
  • STM32072B-EVAL Board RevA (MB1070)

Backward Compatibility

  • None

Dependencies

  • None