# Release Notes for STM32CubeF1 Firmware Package

Copyright © <2017> STMicroelectronics

# License

This software package is licensed by ST under ST license SLA0048, the “License”; You may not use this package except in compliance with the License. You may obtain a copy of the License at: http://www.st.com/SLA0048.

# 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 STM32CubeMX, a graphical software configuration tool that allows to generate C initialization code using graphical wizards.
- A comprehensive embedded software platform, delivered per series (such as STM32CubeF1 for STM32F1 series)
  - The STM32Cube HAL, an STM32 abstraction layer embedded software, ensuring maximized portability across STM32 portfolio
  - A consistent set of middleware components such as RTOS, USB, TCP/IP, Graphics
  - All embedded software utilities come with a full set of examples.
- The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements

The HAL (Hardware Abstraction Layer) drivers provided within this package supports the following STM32F100xx STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx Series.

- For quick getting started with the STM32CubeF1 firmware package, refer to UM1847 you can download firmware updates and all the latest documentation from www.st.com/stm32cubefw
- Below links to the most useful documents
  - Latest release of STM32CubeF1 Firmware package.
  - UM1847: Getting started with STM32CubeF1 for STM32F1 Series.
  - UM1953: STM32CubeF1 Nucleo demonstration firmware.
  - UM1950: Description of STM32F1xx HAL drivers.
  - UM1734: STM32Cube USB device library
  - UM1720: 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
  - UM1709: STM32Cube Ethernet IAP example

# Update History

V1.8.0 / 26-June-2019

# Maintenance release

## Main Changes

- General updates to fix known defects and enhancements implementation
- Remove support of TrueSTUDIO tool chain
- General updates to fix CodeSonar compilation warnings
- General updates to fix the user manual .chm files
- Add support of HAL callback registration feature
- The following changes done on the HAL drivers require an update on the application code based on older HAL versions
  - Add support of HAL callback registration feature
    - The feature disabled by default is available for the following HAL drivers:
      - ADC, CAN, CEC, DAC, ETH, HCD, UART, USART, IRDA, SMARTCARD,
      - MMC, NAND, NOR, PCCARD, PCD, RTC, SD, SRAM, I2C, SPI, I2S, TIM and WWDG
    - The feature may be enabled individually per HAL PPP driver by setting the corresponding definition USE_HAL_PPP_REGISTER_CALLBACKS to 1U in stm32f1xx_hal_conf.h project configuration file (template file stm32f1xx_hal_conf_template.h available from Drivers/STM32F1xx_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()
  - For HAL HCD driver add the following USB callback in usbh_conf.c user file to be compliant with latest changes done on USB Host (HAL/Stack)
    - HAL_HCD_PortEnabled_Callback()
    - HAL_HCD_PortDisabled_Callback()

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

- 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 API’s
      - HAL_I2C_Master_Seq_Transmit_DMA()
      - HAL_I2C_Master_Seq_Receive_DMA()
      - HAL_I2C_Slave_Seq_Transmit_DMA()
      - HAL_I2C_Slave_Seq_Receive_DMA()
    - Add SPI Abort transfer API’s:
      - HAL_SPI_Abort()
      - HAL_SPI_Abort_IT()
    - Add HAL_SD_ConfigSpeedBusOperation() API to configure the SD card speed bus mode
    - Add new TIM Callbacks API’s:
      - HAL_TIM_PeriodElapsedHalfCpltCallback()
      - HAL_TIM_IC_CaptureHalfCpltCallback()
      - HAL_TIM_PWM_PulseFinishedHalfCpltCallback()
      - HAL_TIM_TriggerHalfCpltCallback()
- CMSIS
  - Fix known defects and several implementation enhancement
  - Fix wrong initialization value for “SystemCoreClock” in System_stm32f1xx.c file
  - Update gcc linker file template to be aligned with AC6 linker file template
  - Align ErrorStatus typedef to common error handling
- Middleware
  - Update to use FreeRTOS 10.0.1 ST modified 20190329
  - Update to use STemWin V5.44 ST modified 20180322
  - Update to use USB Device Library V2.5.3
  - Update to use USB Host Library V3.3.3
  - Update to use new version of LwIP V2.0.3
- Projects
  - Update HAL I2C examples to be compliant with new I2C API
  - Update STemWin applications to be compliant with new STemWin architecture
  - Update USB HOST projects to be compliant with USB Host Stack V3.3.3:
    - Add the following USB callback in usbh_conf.c user file:
      - HAL_HCD_PortEnabled_Callback()
      - HAL_HCD_PortDisabled_Callback()
  - Update USB Device projects for 103xx/107xx devices to be compliant with USB Device 2.5.3
    - USB HS mode isn’t supported by these STM32 devices
  - Update USB device applications by adding a UNUSED() macro in the followings API on file usbd_desc.c files in order to avoid compilation warnings
    - 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
    - usbd_conf.h: Optimize USB device string descriptor size (USBD_MAX_STR_DESC_SIZ)
  - Update HID_Standalone application available on STM3210E_EVAL board to be compliant new HAL PCD driver.

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

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V5.4.0 | Apache License 2.0 | release notes
  STM32F1xx CMSIS | V4.3.1 | Apache License 2.0 | release notes
  STM32F1xx HAL | V1.1.4 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V7.0.0 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.1.0 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.1 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.3 | BSD-3-Clause | release notes
  BSP Components Common | V4.0.1 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.3 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V2.0.2 | BSD-3-Clause | release notes
  BSP Components ak4343 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V2.0.0 | BSD-3-Clause | release notes
  BSP Components st7735 | V2.0.0 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V3.0.0 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.44 | SLA0044 | release notes
  STM32 USB Device Library | V2.5.3 | SLA0044 | release notes
  STM32 USB Host Library | V3.3.3 | SLA0044 | release notes
  FatFS | R0.11 | [BSD-3-Clause](Middlewares/Third_Party/FatFs/doc/en/appnote.html#license | ) release notes ST modified 20170214 release notes
  FreeRTOS | V10.0.1 | MIT | release notes ST modified 20190329 release notes
  LwIP | V2.0.3 | BSD-3-Clause | release notes ST modified 20180813 release notes

  Utilities
  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- SW4STM32 projects aren’t provided for STM32VL-Discovery board because it embeds STLinv1 version that is not hardware supported by SW4STM32 toolchain.

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.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

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.7.0 / 09-October-2018

# Maintenance release

## Main Changes

- General update to fix known defects and several implementations enhancement
- The following changes done on the HAL drivers require an update on the application code based on older HAL versions
  - Rework of HAL CAN driver (compatibility break)
    - A new HAL CAN driver has been redesigned with new APIs, to bypass limitations on CAN Tx/Rx FIFO management present with previous HAL CAN driver version.
    - The new HAL CAN driver is the recommended version. It is located as usual in Drivers/STM32F1xx_HAL_Driver/Src and Drivers/STM32f1xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f1xx_hal_conf.h
    - The legacy HAL CAN driver is also present in the release in Drivers/STM32F1xx_HAL_Driver/Src/Legacy and Drivers/STM32F1xx_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 stm32f1xx_hal_conf.h
- HAL
  - stm32f1xx_hal_conf_template.h: Add switch HAL_CAN_LEGACY_MODULE_ENABLED
  - HAL CAN driver has been redesigned with new APIs.
- CMSIS
  - Fix known defects and several implementation enhancement
- Projects
  - Update CAN examples to support new HAL CAN driver.
  - Update stm32f1xx_hal_conf.h by adding switch HAL_CAN_LEGACY_MODULE_ENABLED.
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V4.5.0 | BSD-3-Clause | release notes
  STM32F1xx CMSIS | V4.3.0 | BSD-3-Clause | release notes
  STM32F1xx HAL | V1.1.3 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V7.0.0 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.1.0 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.1 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.3 | BSD-3-Clause | release notes
  BSP Components Common | V4.0.1 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.3 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V2.0.2 | BSD-3-Clause | release notes
  BSP Components ak4343 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V2.0.0 | BSD-3-Clause | release notes
  BSP Components st7735 | V2.0.0 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V3.0.0 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.32 | SLA0044 | release notes
  STM32 USB Device Library | V2.4.2 | SLA0044 | release notes
  STM32 USB Host Library | V3.3.2 | SLA0044 | release notes
  FatFS | R0.11 | BSD-3-Clause | release notes ST modified 20170214 release notes
  FreeRTOS | V9.0.0 | MIT | release notes ST modified 20170303 release notes
  LwIP | V2.0.0 | BSD-3-Clause | release notes ST modified 20161223 release notes

  Utilities
  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- SW4STM32 projects aren’t provided for STM32VL-Discovery board because it embeds STLinv1 version that is not hardware supported by SW4STM32 toolchain.

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.5.2
- System Workbench for STM32 (SW4STM32) toolchain V1.13

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.6.1 / 09-March-2018

# Maintenance release

## Main Changes

- Patch release to fix issues in GPIO, RCC, SMARTCARD, I2C and Generic HAL/LL drivers

## Contents

Name | Version | Release note
--- | --- | ---
STM32F1xx HAL | V1.1.2 | release notes

V1.6.0 / 12-May-2017

# Maintenance release

## Main Changes

- General update to fix known defects and several implementations enhancement

- HAL
  - stm32f1xx_hal_conf_template.h fix typo: update to refer to stm32f1xx_hal_mmc.h instead of stm32f4xx_hal_mmc.h
  - stm32f1xx_hal_mmc.c add missing () to fix compilation warning detected with SW4STM32 when extra feature is enabled.
  - stm32f1xx_ll_system.h: fix typo in LL_DBGMCU_APB1_GRP1_I2C1_STOP and LL_DBGMCU_APB1_GRP1_I2C2_STOP literals definition
- Projects
  - General updates to be compliant with Linux platforms

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

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V4.5.0 | BSD-3-Clause | release notes
  STM32F1xx CMSIS | V4.2.0 | BSD-3-Clause | release notes
  STM32F1xx HAL | V1.1.1 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V7.0.0 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.1.0 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.1 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.3 | BSD-3-Clause | release notes
  BSP Components Common | V4.0.1 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.3 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V2.0.2 | BSD-3-Clause | release notes
  BSP Components ak4343 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V2.0.0 | BSD-3-Clause | release notes
  BSP Components st7735 | V2.0.0 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V3.0.0 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.32 | SLA0044 | release notes
  STM32 USB Device Library | V2.4.2 | SLA0044 | release notes
  STM32 USB Host Library | V3.3.2 | SLA0044 | release notes
  FatFS | R0.11 | BSD-3-Clause | release notes ST modified 20170214 release notes
  FreeRTOS | V9.0.0 | MIT | release notes ST modified 20170303 release notes
  LwIP | V2.0.0 | BSD-3-Clause | release notes ST modified 20161223 release notes

  Utilities
  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- SW4STM32 projects aren’t provided for STM32VL-Discovery board because it embeds STLinv1 version that is not hardware supported by SW4STM32 toolchain.

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.5.2
- System Workbench for STM32 (SW4STM32) toolchain V1.13

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.5.0 / 14-April-2017

# Maintenance release

## Main Changes

- Add Low Layer drivers under Drivers32F1xx_HAL_Driver
  - Low Layer drivers allow performance and memory footprint optimization
  - Low Layer drivers APIs provide register level programming: they require deep knowledge of peripherals described in STM32F1xx Reference Manuals
  - Low Layer drivers are available for: ADC, Cortex, CRC, DAC, DMA, EXTI, GPIO, I2C, IWDG, PWR, RCC, RNG, RTC, SPI, TIM, USART, WWDG peripherals and additional Low Level Bus, System and Utilities APIs.
  - Low Layer drivers APIs are implemented as static in-line function in new Inc/stm32f1xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f1xx_ll_ppp.h file must be included in user code.
  - Refer to [UM1847] (http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00151047.pdf) for Low Layer presentation and [UM1850] (http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00154093.pdf) for API list

- General update to fix known defects and several implementations enhancement

- HAL
  - Add Low Layer drivers under Drivers32F1xx_HAL_Driver
  - Add new MMC HAL driver
  - The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    - HAL UART, USART, IRDA, SMARTCARD, SPI, I2C,FMPI2C, QSPI (referenced as PPP here below) drivers
      - Add PPP error management during DMA process. This requires the following updates on user application:
        - Configure and enable the PPP IRQ in HAL_PPP_MspInit() function
        - In stm32f1xx_it.c file, PPP_IRQHandler() function: add a call to HAL_PPP_IRQHandler() function
        - Add customize the Error Callback API: HAL_PPP_ErrorCallback()
    - HAL SD driver:
      - Overall rework of the driver for a more efficient implementation
        - Modify initialization API and structures
        - Modify Read / Write sequences: separate transfer process and SD Cards state management
        - Adding interrupt mode for Read / Write operations
        - Update the HAL_SD_IRQHandler function by optimizing the management of interrupt errors
      - Refer to the following example to identify the changes: BSP example and USB_Device/MSC_Standalone application
    - HAL NAND driver:
      - Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
      - Add new HAL_NAND_ConfigDevice API
    - 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() funtion 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 IWDG driver: rework overall driver for better implementation
      - Remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs
    - HAL WWDG driver: rework overall driver 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
- CMSIS
  - Fix known defects and several implementation enhancement
  - General update to support Low layer drivers (LL)
- Middleware
  - Update STemWin Library V5.32 with a new build with EWARM V7.80
  - Upgrade to use new version of LwIP V2.0.0
    - Note: Applications based on previous version LwIP V1.4.1 require update to cope with the upgrade to the currently used V2.0.0. For details please refer to its Release Note and to the updated LwIP applications provided by this firmware package.
  - Update to new version of FreeRTOS V9.0.0
  - Update FatFS to implement changes on sd_diskio.c file to be aligned with HAL SD driver and BSP drivers API changes.
- Projects
  - General updates to fix known defects and enhancements implementation
  - Add Low Layer examples and MIX examples on the STM32F103RB-Nucleo, STM32F10E-EVAL boards
  - Update overall projects to be aligned with latest version of HAL, BSP and Middleware drivers
  - Add HAL_TimeBase RTC examples on all the supported boards
  - Add I2C_TwoBoards_RestartAdvComIT and I2C_TwoBoards_RestartComIT Examples

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

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V4.5.0 | BSD-3-Clause | release notes
  STM32F1xx CMSIS | V4.2.0 | BSD-3-Clause | release notes
  STM32F1xx HAL | V1.1.0 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V7.0.0 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.1.0 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.1 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.3 | BSD-3-Clause | release notes
  BSP Components Common | V4.0.1 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.3 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V2.0.2 | BSD-3-Clause | release notes
  BSP Components ak4343 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V2.0.0 | BSD-3-Clause | release notes
  BSP Components st7735 | V2.0.0 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V3.0.0 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.32 | SLA0044 | release notes
  STM32 USB Device Library | V2.4.2 | SLA0044 | release notes
  STM32 USB Host Library | V3.3.2 | SLA0044 | release notes
  FatFS | R0.11 | BSD-3-Clause | release notes ST modified 20170214 release notes
  FreeRTOS | V9.0.0 | MIT | release notes ST modified 20170303 release notes
  LwIP | V2.0.0 | BSD-3-Clause | release notes ST modified 20161223 release notes

  Utilities
  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.5.2
- System Workbench for STM32 (SW4STM32) toolchain V1.13

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.4.0 / 29-April-2016

# Maintenance release

## Main Changes

- Maintenance release to fix known defects and several enhancements implementation.

- HAL
  - HAL RCC
    - Add suffix U for defines equals to 0xFFFFFFFF (fix MISRA error 10.6)
    - Optimization of HAL_RCC_ClockConfig().
    - Replace aAPBAHBPrescTable by APBPrescTable and AHBPrescTable defined inside system_stm32f1xx.c.
    - When using HAL_RCC_OscConfig to activate LSE, if LSE is already ON, it remains in its state ON. Previously, it was turned OFF then ON in all cases.
    - The backup domain is no more reset when changing the RTC clock source from reset value.
    - Correct strange behavior in HAL_RCCEx_PeriphCLKConfig.
  - HAL UART
    - Correct the macro UART_BRR_SAMPLING16
  - HAL SMARTCARD
    - Correct the macro SMARTCARD_BRR
  - HAL IRDA
    - Correct the macro IRDA_BRR
    - EIE bit is no more activated in transmit (this bit only triggers errors in reception)
    - EIE bit is reset at the end of the reception.
  - HAL DMA
    - Add macro __HAL_DMA_GET_COUNTER to get the number of remaining data units in the current channel.
    - HAL FSMC
    - Adapt FSMC_NAND_Init behavior to the others STM32 series by reseting the bit FSMC_PCRx_PBKEN.
- CMSIS
  - Add _Pos and _Msk defines to be used with _VAL2FLD(field, value) and _FLD2VAL(field, value).
  - The previous naming are kept for backward compatibility.
  - Add APBPrescTable constant to list APB prescalers values.
- BSP
  - STM32F1xx_Nucleo
    - Add support for 4 Gb sd cards.
  - STM3210E_EVAL
    - Set the NVIC priority to the lowest possible to not interfere with user settings.
  - STM3210C_EVAL
    - Set the NVIC priority to the lowest possible to not interfere with user settings.
- Middlewares
  - Update to FreeRTOS V8.2.3.
  - Update to STM32 USB Device Library V2.4.2
- Others
  - Add latest version of STM32CubeUpdater (V4.10.0).

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V4.5.0 | BSD-3-Clause | release notes
  STM32F1xx CMSIS | V4.1.0 | BSD-3-Clause | release notes
  STM32F1xx HAL | V1.0.4 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V6.0.2 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.0.2 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.1 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.3 | BSD-3-Clause | release notes
  BSP Components Common | V4.0.1 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.3 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V2.0.2 | BSD-3-Clause | release notes
  BSP Components ak4343 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V2.0.0 | BSD-3-Clause | release notes
  BSP Components st7735 | V1.1.1 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V2.0.1 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.28 | SLA0044 | release notes
  STM32 USB Device Library | V2.4.2 | SLA0044 | release notes
  STM32 USB Host Library | V3.3.2 | SLA0044 | release notes
  FatFS | R0.11 | BSD-3-Clause | release notes ST modified 20150508 release notes
  FreeRTOS | V8.2.3 | MIT | release notes ST modified 20150327 release notes
  LwIP | V1.4.1 | BSD-3-Clause | release notes ST modified 20160122 release notes

  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.3.1 / 11-January-2016

# Maintenance release

## Main Changes

- Patch release to fix issue in HAL driver:
  - Remove the #if defined(USE_HAL_LEGACY) condition to include Legacy/stm32_hal_legacy.h by default, in stm32f1xx_hal_def.h.

## Contents

Name | Version | Licence | Release note
--- | --- | --- | ---
STM32F1xx HAL | V1.0.3 | BSD-3-Clause | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.3.0 / 18-December-2015

# Maintenance release

## Main Changes

- Maintenance release to fix known defects and several enhancements implementation.

- HAL
  - Insure that do {} while(0) are used in in multi statement macros. (hal eth and pcd)
  - Manage simultaneous errors in IRQHandler. (hal uart, smartcard, usart and uart)
  - To ensure the full compatibility of the GPIO interfaces across all the STM32 families, the gpio speed definition have been renamed:
  - GPIO_SPEED_LOW to GPIO_SPEED_FREQ_LOW
  - GPIO_SPEED_MEDIUM to GPIO_SPEED_FREQ_MEDIUM
  - GPIO_SPEED_HIGH to GPIO_SPEED_FREQ_HIGH
  - aliases are created to keep backward compatibility
  - Reduce the default timeout value for the startup of the HSE form 5s to 100ms.
  - Update HAL weak empty callbacks to prevent unused argument compilation warnings with some compilers.
- CMSIS
  - Align bit name across all STM32 families (EXTI, WWDG) and keeping backward compatibility with aliases.
- Middlewares
  - Update to CMSIS V4.5.
- Projects
  - Update all Keil project from Keil V4 to Keil V5.
  - Update all SW4STM32 projects to version 1.5.0.
- Others
  - Add latest version of STM32CubeUpdater (V4.10.0).

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Examples_LL release notes
    - Examples_MIX release notes
    - Templates release notes
    - Templates_LL release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V4.5.0 | BSD-3-Clause | release notes
  STM32F1xx CMSIS | V4.0.2 | BSD-3-Clause | release notes
  STM32F1xx HAL | V1.0.2 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V6.0.1 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.0.1 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.1 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.2 | BSD-3-Clause | release notes
  BSP Components Common | V2.2.1 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.3 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V2.0.2 | BSD-3-Clause | release notes
  BSP Components ak4343 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V2.0.0 | BSD-3-Clause | release notes
  BSP Components st7735 | V2.0.0 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V3.0.0 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.28 | SLA0044 | release notes
  STM32 USB Device Library | V2.4.1 | SLA0044 | release notes
  STM32 USB Host Library | V3.2.2 | SLA0044 | release notes
  FatFS | R0.11 | BSD-3-Clause | release notes ST modified 20150508 release notes
  FreeRTOS | V8.2.1 | MIT | release notes ST modified 20150327 release notes
  LwIP | V2.0.0 | BSD-3-Clause | release notes ST modified 20140619 release notes

  Utilities
  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.2.0 / 31-July-2015

# Maintenance release

## Main Changes

- Maintenance release.

- 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 application IAP for STM3210E_EVAL board.
- 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.
- CMSIS
  - CMSIS-Core V4.10
    - Corrected: MISRA-C:2004 violations.
    - Corrected: intrinsic functions __DSB, __DMB, __ISB.
    - Corrected: register definitions for ITCMCR register.
    - Corrected: register definitions for CONTROL_Type register.
    - Added: functions SCB_GetFPUType, SCB_InvalidateDCache_by_Addr to core_cm7.h.
    - Added: register definitions for APSR_Type, IPSR_Type, xPSR_Type register.
    - Added: __set_BASEPRI_MAX function to core_cmFunc.h.
    - Added: intrinsic functions __RBIT, __CLZ for Cortex-M0/CortexM0+.
  - CMSIS-DSP V1.4.5
    - Fixed bug in arm_mat_inverse_f32.c and arm_mat_inverse_f64.c. They weren’t properly handling diagonal matrices.
    - arm_cfft_f32.c - help documentation updated
    - Updated documentation to show deprecated functions
  - CMSIS-RTOS V1.02 (unchanged)

## Contents

- The STM32CubeF1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
- Projects release notes
  - STM32F103RB-Nucleo
    - Applications release notes
    - Demonstrations release notes
    - Examples release notes
    - Templates release notes
  - STM32VL-Discovery
    - Examples release notes
    - Templates release notes
    - Templates_LL release notes
  - STM3210C_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes
  - STM3210E_EVAL
    - Applications release notes
    - Examples release notes
    - Templates release notes

  Drivers
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  Cortex-M CMSIS | V4.3.0 | BSD-3-Clause | release notes
  STM32F1xx CMSIS | V4.0.1 | BSD-3-Clause | release notes
  STM32F1xx HAL | V1.0.1 | BSD-3-Clause | release notes
  BSP STM3210E_EVAL | V6.0.0 | BSD-3-Clause | release notes
  BSP STM3210C_EVAL | V6.0.0 | BSD-3-Clause | release notes
  BSP STM32VL-Discovery | V1.0.0 | BSD-3-Clause | release notes
  BSP STM32F1xx_Nucleo | V1.0.1 | BSD-3-Clause | release notes
  BSP Components Common | V2.0.0 | BSD-3-Clause | release notes
  BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
  BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
  BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
  BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
  BSP Components ili9325 | V1.2.2 | BSD-3-Clause | release notes
  BSP Components cs43l22 | V1.1.0 | BSD-3-Clause | release notes
  BSP Components ak4343 | V1.0.0 | BSD-3-Clause | release notes
  BSP Components lis302dl | V1.0.2 | BSD-3-Clause | release notes
  BSP Components st7735 | V1.1.1 | BSD-3-Clause | release notes
  BSP Adafruit_Shield | V1.1.1 | BSD-3-Clause | release notes

  Middlewares
  Name | Version | Licence | Release note
  --- | --- | --- | ---
  STemWin | V5.28 | SLA0044 | release notes
  STM32 USB Device Library | V2.4.1 | SLA0044 | release notes
  STM32 USB Host Library | V3.2.2 | SLA0044 | release notes
  FatFS | R0.11 | BSD-3-Clause | release notes ST modified 20150508 release notes
  FreeRTOS | V8.2.1 | MIT | release notes ST modified 20150327 release notes
  LwIP | V1.4.1 | BSD-3-Clause | release notes ST modified 20161223 release notes

  Utilities
  Name | Version | License | Release note
  --- | --- | --- | ---
  CPU | V1.1.0 | BSD-3-Clause | release notes
  Fonts | V1.0.0 | BSD-3-Clause | release notes
  Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V7.20 + ST-LINK
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
  - Important note: some of MDK-ARM projects were created with previous version like v4.73. If you are using MDK-ARM v5.10 (and later) you have to install a legacy patch to be able to open projects built with v4.73, here is the download link
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK
- System Workbench for STM32 (SW4STM32) toolchain V1.2.0 + ST-LINK

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.1.0 / 05-June-2015

# Maintenance release

## Main Changes

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

- HAL

- No changes

- Middlewares

- No changes

- BSP

- No changes

- Projects

- Add projects for SW4STM32 toolchain

## Contents

Drivers
Name | Version | Licence | Release note
--- | --- | --- | ---
Cortex-M CMSIS | V4.2.0 | BSD-3-Clause | release notes
STM32F1xx CMSIS | V4.0.0 | BSD-3-Clause | release notes
STM32F1xx HAL | V1.0.0 | BSD-3-Clause | release notes
BSP STM3210E_EVAL | V6.0.0 | BSD-3-Clause | release notes
BSP STM3210C_EVAL | V6.0.0 | BSD-3-Clause | release notes
BSP STM32VL-Discovery | V1.0.0 | BSD-3-Clause | release notes
BSP STM32F1xx_Nucleo | V1.0.1 | BSD-3-Clause | release notes
BSP Components Common | V2.0.0 | BSD-3-Clause | release notes
BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
BSP Components ili9325 | V1.2.2 | BSD-3-Clause | release notes
BSP Components cs43l22 | V1.1.0 | BSD-3-Clause | release notes
BSP Components ak4343 | V1.0.0 | BSD-3-Clause | release notes
BSP Components lis302dl | V1.0.2 | BSD-3-Clause | release notes
BSP Components st7735 | V1.1.1 | BSD-3-Clause | release notes
BSP Adafruit_Shield | V1.1.1 | BSD-3-Clause | release notes

Middlewares
Name | Version | Licence | Release note
--- | --- | --- | ---
STemWin | V5.26 | SLA0044 | release notes
STM32 USB Device Library | V2.3.0 | SLA0044 | release notes
STM32 USB Host Library | V3.2.0 | SLA0044 | release notes
FatFS | R0.10b | BSD-3-Clause | release notes ST modified 20141204 release notes
FreeRTOS | V8.1.2 | MIT | release notes ST modified 20150327 release notes
LwIP | V1.4.1 | BSD-3-Clause | release notes ST modified 20140619 release notes

Utilities
Name | Version | License | Release note
--- | --- | --- | ---
CPU | V1.1.0 | BSD-3-Clause | release notes
Fonts | V1.0.0 | BSD-3-Clause | release notes
Log | V1.0.1 | BSD-3-Clause | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.0.0 / 17-December-2014

# Maintenance release

## Main Changes

- First official release of STM32CubeF1 (STM32Cube for STM32F1 Series)

## Contents

Drivers
Name | Version | Licence | Release note
--- | --- | --- | ---
Cortex-M CMSIS | V4.2.0 | BSD-3-Clause | release notes
STM32F1xx CMSIS | V4.0.0 | BSD-3-Clause | release notes
STM32F1xx HAL | V1.0.0 | BSD-3-Clause | release notes
BSP STM3210E_EVAL | V6.0.0 | BSD-3-Clause | release notes
BSP STM3210C_EVAL | V6.0.0 | BSD-3-Clause | release notes
BSP STM32VL-Discovery | V1.0.0 | BSD-3-Clause | release notes
BSP STM32F1xx_Nucleo | V1.0.1 | BSD-3-Clause | release notes
BSP Components Common | V2.0.0 | BSD-3-Clause | release notes
BSP Components stmpe811 | V2.0.0 | BSD-3-Clause | release notes
BSP Components spfd5408 | V1.1.1 | BSD-3-Clause | release notes
BSP Components hx8347d | V1.1.1 | BSD-3-Clause | release notes
BSP Components ili9320 | V1.2.2 | BSD-3-Clause | release notes
BSP Components stlm75 | V1.0.1 | BSD-3-Clause | release notes
BSP Components ili9325 | V1.2.2 | BSD-3-Clause | release notes
BSP Components cs43l22 | V1.1.0 | BSD-3-Clause | release notes
BSP Components ak4343 | V1.0.0 | BSD-3-Clause | release notes
BSP Components lis302dl | V1.0.2 | BSD-3-Clause | release notes
BSP Components st7735 | V1.1.1 | BSD-3-Clause | release notes
BSP Adafruit_Shield | V1.1.1 | BSD-3-Clause | release notes

Middlewares
Name | Version | Licence | Release note
--- | --- | --- | ---
STemWin | V5.26 | SLA0044 | release notes
STM32 USB Device Library | V2.3.0 | SLA0044 | release notes
STM32 USB Host Library | V3.2.0 | SLA0044 | release notes
FatFS | R0.10b | BSD-3-Clause | release notes ST modified 20141204 release notes
FreeRTOS | V8.1.2 | MIT | release notes ST modified 20150327 release notes
LwIP | V1.4.1 | BSD-3-Clause | release notes ST modified 20140619 release notes

Utilities
Name | Version | License | Release note
--- | --- | --- | ---
CPU | V1.1.0 | BSD-3-Clause | release notes
Fonts | V1.0.0 | BSD-3-Clause | release notes
Log | V1.0.1 | BSD-3-Clause | release notes

STM32Cube_FW_F1 Projects
Board | Examples | Applications | Demonstrations
--- | --- | --- | ---
STM3210E-EVAL | 30 | 8 | N/A
STM3210C-EVAL | 17 | 19 | N/A
STM32VL-Discovery | 16 | N/A | N/A
NUCLEO-F103RB | 24 | 3 | 1

## Known Limitations

- None

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F1xx Value, Access, USB, Performance, OTG & Ethernet Lines
- STM3210E-Eval board RevD
- STM3210C-Eval board RevC
- STM32VL-Discovery board RevC
- STM32F1xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None