# Release Notes for Projects of STM32CubeF0 Firmware Package

Copyright © 2016 STMicroelectronics

# Purpose

The projects are a set of applicative tasks that aim to explain and provide use cases of the different products features based on the products hardware (Boards, STM32 Core(s) features, interconnections and peripherals) and built around the different firmware components. They can be directly used or adapted by the STM32CubeF0 Firmware Package users. They provide basic functionalities, show main features or demonstrate performance. They are provided with preconfigured projects for the main supported toolchains.

In the STM32CubeF0 Firmware Package, the projects are organized in a sequential scheme based on the following levels:

- Boards : Hardware platform (evaluation, discovery, nucleo boards)
- Project Category:
  - Applications
  - Demonstrations
  - Examples
  - Examples_LL
  - Examples_MIX
  - Templates
  - Templates_LL
- Project Class
- Project Subclass

The Project Class refers to the main peripherals (drivers), middleware libraries or BSP classes while the projects Subclass stands for a project specific feature within a class.

The exhaustive list of projects is provided in this table: STM32CubeProjectsList.

Here is the list of references to user documents:

- UM1779: Getting started with STM32CubeF0 for STM32F0 Series.
- UM1720: STM32Cube USB device library
- UM1734: STM32Cube USB host library
- UM1721: Developing Applications on STM32Cube with FatFs
- UM1722: Developing Applications on STM32Cube with RTOS
- UM1713: Developing applications on STM32Cube with LwIP TCP/IP stack
- UM1787: STM32CubeF0 Nucleo demonstration firmware.
- UM1819: Demonstration firmware for STM32091C-EVAL board

# Update History

V1.11.5 / 29-March-2024

# Maintenance release

## Main Changes

- Patch release to fix known defects and enhancements implementation.
- Examples
  - Update STM32F030R8-Nucleo Demo configuration to fix flashing error.
  - Update “I2C_EEPROM” example to be aligned with HAL_I2C_IsDeviceReady() API returned value: HAL_I2C_IsDeviceReady() API is no more returning HAL_TIMEOUT.
- Demonstrations
  - Remove the useless file reference "“stm32091c_eval_cec.c”" from STM32091C_EVAL demonstrations.

V1.11.4 / 27-January-2023

# 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.
- Examples
  - Update CRC LL examples to fix incorrect bytes stream handling.
- Applis_MW_ST_USB
  - Removal of the BCD bus stabilization delay

V1.11.3 / 23-July-2021

# Maintenance release

## Main Changes

- Patch release to fix known defects and enhancements implementation.

- Examples

  - General updates to fix compilation warnings with gcc v9.
  - Updated examples and applications to avoid clearing DMA using global flag GIFx.

V1.11.2 / 06-November-2020

# Maintenance release

## Main Changes

- Patch release to fix known defects and enhancements implementation.

STM32F072B-DISCO:

- Demonstrations
  - Update Demo to support new MEMS I3G4250D component.

STM32F091RC-Nucleo:

- Applications
  - Update EEPROM_Emulation application in order to fix issues related to EE_Init() and EE_VerifyPageFullyErased() APIs.

## Contents

Projects NUCLEO-F091RC
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F091RC | Applications | V1.11.2 | Projects/NUCLEO-F091RC/Applications

Projects STM32F072B-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F072B-DISCO | Demonstrations | V1.11.2 | Projects/STM32F072B-DISCO/Demonstrations

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

V1.11.1 / 24-July-2020

# Maintenance release

## Main Changes

- Patch release to fix known defects and enhancements implementation

V1.11.0 / 12-September-2019

# Maintenance release

## Main Changes

- 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

STM32072B_EVAL:

- Applications

  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update for compatibility with TouchSensing v2.2.4
  - Update for compatibility with USB Device v2.5.3
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
  - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

STM32091C_EVAL:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update for compatibility with TouchSensing v2.2.4
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstrations
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

STM32F0308-DISCO:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstrations
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

NUCLEO-F030R8:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstration
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

NUCLEO-F031K6:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstration
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

NUCLEO-F042K6:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstration
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

NUCLEO-F070RB:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update for compatibility with TouchSensing v2.2.4
  - Update for compatibility with USB Device v2.5.3
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstrations
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

STM32F072B-DISCO:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update for compatibility with TouchSensing v2.2.4
  - Update for compatibility with USB Device v2.5.3
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstrations
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

NUCLEO-F072RB:

- Applications
  - Update for compatibility with FreeRTOS v10.0.1_20190329
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Demonstrations
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Low Layer Examples
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

NUCLEO-F091RC:

- Demonstrations
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Examples
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates
  - Add HAL EXTI driver
  - Add LL USB driver
  - Update stm32f0xx_hal_conf.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4
    - Add reference to HAL EXTI driver
    - Add registers callbacks defines
- Templates LL
  - Update stm32_assert.h files :
    - Change assert_failed() prototype to be compliant with MISRA C rule 11.4

## Contents

### Projects

Projects NUCLEO-F072RB
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F072RB | Applications | V1.11.0 | Projects/NUCLEO-F072RB/Applications
NUCLEO-F072RB | Demonstrations | V1.11.0 | Projects/NUCLEO-F072RB/Demonstrations
NUCLEO-F072RB | Examples | V1.11.0 | Projects/NUCLEO-F072RB/Examples_LL
NUCLEO-F072RB | Low Layer Examples | V1.11.0 | Projects/NUCLEO-F072RB/Templates
NUCLEO-F072RB | Templates | V1.11.0 | Projects/NUCLEO-F072RB/Templates
NUCLEO-F072RB | Templates LL | V1.11.0 | Projects/NUCLEO-F072RB/Templates/Templates_LL

Projects NUCLEO-F030R8
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F030R8 | Applications | V1.11.0 | Projects/NUCLEO-F030R8/Applications
NUCLEO-F030R8 | Demonstrations | V1.11.0 | Projects/NUCLEO-F030R8/Demonstrations
NUCLEO-F030R8 | Examples | V1.11.0 | Projects/NUCLEO-F030R8/Examples
NUCLEO-F030R8 | Templates | V1.11.0 | Projects/NUCLEO-F030R8/Templates
NUCLEO-F030R8 | Templates LL | V1.11.0 | Projects/NUCLEO-F030R8/Templates_LL

Projects NUCLEO-F070RB
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F070RB | Applications | V1.11.0 | Projects/NUCLEO-F070RB/Applications
NUCLEO-F070RB | Demonstrations | V1.11.0 | Projects/NUCLEO-F070RB/Demonstrations
NUCLEO-F070RB | Examples | V1.11.0 | Projects/NUCLEO-F070RB/Examples
NUCLEO-F070RB | Templates | V1.11.0 | Projects/NUCLEO-F070RB/Templates
NUCLEO-F070RB | Templates LL | V1.11.0 | Projects/NUCLEO-F070RB/Templates_LL

Projects NUCLEO-F042K6
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F042K6 | Applications | V1.11.0 | Projects/NUCLEO-F042K6/Applications
NUCLEO-F042K6 | Demonstrations | V1.11.0 | Projects/NUCLEO-F042K6/Demonstrations
NUCLEO-F042K6 | Examples | V1.11.0 | Projects/NUCLEO-F042K6/Examples
NUCLEO-F042K6 | Templates | V1.11.0 | Projects/NUCLEO-F042K6/Templates
NUCLEO-F042K6 | Templates LL | V1.11.0 | Projects/NUCLEO-F042K6/Templates_LL

Projects NUCLEO-F031K6
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F031K6 | Applications | V1.11.0 | Projects/NUCLEO-F031K6/Applications
NUCLEO-F031K6 | Demonstrations | V1.11.0 | Projects/NUCLEO-F031K6/Demonstrations
NUCLEO-F031K6 | Examples | V1.11.0 | Projects/NUCLEO-F031K6/Examples
NUCLEO-F031K6 | Templates | V1.11.0 | Projects/NUCLEO-F031K6/Templates
NUCLEO-F031K6 | Templates LL | V1.11.0 | Projects/NUCLEO-F031K6/Templates_LL

Projects STM32f0308-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32f0308-DISCO | Applications | V1.11.0 | Projects/STM32f0308-DISCO/Applications
STM32f0308-DISCO | Demonstrations | V1.11.0 | Projects/STM32f0308-DISCO/Demonstrations
STM32f0308-DISCO | Examples | V1.11.0 | Projects/STM32f0308-DISCO/Examples
STM32f0308-DISCO | Templates | V1.11.0 | Projects/STM32f0308-DISCO/Templates
STM32f0308-DISCO | Templates LL | V1.11.0 | Projects/STM32f0308-DISCO/Templates_LL

Projects STM32F072B-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F072B-DISCO | Applications | V1.11.0 | Projects/STM32F072B-DISCO/Applications
STM32F072B-DISCO | Demonstrations | V1.11.0 | Projects/STM32F072B-DISCO/Demonstrations
STM32F072B-DISCO | Examples | V1.11.0 | Projects/STM32F072B-DISCO/Examples
STM32F072B-DISCO | Templates | V1.11.0 | Projects/STM32F072B-DISCO/Templates
STM32F072B-DISCO | Templates LL | V1.11.0 | Projects/STM32F072B-DISCO/Templates_LL

Projects STM32072B-EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32072B-EVAL | Applications | V1.11.0 | Projects/STM32072B-EVAL/Applications
STM32072B-EVAL | Examples | V1.11.0 | Projects/STM32072B-EVAL/Examples
STM32072B-EVAL | Templates | V1.11.0 | Projects/STM32072B-EVAL/Templates
STM32072B-EVAL | Templates LL | V1.11.0 | Projects/STM32072B-EVAL/Templates_LL

Projects STM32091C_EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32091C_EVAL | Applications | V1.11.0 | Projects/STM32091C_EVAL/Applications
STM32091C_EVAL | Examples | V1.11.0 | Projects/STM32091C_EVAL/Examples
STM32091C_EVAL | Templates | V1.11.0 | Projects/STM32091C_EVAL/Templates
STM32091C_EVAL | Templates LL | V1.11.0 | Projects/STM32091C_EVAL/Templates_LL
STM32091C_EVAL | Demonstrations | V1.11.0 | Projects/STM32091C_EVAL/Demonstrations

Projects NUCLEO-F091RC
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F091RC | Demonstrations | V1.11.0 | Projects/NUCLEO-F091RC/Demonstrations
NUCLEO-F091RC | Examples | V1.11.0 | Projects/NUCLEO-F091RC/Examples
NUCLEO-F091RC | Templates | V1.11.0 | Projects/NUCLEO-F091RC/Templates
NUCLEO-F091RC | Templates LL | V1.11.0 | Projects/NUCLEO-F091RC/Templates_LL

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

## 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

V1.10.1 / 09-May-2019

# Maintenance release

## Main Changes

- Fix known defects and several enhancements implementation.

## 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

V1.10.0 / 03-April-2019

# Maintenance release

## Main Changes

- Projects
  - Update CAN examples to support new HAL CAN driver.

STM32091C_EVAL:

- Examples
  - Update CAN examples to be aligned to the new HAL CAN driver.
  - Update CAN examples to set a fixed bitrate equal to 1 Mbit/s.
  - Update stm32f0xx_hal_conf.h files to add support to HAL CAN Legacy Module.
- Demonstrations
  - Fix issue with Netac SD card

STM32072B_EVAL:

- Examples
  - Update CAN examples to be aligned to the new HAL CAN driver.
  - Update CAN examples to set a fixed bitrate equal to 1 Mbit/s.
  - Update stm32f0xx_hal_conf.h files to add support to HAL CAN Legacy Module.

## Contents

Projects STM32072B-EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32072B-EVAL | Examples | V1.11.0 | Projects/STM32072B-EVAL/Examples

Projects STM32091C_EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32091C_EVAL | Examples | V1.11.0 | Projects/STM32091C_EVAL/Examples
STM32091C_EVAL | Demonstrations | V1.11.0 | Projects/STM32091C_EVAL/Demonstrations

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

## 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

V1.9.0 / 25-August-2017

# Maintenance release

## Main Changes

- 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.

NUCLEO-F072RB:

- Low Layer Examples
  - Remove LL_mDelay() in TIM_BreakAndDeadtime example as HAL ensure write operation of BKE and BKP bits is effective before function exit.

STM32F072B-DISCO:

- Applications
  - Add a note in DFU example readme : “How to install Dfuse demo under Window 8.1”.

## Contents

### Projects

Projects NUCLEO-F091RC
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F091RC | Applications | V1.9.0 | Projects/NUCLEO-F091RC/Applications
NUCLEO-F091RC | Demonstrations | V1.9.0 | Projects/NUCLEO-F091RC/Demonstrations
NUCLEO-F091RC | Examples | V1.9.0 | Projects/NUCLEO-F091RC/Examples
NUCLEO-F091RC | Templates | V1.9.0 | Projects/NUCLEO-F091RC/Templates
NUCLEO-F091RC | Templates LL | V1.9.0 | Projects/NUCLEO-F091RC/Templates_LL

Projects NUCLEO-F072RB
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F072RB | Applications | V1.9.0 | Projects/NUCLEO-F072RB/Applications
NUCLEO-F072RB | Demonstrations | V1.9.0 | Projects/NUCLEO-F072RB/Demonstrations
NUCLEO-F072RB | Examples | V1.9.0 | Projects/NUCLEO-F072RB/Examples
NUCLEO-F072RB | Templates | V1.9.0 | Projects/NUCLEO-F072RB/Templates
NUCLEO-F072RB | Templates LL | V1.9.0 | Projects/NUCLEO-F072RB/Templates_LL

Projects STM32F072B-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F072B-DISCO | Applications | V1.9.0 | Projects/STM32F072B-DISCO/Applications
STM32F072B-DISCO | Demonstrations | V1.9.0 | Projects/STM32F072B-DISCO/Demonstrations
STM32F072B-DISCO | Examples | V1.9.0 | Projects/STM32F072B-DISCO/Examples
STM32F072B-DISCO | Templates | V1.9.0 | Projects/STM32F072B-DISCO/Templates
STM32F072B-DISCO | Templates LL | V1.9.0 | Projects/STM32F072B-DISCO/Templates_LL

Projects STM32072B-EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32072B-EVAL | Applications | V1.9.0 | Projects/STM32072B-EVAL/Applications
STM32072B-EVAL | Examples | V1.9.0 | Projects/STM32072B-EVAL/Examples
STM32072B-EVAL | Templates | V1.9.0 | Projects/STM32072B-EVAL/Templates
STM32072B-EVAL | Templates LL | V1.9.0 | Projects/STM32072B-EVAL/Templates_LL

Projects STM32091C_EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32091C_EVAL | Applications | V1.9.0 | Projects/STM32091C_EVAL/Applications
STM32091C_EVAL | Demonstrations | V1.9.0 | Projects/STM32091C_EVAL/Demonstrations
STM32091C_EVAL | Examples | V1.9.0 | Projects/STM32091C_EVAL/Examples
STM32091C_EVAL | Templates | V1.9.0 | Projects/STM32091C_EVAL/Templates
STM32091C_EVAL | Templates LL | V1.9.0 | Projects/STM32091C_EVAL/Templates_LL

Projects STM32F0308-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F0308-DISCO | Applications | V1.9.0 | Projects/STM32F0308-DISCO/Applications
STM32F0308-DISCO | Demonstrations | V1.9.0 | Projects/STM32F0308-DISCO/Demonstration
STM32F0308-DISCO | Examples | V1.9.0 | Projects/STM32F0308-DISCO/Examples
STM32F0308-DISCO | Templates | V1.9.0 | Projects/STM32F0308-DISCO/Templates
STM32F0308-DISCO | Templates LL | V1.9.0 | Projects/STM32F0308-DISCO/Templates_LL

Projects NUCLEO-F030R8
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F030R8 | Applications | V1.9.0 | Projects/NUCLEO-F030R8/Applications
NUCLEO-F030R8 | Demonstrations | V1.9.0 | Projects/NUCLEO-F030R8/Demonstration
NUCLEO-F030R8 | Examples | V1.9.0 | Projects/NUCLEO-F030R8/Examples
NUCLEO-F030R8 | Templates | V1.9.0 | Projects/NUCLEO-F030R8/Templates
NUCLEO-F030R8 | Templates LL | V1.9.0 | Projects/NUCLEO-F030R8/Templates_LL

Projects NUCLEO-F031K6
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F031K6 | Applications | V1.9.0 | Projects/NUCLEO-F031K6/Applications
NUCLEO-F031K6 | Examples | V1.9.0 | Projects/NUCLEO-F031K6/Examples
NUCLEO-F031K6 | Templates LL | V1.9.0 | Projects/NUCLEO-F031K6/Templates_LL

Projects NUCLEO-F042K6
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F042K6 | Demonstrations | V1.9.0 | Projects/NUCLEO-F042K6/Demonstrations
NUCLEO-F042K6 | Examples | V1.9.0 | Projects/NUCLEO-F042K6/Examples
NUCLEO-F042K6 | Templates | V1.9.0 | Projects/NUCLEO-F042K6/Templates
NUCLEO-F042K6 | Templates LL | V1.9.0 | Projects/NUCLEO-F042K6/Templates_LL

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

## 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

V1.8.0 / 07-April-2017

# Maintenance release

## Main Changes

- Projects
  - All projects updated for compliance with MISRA rules :
    - MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

  - Applications

    - Update FreeRTOS_ThreadCreation example to be aligned with latest reference code.

  - Examples

    - Update HAL_TimeBase_RTC_xxx examples to correct RTC_ASYNCH_PREDIV and RTC_SYNCH_PREDIV definition when LSI configured as RTC clock source.
    - Update TIM_DMA, TIM_PWMOutput, SPI_FullDuplex_ComDMA, SPI_FullDuplex_ComIT, UART_TwoBoards_ComIT examples to be aligned with latest reference code.
    - Update UART_TwoBoards_ComIT, TIM_PWMOutput, TIM_DMA examples to be aligned with latest reference code.
    - Update ADC_DMA_Transfer, TIM_DMA, TIM_PWMOutput, TIM_ComplementarySignals, SPI_FullDuplex_ComDMA, SPI_FullDuplex_ComIT, UART_TwoBoards_ComIT, CRC_Example, UART_TwoBoards_ComIT, UART_TwoBoards_ComPolling examples to be aligned with latest reference code.

## 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

V1.7.0 / 04-November-2016

# Maintenance release

## Main Changes

- 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

STM32072B_EVAL:

- Applications

  - USB : Added suffix “U” to FLASH_PAGE_SIZE in usbd_conf.h
  - Change in HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in USB Device example and in all FreeRTOS examples
  - Updated FreeRTOS examples to call TIM HW function as time base source instead of Systick ; changes in following examples :
    - FreeRTOS Low Power
    - FreeRTOS Mutexes
    - FreeRTOS_Queues
    - FreeRTOS Semaphore
    - FreeRTOS Thread Creation
    - FreeRTOS Timers
- Examples
  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in ADC, DAC, IWDG and TIM examples.
  - Updated DMA_FLASHToRAM example to call HAL_DMA_RegisterCallback() function
  - Updated WWDG examples to be in line with latest updates done on HAL WWDG drivers
    - Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
    - Remove HAL_WWDG_MspDeInit function from stm32f4xx_hal_msp.c file
  - Change of HAL API for IWDG : Removal of HAL_IWDG_Start function in the main.c of IWDG example.
  - Updated CAN baudrate in CAN_Networking example
  - Updated I2C examples to manage error case during data transfer (I2C_TwoBoards_AdvComIT, I2C_TwoBoards_ComDMA, I2C_TwoBoards_ComIT, I2C_TwoBoards_ComPolling)
  - Change of HAL API for CEC ; refer to release note of STM32F0xx HAL Drivers for more details.
  - Moved CEC demo in CEC examples repository

STM32091C_EVAL:

- Applications

  - Change in HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in USB Device example and in all FreeRTOS examples.
  - Updated FreeRTOS examples to call TIM HW function as time base source instead of Systick ; changes in examples :
    - FreeRTOS Low Power
    - FreeRTOS Mutexes
    - FreeRTOS_Queues
    - FreeRTOS Semaphore
    - FreeRTOS Thread Creation
    - FreeRTOS Timers
  - Updated STemWin version : STemWin532 “build 20160205”
- Examples
  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in ADC, DAC, IWDG and TIM examples.
  - Updated DMA_FLASHToRAM example to call HAL_DMA_RegisterCallback() function
  - Updated WWDG examples to be in line with latest updates done on HAL WWDG drivers
    - Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
    - Remove HAL_WWDG_MspDeInit function from stm32f4xx_hal_msp.c file
  - Change of HAL API for IWDG : Removal of HAL_IWDG_Start function in the main.c of IWDG example.
  - Updated CAN baudrate in CAN_Networking example
  - Updated I2C examples to manage error case during data transfer (I2C_TwoBoards_AdvComIT, I2C_TwoBoards_ComDMA, I2C_TwoBoards_ComIT, I2C_TwoBoards_ComPolling)
  - Update of HAL_TimeBase_TIM example to use TIM HW as time base source instead of Systick
  - Add 2 new examples HAL_TimeBase_RTC_ALARM and HAL_TimeBase_RTC_WKUP
  - Change of HAL API for CEC ; refer to release note of STM32F0xx HAL Drivers for more details.
  - Moved CEC demo in CEC examples repository

STM32F0308-Discovery:

- Applications Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in FreeRTOS examples.

- Examples
  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in ADC, DAC, IWDG and TIM examples.
  - Updated DMA_FLASHToRAM example to call HAL_DMA_RegisterCallback() function
  - Updated WWDG examples to be in line with latest updates done on HAL WWDG drivers
    - Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
    - Remove HAL_WWDG_MspDeInit function from stm32f4xx_hal_msp.c file
  - Change of HAL API for IWDG : Removal of HAL_IWDG_Start function in the main.c of IWDG example.
  - Updated I2C examples to manage error case during data transfer (I2C_TwoBoards_AdvComIT, I2C_TwoBoards_ComDMA, I2C_TwoBoards_ComIT, I2C_TwoBoards_ComPolling)

STM32F030R8-Nucleo:

- Examples
  - Updated DMA_FLASHToRAM example to call HAL_DMA_RegisterCallback() function
  - Updated WWDG examples to be in line with latest updates done on HAL WWDG drivers
    - Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
    - Remove HAL_WWDG_MspDeInit function from stm32f4xx_hal_msp.c file
  - Change of HAL API for IWDG : Removal of HAL_IWDG_Start function in the main.c of IWDG example.
  - Updated I2C examples to manage error case during data transfer (I2C_TwoBoards_AdvComIT, I2C_TwoBoards_ComDMA, I2C_TwoBoards_ComIT, I2C_TwoBoards_ComPolling)
  - V1.6.0 / 27-May-2016

- Applications

  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in FreeRTOS examples.

STM32F070RB-Nucleo:

- Examples
  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in IWDG and TIM examples.
  - Updated DMA_FLASHToRAM example to call HAL_DMA_RegisterCallback() function
  - Updated WWDG examples to be in line with latest updates done on HAL WWDG drivers
    - Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
    - Remove HAL_WWDG_MspDeInit function from stm32f4xx_hal_msp.c file
  - Change of HAL API for IWDG : Removal of HAL_IWDG_Start function in the main.c of IWDG example.
  - Updated I2C examples to manage error case during data transfer (I2C_TwoBoards_AdvComIT, I2C_TwoBoards_ComDMA, I2C_TwoBoards_ComIT, I2C_TwoBoards_ComPolling)

- Templates

  - Updated project template to consider all services embedded on the board : CAN, CEC, COMP, DAC, IRDA, SMARTCARD, TSC Module

STM32F072RB-Nucleo:

- Applications

- Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in FreeRTOS examples.

STM32F091RC-Nucleo:

- Examples
  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in ADC, DAC, IWDG and TIM examples.
  - Updated DMA_FLASHToRAM example to call HAL_DMA_RegisterCallback() function
  - Updated WWDG examples to be in line with latest updates done on HAL WWDG drivers
    - Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
    - Remove HAL_WWDG_MspDeInit function from stm32f4xx_hal_msp.c file
  - Change of HAL API for IWDG : Removal of HAL_IWDG_Start function in the main.c of IWDG example.
  - Update of HAL_TimeBase_TIM example to use TIM HW as time base source instead of Systick
  - Add 2 new examples HAL_TimeBase_RTC_ALARM and HAL_TimeBase_RTC_WKUP
  - Updated I2C examples to manage error case during data transfer (I2C_TwoBoards_AdvComIT, I2C_TwoBoards_ComDMA, I2C_TwoBoards_ComIT, I2C_TwoBoards_ComPolling)

- Applications

  - Change of HAL API for TIM : add AutoReloadPreload capability in TIM handler. Impacts in FreeRTOS examples.

## 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

V1.6.0 / 27-May-2016

# 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.
- 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

STM32072B_EVAL:

- Applications

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated HEAP size for FreeRTOS applications (updates in FreeRTOSConfig.h).
  - Updated HEAP size for USB_Device/MSC_Standalone application.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated RCC_CRS_Synchronization_IT example to use HAL_RCCEx_CRS_IRQHandler().
  - Updated I2C examples after I2C driver rework:
    - I2C_EEPROM
    - I2C_TwoBoards_ComDMA
  - Updated BSP example to fix issue with 128MB SD card.

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

STM32091C_EVAL:

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated Demonstration to fix issue with 32GB SD card.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated RCC_CRS_Synchronization_IT example to use HAL_RCCEx_CRS_IRQHandler().
  - Updated I2C examples after I2C driver rework:
    - I2C_EEPROM
    - I2C_TwoBoards_ComDMA
  - Updated BSP example to fix issue with 128MB SD card.

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

STM32F0308-DISCO:

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated I2C examples after I2C driver rework:
    - I2C_TwoBoards_AdvComIT
    - I2C_TwoBoards_ComDMA
    - I2C_TwoBoards_ComIT
    - I2C_TwoBoards_ComPolling

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

NUCLEO-F030R8:

- Applications

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated HEAP size for FreeRTOS applications (updates in FreeRTOSConfig.h).

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated I2C examples after I2C driver rework:
    - I2C_TwoBoards_AdvComIT
    - I2C_TwoBoards_ComDMA
    - I2C_TwoBoards_ComIT
    - I2C_TwoBoards_ComPolling

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

NUCLEO-F070RB:

- Applications

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated HEAP size for FreeRTOS applications (updates in FreeRTOSConfig.h).

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated I2C examples after I2C driver rework:
    - I2C_TwoBoards_AdvComIT
    - I2C_TwoBoards_ComDMA
    - I2C_TwoBoards_ComIT
    - I2C_TwoBoards_ComPolling

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

NUCLEO-F072RB:

- Applications

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated HEAP size for FreeRTOS applications (updates in FreeRTOSConfig.h).

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated I2C examples after I2C driver rework:
    - I2C_TwoBoards_AdvComIT
    - I2C_TwoBoards_ComDMA
    - I2C_TwoBoards_ComIT
    - I2C_TwoBoards_ComPolling

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

STM32F072B-DISCO:

- Applications

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated HEAP size for FreeRTOS applications (updates in FreeRTOSConfig.h).

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated I2C examples after I2C driver rework:
    - I2C_TwoBoards_AdvComIT
    - I2C_TwoBoards_ComDMA
    - I2C_TwoBoards_ComIT
    - I2C_TwoBoards_ComPolling

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

NUCLEO-F091RC:

- Applications

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated HEAP size for FreeRTOS applications (updates in FreeRTOSConfig.h).

- Demonstrations

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.

- Examples

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated I2C examples after I2C driver rework:
    - I2C_TwoBoards_AdvComIT
    - I2C_TwoBoards_ComDMA
    - I2C_TwoBoards_ComIT
    - I2C_TwoBoards_ComPolling

- Templates

  - Updated system_stm32f0xx.c files:
    - Added APBPrescTable definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Updated FW projects compliance with MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).

## 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

V1.5.0 / 29-January-2016

# Maintenance release

## Main Changes

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

- 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

STM32072B_EVAL:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Examples
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Update BSP example for compatibility and alignment with latest BSP Drivers (new SD over SPI services).
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Update SystemClockConfig() for examples.
  - Updated CAN_Networking example settings.
  - Updated ADC_LowPower example settings.
  - Updated TSC_BasicAcquisition_Interrupt/TSC_BasicAcquisition_Polling examples after integration of IO default state management.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

STM32091C_EVAL:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Demonstrations
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Update for compatibility and alignment with latest BSP Drivers (new SD over SPI services).
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Examples
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Update BSP example for compatibility and alignment with latest BSP Drivers (new SD over SPI services).
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Update SystemClockConfig() for examples.
  - Updated CAN_Networking example settings.
  - Updated ADC_LowPower example settings.
  - Updated TSC_BasicAcquisition_Interrupt/TSC_BasicAcquisition_Polling examples after integration of IO default state management.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

STM32F0308-DISCO:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Demonstrations
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Update for compatibility and alignment with latest BSP Drivers (new SD over SPI services).
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Examples
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Update BSP example for compatibility and alignment with latest BSP Drivers (new SD over SPI services).
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Update SystemClockConfig() for examples.
  - Updated CAN_Networking example settings.
  - Updated ADC_LowPower example settings.
  - Updated TSC_BasicAcquisition_Interrupt/TSC_BasicAcquisition_Polling examples after integration of IO default state management.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

NUCLEO-F030R8:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Demonstrations

  - Update for compatibility and alignment with latest STM32F0xx-Nucleo and Adafruit Shield BSP Drivers.
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Examples
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Updated/aligned UART_TwoBoards_ComDMA examples (UART IRQ needs now to be enabled).
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

NUCLEO-F070RB:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Demonstrations

  - Update for compatibility and alignment with latest STM32F0xx-Nucleo and Adafruit Shield BSP Drivers.
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Examples
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Updated/aligned UART_TwoBoards_ComDMA examples (UART IRQ needs now to be enabled).
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

STM32F072B-DISCO:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Added TouchSensing/TouchSensing_Linear_IT application, using the STMTouch driver with 1 linear sensor in Interrupt mode.
  - Corrected EXTI line used in USB_Device/HID_Standalone project.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Demonstrations

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Examples

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Update SystemClockConfig() for examples.
  - Updated/aligned UART_TwoBoards_ComDMA examples (UART IRQ needs now to be enabled).
  - Updated TSC_BasicAcquisition_Interrupt/TSC_BasicAcquisition_Polling examples after integration
  - of IO default state management.
  - Added CRC/CRC_Data_Reversing_16bit_CRC example to illustrate input/output data reversal features.
  - Added CRC/CRC_Bytes_Stream_7bit_CRC example to illustrate the usage Input/Output options CRC calculation.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

NUCLEO-F072RB:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Demonstrations

  - Update for compatibility and alignment with latest STM32F0xx-Nucleo and Adafruit Shield BSP Drivers.
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Examples

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Update SystemClockConfig() for STM32F0xx-Nucleo examples.
  - Updated/aligned UART_TwoBoards_ComDMA examples (UART IRQ needs now to be enabled).
  - Updated ADC/ADC_AnalogWatchdog example.
  - Added CRC/CRC_Data_Reversing_16bit_CRC example to illustrate input/output data reversal features.
  - Added CRC/CRC_Bytes_Stream_7bit_CRC example to illustrate the usage Input/Output options CRC calculation.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

NUCLEO-F091RC:

- Applications

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated FatFS_uSD application: increased size of heap/stack for proper execution.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Demonstrations

  - Update for compatibility and alignment with latest STM32F0xx-Nucleo and Adafruit Shield BSP Drivers.
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.
- Examples
  - Add support of System Workbench for STM32 (SW4STM32) toolchain.
  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated FLASH_WriteProtection examples with new FLASH APIs.
  - Updated TIM examples: Corrected calculation of uint32_t in TIM_InputCapture example.
  - Update SystemClockConfig() for STM32F0xx-Nucleo examples.
  - Updated/aligned UART_TwoBoards_ComDMA examples (UART IRQ needs now to be enabled).
  - Updated ADC/ADC_AnalogWatchdog example.
  - Added CRC/CRC_Data_Reversing_16bit_CRC example to illustrate input/output data reversal features.
  - Added CRC/CRC_Bytes_Stream_7bit_CRC example to illustrate the usage Input/Output options CRC calculation.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated “Liberty” License with the new license “Ultimate Liberty”.

- Templates

  - Updated GPIO Output Speed literals naming to ensure HAL full compatibility.
  - Updated system_stm32f0xx.c files:
    - Removed __IO or __I on constant table declaration.
    - Added HSI48_VALUE definition.
  - Updated stm32f0xx_hal_conf.h files:
    - Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms
  - Updated stm32f0xx_hal_msp.c files:
    - Removed reference to MicroXplorer.
  - Updated “Liberty” License with the new license “Ultimate Liberty”

## 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

V1.4.0 / 11-September-2015

# 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.

## 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

V1.3.0 / 26-June-2015

# 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
- Complete HAL API alignment (renaming)

- Upgrade to use FatFs R0.11.

NUCLEO-F072RB:

- Examples
  - Update ADC/DMA/PWR examples projects.

STM32F0308-DISCO:

- Examples
- Update DMA/PWR examples projects.

STM32091C_EVAL:

- Examples
  - Update DMA/PWR examples projects.

- Applications

  - Adapt projects to use STemwin V5.28 “ST modified 20150415“ (Changed lib name from 526 to 528).
  - Adapt existing projects to use FreeRTOS V8.2.1.
  - 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)

NUCLEO-F030R8:

- Examples
  - Update PWR examples projects.

STM32072B_EVAL:

- Examples
  - Update DMA/ADC examples projects.

## 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

V1.2.1 / 09-January-2015

# Maintenance release

## Main Changes

- Patch release for STM32F0xx Value line devices.

V1.2.0 / 05-December-2014

# 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

STM32072B_EVAL:

- Application
  - Update for compatibility with:
    - FatFS R0.10b_STM32Cube_20141120
    - USB_device V2.3.0
    - FreeRTOS V8.1.2_20141204
- Examples
  - Minor correction (compilation warning with HAL_SPI)

STM32091C_EVAL:

- Applications
  - Update for compatibility with:
    - FatFS R0.10b_STM32Cube_20141120
    - USB_device V2.3.0
    - FreeRTOS V8.1.2_20141204
  - STemWin STemWinLibrary526_20141020_CM0
- Demonstrations
  - Update for compatibility with:
    - FatFS R0.10b_STM32Cube_20141104
  - Minor correction (compilation warning)
- Examples
  - Minor correction (compilation warnings)
- Templates
  - Minor correction (compilation warnings)

STM32F0308-DISCO:

- Applications
  - Update for compatibility with:
    - FreeRTOS V8.1.2_20141204
- Demonstrations
  - Minor correction (compilation warning with HAL_SPI)
- Templates
  - Minor correction (compilation warning with HAL_SPI)

NUCLEO-F030R8:

- Applications
  - Update for compatibility with FreeRTOS V8.1.2_20141204
- Demonstrations
  - Update for compatibility with FatFS R0.10b_STM32Cube_20141104
  - Minor correction for compilation warning with HAL_SPI
- Examples
  - Minor correction (compilation warning with HAL_SPI)
- Templates
  - Minor correction (compilation warning with HAL_SPI)

STM32F072B-DISCO:

- Applications
  - Update for compatibility with:
    - FatFS R0.10b_STM32Cube_20141120
    - USB_device V2.3.0
    - FreeRTOS V8.1.2_20141204
- Demonstrations
  - Update for compatibility with:
    - USB_device V2.3.0
  - Minor correction for compilation warning with HAL_SPI

NUCLEO-F072RB:

- Applications
  - Update for compatibility with:
    - FreeRTOS V8.1.2_20141204
- Demonstrations
  - Update for compatibility with:
    - FatFS R0.10b_STM32Cube_20141104
  - Minor correction for compilation warning with HAL_SPI
- Examples
  - Minor correction (compilation warning with HAL_SPI)
- Templates
  - Minor correction (compilation warning with HAL_SPI)

NUCLEO-F091RC:

- Applications
  - Update for compatibility with:
    - FreeRTOS V8.1.2_20141204
- Demonstrations
  - Update for compatibility with:
    - FatFS R0.10b_STM32Cube_20141104
  - Minor correction for compilation warning with HAL_SPI
- Examples
  - Minor correction (compilation warning with HAL_SPI)
- Templates
  - Minor correction (compilation warning with HAL_SPI)

## Contents

### Projects

Projects STM32072B-EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32072B-EVAL | Applications | V1.2.0 | Projects/STM32091C_EVAL/Applications
STM32072B-EVAL | Examples | V1.2.0 | Projects/STM32072B-EVAL/Examples

Projects STM32091C_EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32091C_EVAL | Applications | V1.2.0 | Projects/STM32091C_EVAL/Applications
STM32091C_EVAL | Demonstrations | V1.2.0 | Projects/STM32091C_EVAL/Demonstrations
STM32091C_EVAL | Examples | V1.2.0 | Projects/STM32091C_EVAL/Examples
STM32091C_EVAL | Templates | V1.2.0 | Projects/STM32091C_EVAL/Templates

Projects STM32F0308-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F0308-DISCO | Applications | V1.2.0 | Projects/STM32F0308-DISCO/Examples
STM32F0308-DISCO | Demonstrations | V1.2.0 | Projects/STM32F0308-DISCO/Demonstrations
STM32F0308-DISCO | Examples | V1.2.0 | Projects/STM32F0308-DISCO/Examples
STM32F0308-DISCO | Templates | V1.2.0 | Projects/STM32F0308-DISCO/Templates

Projects STM32F072B-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F072B-DISCO | Applications | V1.2.0 | Projects/STM32F072B-DISCO/Applications
STM32F072B-DISCO | Demonstrations | V1.2.0 | Projects/STM32F072B-DISCO/Demonstrations

Projects NUCLEO-F072RB
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F072RB | Applications | V1.2.0 | Projects/NUCLEO-F072RB/Examples
NUCLEO-F072RB | Demonstrations | V1.2.0 | Projects/NUCLEO-F072RB/Demonstrations
NUCLEO-F072RB | Examples | V1.2.0 | Projects/NUCLEO-F072RB/Examples
NUCLEO-F072RB | Templates | V1.2.0 | Projects/NUCLEO-F072RB/Templates

Projects NUCLEO-F091RC
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F091RC | Applications | V1.2.0 | Projects/NUCLEO-F091RC/Applications
NUCLEO-F091RC | Demonstrations | V1.2.0 | Projects/NUCLEO-F091RC/Demonstrations
NUCLEO-F091RC | Examples | V1.2.0 | Projects/NUCLEO-F091RC/Examples
NUCLEO-F091RC | Templates | V1.2.0 | Projects/NUCLEO-F091RC/Templates

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

## 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

V1.1.0 / 03-October-2014

# Maintenance release

## Main Changes

STM32091C_EVAL:

- First official release for device STM32F091xC
- Minor correction (compilation warnings)
- Applications porting on IAR, KEIL, TRUE STUDIO

NUCLEO-F091RC:

- First official release for device STM32F091xC
- Minor correction (compilation warnings)
- Applications porting on IAR, KEIL, TRUE STUDIO

NUCLEO-F072RB:

- CORTEX examples
  - CORTEXM_ModePrivilege replace by CORTEXM_ProcessStack
- PWR examples
  - PWR_PVD example update

NUCLEO-F030R8:

- CORTEX examples
  - CORTEXM_ModePrivilege replace by CORTEXM_ProcessStack

STM32F0308-DISCO:

- CORTEX example
  - CORTEXM_ModePrivilege replaced by CORTEXM_ProcessStack

## Contents

### Projects

Projects STM32091C_EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32091C_EVAL | Applications | V1.1.0 | Projects/STM32091C_EVAL/Applications
STM32091C_EVAL | Demonstrations | V1.1.0 | Projects/STM32091C_EVAL/Demonstrations
STM32091C_EVAL | Examples | V1.1.0 | Projects/STM32091C_EVAL/Examples
STM32091C_EVAL | Templates | V1.1.0 | Projects/STM32091C_EVAL/Templates

Projects NUCLEO-F091RC
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F091RC | Applications | V1.1.0 | Projects/NUCLEO-F091RC/Applications
NUCLEO-F091RC | Demonstrations | V1.1.0 | Projects/NUCLEO-F091RC/Demonstrations
NUCLEO-F091RC | Examples | V1.1.0 | Projects/NUCLEO-F091RC/Examples
NUCLEO-F091RC | Templates | V1.1.0 | Projects/NUCLEO-F091RC/Templates

Projects NUCLEO-F072RB
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F072RB | Examples | V1.1.0 | Projects/NUCLEO-F072RB/Examples

Projects NUCLEO-F030R8
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F030R8 | Examples | V1.1.0 | Projects/NUCLEO-F030R8/Examples

Projects STM32F0308-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F0308-DISCO | Examples | V1.1.0 | Projects/STM32F0308-DISCO/Examples

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

## 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

V1.0.0 / 18-June-2014

# Maintenance release

## Main Changes

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

NUCLEO-F072RB: First official release

NUCLEO-F030R8: First official release

STM32f0308-DISCO: First official release

STM32F072B-DISCO: First official release

STM32F072B-EVAL: First official release

## Contents

### Projects

Projects NUCLEO-F072RB
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F072RB | Applications | V1.0.0 | Projects/NUCLEO-F072RB/Applications
NUCLEO-F072RB | Demonstrations | V1.0.0 | Projects/NUCLEO-F072RB/Demonstrations
NUCLEO-F072RB | Examples | V1.0.0 | Projects/NUCLEO-F072RB/Examples
NUCLEO-F072RB | Templates | V1.0.0 | Projects/NUCLEO-F072RB/Templates

Projects NUCLEO-F030R8
Board | Project category | Version | Path
--- | --- | --- | ---
NUCLEO-F030R8 | Applications | V1.0.0 | Projects/NUCLEO-F030R8/Applications
NUCLEO-F030R8 | Demonstrations | V1.0.0 | Projects/NUCLEO-F030R8/Demonstrations
NUCLEO-F030R8 | Examples | V1.0.0 | Projects/NUCLEO-F030R8/Examples
NUCLEO-F030R8 | Templates | V1.0.0 | Projects/NUCLEO-F030R8/Templates

Projects STM32f0308-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32f0308-DISCO | Applications | V1.0.0 | Projects/STM32f0308-DISCO/Applications
STM32f0308-DISCO | Demonstrations | V1.0.0 | Projects/STM32f0308-DISCO/Demonstrations
STM32f0308-DISCO | Examples | V1.0.0 | Projects/STM32f0308-DISCO/Examples
STM32f0308-DISCO | Templates | V1.0.0 | Projects/STM32f0308-DISCO/Templates

Projects STM32F072B-DISCO
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F072B-DISCO | Applications | V1.0.0 | Projects/STM32F072B-DISCO/Applications
STM32F072B-DISCO | Demonstrations | V1.0.0 | Projects/STM32F072B-DISCO/Demonstrations
STM32F072B-DISCO | Examples | V1.0.0 | Projects/STM32F072B-DISCO/Examples
STM32F072B-DISCO | Templates | V1.0.0 | Projects/STM32F072B-DISCO/Templates

Projects STM32F072B-EVAL
Board | Project category | Version | Path
--- | --- | --- | ---
STM32F072B-EVAL | Applications | V1.0.0 | Projects/STM32F072B-EVAL/Applications
STM32F072B-EVAL | Demonstrations | V1.0.0 | Projects/STM32F072B-EVAL/Demonstrations
STM32F072B-EVAL | Examples | V1.0.0 | Projects/STM32F072B-EVAL/Examples
STM32F072B-EVAL | Templates | V1.0.0 | Projects/STM32F072B-EVAL/Templates

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

## 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