# Release Notes for STM32CubeF4 Firmware Package

Copyright © 2017 STMicroelectronics

# Purpose

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

STM32Cube Version 1.x includes:

- The 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 STM32CubeF4 for STM32F4 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 STM32F405/415/407/417/427/437/429/439/401xC/401xE/ 411xC/411xE/412x/413/423/446/469/479/410xx Lines

- For quick getting started with the STM32CubeF4 firmware package, refer to UM1730 you can download firmware updates and all the latest documentation from www.st.com/stm32cubefw
- Below links to the most useful documents
  - UM1709: STM32Cube Ethernet IAP example
  - UM1713: Developing applications on STM32Cube with LwIP TCP/IP stack
  - UM1720: STM32Cube USB host library
  - UM1721: Developing Applications on STM32Cube with FatFs
  - UM1722: Developing Applications on STM32Cube with RTOS
  - UM1723: STM32CubeF4 PolarSSL example
  - UM1725: Description of STM32F4xx HAL drivers
  - UM1730: Getting started with STM32CubeF4 firmware package for STM32F4xx series
  - UM1734: STM32Cube USB device library
  - UM1743: STM32CubeF4 demonstration platform

# Update History

V1.27.1 / 24-June-2021

# Maintenance release

## Main Changes

- Patch release of STM32CubeF4 Firmware Package.

- HAL
  - ETH_HAL
    - Remove useless assert_param(IS_ETH_MAC_ADDRESS0123(MacAddr)) from static function ETH_MACAddressConfig().
    - Replace hard coded Rx buffer size (1000U) by macro ETH_RX_BUF_SIZE.
    - Correct bit positions when getting MAC and DMA configurations and replace ‘UnicastSlowProtocolPacketDetect’ by ‘UnicastPausePacketDetect’ in the MAC default configuration structure.
    - Ensure a delay of 4 TX_CLK/RX_CLK cycles between two successive write operations to the same register.
    - Disable DMA transmission in both HAL_ETH_Stop_IT() and HAL_ETH_Stop() APIs.

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.8.1 | release notes

V1.27.0 / 11-February-2022

# Maintenance release

## Main Changes

- General updates to fix known defects and implementation enhancements.
- All source files: update disclaimer to add reference to the new license agreement.
- The following changes done on the HAL drivers require an update of the application code based on older HAL versions
  - Rework of HAL Ethernet driver to resolve problems and improve performance.(compatibility break)
  - A new HAL Ethernet driver has been redesigned with new APIs, to bypass limitations with previous HAL Ethernet driver version.
  - The new HAL Ethernet driver is the recommended version. It is located as usual in Drivers/STM32F4xx_HAL_Driver/Src and Drivers/STM32F4xx_HAL_Driver/Inc folders.
    - It can be enabled through switch HAL_ETH_MODULE_ENABLED in stm32f4xx_hal_conf.h
  - The legacy HAL Ethernet driver is also present in the release in Drivers/STM32F4xx_HAL_Driver/Src/Legacy and Drivers/STM32F4xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons.
    - Its usage is not recommended as deprecated. It can however be enabled through switch HAL_ETH_LEGACY_MODULE_ENABLED in stm32f4xx_hal_conf.h
- Upgrade USB Device Lib to use V2.10.0.

- Upgrade USB Host Lib to use V3.4.0.

- CMSIS
  - General updates to fix known defects and implementation enhancements.
  - All source files: update disclaimer to add reference to the new license agreement.
  - Correct Ethernet bits definitions to be in line with naming used in the STM32F4 reference manual documents.
- HAL
  - General updates to fix known defects and enhancements implementation.
  - All source files: update disclaimer to add reference to the new license agreement.
  - HAL ETH update
    - Entire receive process reworked.
    - Resolve the problem of received data corruption.
    - Implement transmission in interrupt mode.
    - Handle one interrupt for multiple transmitted packets.
    - Implement APIs to handle PTP feature.
    - Implement APIs to handle Timestamp feature.
    - Add support of receive buffer unavailable.
    - Update HAL_ETH_IRQHandler() to handle receive buffer unavailable.
  - HAL SMBUS update
    - Update to fix issue of mismatched data received by master in case of data size to be transmitted by the slave is greater than the data size to be received by the master.
      - Add flush on TX register.
  - HAL TIM update
    - __LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.
  - **HAL LPTIM update
    - Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()
  - HAL UART update
    - Add const qualifier for read only pointers.
    - Improve header description of UART_WaitOnFlagUntilTimeout() function.
    - Add a check on the UART parity before enabling the parity error interruption.
    - Fix typo in UART_IT_TXE bit description.
  - HAL IRDA update
    - Improve header description of IRDA_WaitOnFlagUntilTimeout() function.
    - Add a check on the IRDA parity before enabling the parity error interrupt.
    - Add const qualifier for read only pointers.
  - HAL SMARTCARD update
    - Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function
    - Add const qualifier for read only pointers.
  - HAL NOR update
    - Apply adequate commands according to the command set field value
    - command set 1 for Micron JS28F512P33
    - command set 2 for Micron M29W128G and Cypress S29GL128P
    - Add new command operations:
      - NOR_CMD_READ_ARRAY
      - NOR_CMD_WORD_PROGRAM
      - NOR_CMD_BUFFERED_PROGRAM
      - NOR_CMD_CONFIRM
      - NOR_CMD_BLOCK_ERASE
      - NOR_CMD_BLOCK_UNLOCK
      - NOR_CMD_READ_STATUS_REG
      - NOR_CMD_CLEAR_STATUS_REG
    - Update some APIs in order to be compliant for memories with different command set, the updated APIs are:
      - HAL_NOR_Init()
      - HAL_NOR_Read_ID()
      - HAL_NOR_ReturnToReadMode()
      - HAL_NOR_Read()
      - HAL_NOR_Program()
      - HAL_NOR_ReadBuffer()
      - HAL_NOR_ProgramBuffer()
      - HAL_NOR_Erase_Block()
      - HAL_NOR_Erase_Chip()
      - HAL_NOR_GetStatus()
    - Align HAL_NOR_Init() API with core of the function when write operation is disabled to avoid HardFault.
  - HAL SDMMC update
    - Take into account the voltage range in the CMD1 command.
    - Add new LL function to have correct response for MMC driver.
    - Update the driver to have all fields correctly initialized.
    - Add an internal variable to manage the power class and call it before to update speed of bus width.
    - Add new API to get the value of the Extended CSD register and populate the ExtCSD field of the MMC handle.
    - In HAL_MMC_InitCard(), call to SDIO_PowerState_ON() moved after __HAL_MMC_ENABLE() to ensure MMC clock is enabled before the call to HAL_Delay() from within SDIO_PowerState_ON().
  - HAL DMA update
    - Manage the case of an invalid value of CallbackID passed to the HAL_DMA_RegisterCallback() API.
  - HAL LTDC update
    - Update HAL_LTDC_DeInit() to fix MCU Hang up during LCD turn OFF.
  - HAL I2C update
    - Update to fix issue detected due to low system frequency execution (HSI).
    - Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA
    - Update HAL I2C Master Receive IT process to safe manage data N= 2 and N= 3.
      - Disable RxNE interrupt if nothing to do.
  - HAL USART update
    - Improve header description of USART_WaitOnFlagUntilTimeout() function.
    - Add a check on the USART parity before enabling the parity error interrupt.
    - Add const qualifier for read only pointers.
  - HAL/LL ADC update
    - Update LL_ADC_IsActiveFlag_MST_EOCS() API to get the appropriate flag.
    - Better performance by removing multiple volatile reads or writes in interrupt handler.
  - HAL FMPI2C update
    - Update to handle errors in polling mode.
      - Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.
  - HAL EXTI update
    - Update HAL_EXTI_GetConfigLine() API to fix wrong calculation of GPIOSel value.
  - HAL QSPI update
    - Update HAL_QSPI_Abort() and HAL_QSPI_Abort_IT() APIs to check on QSPI BUSY flag status before executing the abort procedure.
  - HAL/LL RTC cleanup
    - Use bits definitions from CMSIS Device header file instead of hard-coded values.
    - Wrap comments to be 80-character long and correct typos.
    - Move constants RTC_IT_TAMP. from hal_rtc.h to hal_rtc_ex.h.
    - Gather all instructions related to exiting the “init” mode into new function RTC_ExitInitMode().
    - Add new macro assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper->Filter, sTamper->Trigger)) to check tamper filtering is disabled in case tamper events are triggered on signal edges.
    - Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:
      - Write in TAFCR register in one single access instead of two.
      - Avoid modifying user structure sTamper.
    - Remove functions LL_RTC_EnablePushPullMode() and LL_RTC_DisablePushPullMode() as related to non-supported features.
    - Remove any reference to non-supported features (e.g., LL_RTC_ISR_TAMP3F).
    - Remove useless conditional defines as corresponding features are supported by all part-numbers (e.g., #if defined(RTC_TAFCR_TAMPPRCH)).
  - HAL USB OTG update
    - Fix USB_FlushRxFifo() and USB_FlushTxFifo() APIs by adding check on AHB master IDLE state before flushing the USB FIFO
    - Fix to avoid resetting host channel direction during channel halt
    - Fix to report correct received amount of data with USB DMA enabled
    - Fix to avoid compiler optimization on count variable used for USB HAL timeout loop check
    - Add missing registered callbacks check for HAL_HCD_HC_NotifyURBChange_Callback()
    - Add new API HAL_PCD_SetTestMode() APIs to handle USB device high speed Test modes
    - Setting SNAK for EPs not required during device reset
    - Update USB IRQ handler to enable EP OUT disable
    - Add support of USB IN/OUT Iso incomplete
    - Fix USB BCD data contact timeout
- Middlewares
  - Upgrade USB Device Lib to use V2.10.0.
  - Upgrade USB Host Lib to use V3.4.0.
- BSP
  - BSP Boards: update disclaimer to add reference to the new license agreement.
  - Support new dp83848 Ethernet PHY component.
  - Support new lan8742 Ethernet PHY component.
  - Support new ft3x67 touch screen component.
- Projects
  - General update to align firmware projects with the new HAL ETH driver

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V5.4.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.8 | release notes
STM32F4xx HAL | V1.8.0 | release notes
BSP STM32469I-EVAL | V2.1.1 | release notes
BSP STM32469I-Discovery | V2.1.1 | release notes
BSP STM32446E-EVAL | V2.1.1 | release notes
BSP STM324xG-EVAL | V3.0.3 | release notes
BSP STM324x9I-EVAL | V3.0.2 | release notes
BSP STM32F4-Discovery | V2.1.4 | release notes
BSP STM32F401-Discovery | V2.2.4 | release notes
BSP STM32F411E-Discovery | V1.0.5 | release notes
BSP STM32F429I-Discovery | V2.1.7 | release notes
BSP STM32F4xx-Nucleo | V1.2.8 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.4 | release notes
BSP STM32412G-Discovery | V2.0.2 | release notes
BSP STM32F413H-Discovery | V1.0.2 | release notes
BSP Adafruit_Shield | V3.0.3 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.1.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.1.0 | release notes
BSP Components ft3x67 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.1.1 | release notes
BSP Components ov5640 | V2.0.0 | release notes
BSP Components i3g4250d | V1.0.0 | release notes
BSP Components lsm303agr | V1.0.1 | release notes
BSP Components nt35510 | V1.0.0 | release notes
BSP Components dp83848 | V1.0.0 | release notes
BSP Components lan8742 | V1.0.1 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.44 | release notes
STM32 PDM audio software decoding Library | V3.3.0 | release notes
STM32 USB Device Library ** | V2.10.0** | release notes
STM32 USB Host Library ** | V3.4.0** | release notes
FatFS | R0.12c | release notes ST modified 20191011 release notes
FreeRTOS | V10.3.1 | release notes ST modified 20200831 release notes
LwIP | V2.1.2 | release notes ST modified V2.1.2_20190315 release notes
MbedTLS | V2.16.2 | release notes ST modified 20200402 release notes
LibJPEG | V8d | release notes ST modified 20190201 release notes
TouchGFX | v4.10.0 | release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstration for STM32F413H-Discovery
  - Issue on audio recorder module with MDK-ARM, to be fixed for next releases.
- SW4STM32 projects are not provided for all EVAL demonstrations.
- Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.31 (“AC-like Warnings” mode).

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.4 + ST-Link.
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31
- System Workbench for STM32 (SW4STM32) (7-2018-q2-update) toolchain v2.9.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevC
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevC
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.26.2 / 16-July-2021

# Maintenance release

## Main Changes

- General updates to fix known defects and enhancements implementation.

- CMSIS updates
  - Add missing definition FLASH_CR_ERRIE to the CMSIS header file.
  - Remove unsupported “GPIOF_BASE” and “GPIOG_BASE” defines from STM32F412Vx device.
  - Add new atomic register access macros in stm32f4xx.h file.
  - Add LSI maximum startup time datasheet value: LSI_STARTUP_TIME.
  - Fix typo in CMSIS STM32F4xx version macro (__STM32F4xx_CMSIS_VERSION).
- HAL updates
  - HAL EXTI update
    - Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.
  - HAL GPIO update
    - Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.
  - HAL DMA update
    - Update HAL_DMA_IRQHandler() API to set the DMA state before unlocking access to the DMA handle.
  - HAL/LL ADC update
    - Update LL_ADC_DeInit() API to clear missing SQR3 register.
    - Update LL_ADC_DMA_GetRegAddr() API to prevent unused argument compilation warning.
    - Update HAL timeout mechanism to avoid false timeout detection in case of preemption.
  - HAL CAN update
    - Update HAL_CAN_Init() API to be aligned with referance manual and to avoid timeout error:
  - HAL/LL RTC_BKP update
    - Update __HAL_RTC_…(__HANDLE__, …) macros to access registers through (__HANDLE__)->Instance pointer and avoid “unused variable” warnings.
    - Correct month management in IS_LL_RTC_MONTH() macro.
  - HAL RNG update
    - Update timeout mechanism to avoid false timeout detection in case of preemption.
  - HAL QSPI update
    - ES0305 workaround disabled for STM32412xx devices.
  - HAL I2C update
    - Update HAL_I2C_Mem_Write_DMA() and HAL_I2C_Mem_Read_DMA() APIs to initialize Devaddress, Memaddress and EventCount parameters.
    - Update to prevent several calls of Start bit:
      - Update I2C_MemoryTransmit_TXE_BTF() API to increment EventCount.
    - Update to avoid I2C interrupt in endless loop:
      - Update HAL_I2C_Master_Transmit_IT(), HAL_I2C_Master_Receive_IT(), HAL_I2C_Master_Transmit_DMA() and HAL_I2C_Master_Receive_DMA() APIs to unlock the I2C peripheral before generating the start.
    - Update to use the right macro to clear I2C ADDR flag inside I2C_Slave_ADDR() API as it’s indicated in the reference manual.
    - Update I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.
    - Update HAL_I2C_EV_IRQHandler() and I2C_MasterTransmit_BTF() APIs to correctly manage memory transfers:
      - Add check on memory mode before calling callbacks procedures.
  - LL USART update
    - Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
  - HAL SMBUS update
    - Updated HAL_SMBUS_ER_IRQHandler() API to return the correct error code “SMBUS_FLAG_PECERR” in case of packet error occurs.
  - HAL/LL SPI update
    - Updated to fix MISRA-C 2012 Rule-13.2.
    - Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.
  - HAL UART update
    - Fix wrong comment related to RX pin configuration within the description section
    - Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback
    - Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
      - Update CAN Initialization sequence to set "request initialization" bit before exit from sleep mode.
  - HAL USB update
    - HAL PCD: add fix transfer complete for IN Interrupt transaction in single buffer mode
    - Race condition in USB PCD control endpoint receive ISR.
- Project updates
  - Examples_I2C
    - Update in HAL_I2C_AddrCallback to manage global uwTransferReadRequested and uwTransferWriteRequested values depends on TransferDirection
  - Demonstrations
    - STM32446E_EVAL
      - Fix touchscreen calibration issue.

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx CMSIS | V2.6.7 | release notes
STM32F4xx HAL | V1.7.13 | release notes

V1.26.1 / 26-March-2021

# Maintenance release

## Main Changes

- Patch release to mainly fix a wrong system clock configuration in some STM32F411/412/413 projects.

- HAL
  - HAL USART Update
    - Fix typo in USART_Receive_IT() and USART_TransmitReceive_IT() APIs to avoid possible compilation issues if the UART driver files are not included.
- Projects
  - Update STM32F411/412/413 projects to set the correct regulator voltage scaling output selection (VOS) depending on the system clock frequency (SYSCLK):
    - Scale 1 mode <= 100 MHz.
    - Scale 2 mode <= 84 MHz.

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.7.12 | release notes

V1.26.0 / 12-February-2021

# Maintenance release

## Main Changes

- General updates to fix known defects and enhancements implementation
- Add new HAL FMPSMBUS extended driver to support FMPSMBUS fast Mode Plus.
- Upgrade FreeRTOS to use V10.3.1 ST modified 20200831.
- Upgrade USB Device Lib to use V2.7.1.
- Upgrade MbedTLS to use V2.16.2
- Upgrade PDM Lib to use V3.3.0
- Remove “register” keyword to be compliant with new C++ rules:
  - The register storage class specifier was deprecated in C++11 and removed in C++17.
- Support of new component LSM303AGR accelerometer.
- Support of new component I34250D gyroscope.
- Support of new LCD controller component NT35510.
- CMSIS
  - system_stm32f4xx.c:
    - Protect Vector table modification following SRAM or FLASH preprocessor directive by a generic preprocessor directive : USER_VECT_TAB_ADDRESS
    - Updated SystemInit_ExtMemCtl() API to initialize the tmpreg variable before each time out loop condition.
  - Add License.md and Readme.md files required for GitHub publication
  - Improve GCC startup files robustness.
  - Fix wrong value for GPIO_MODER_MODE8_Msk and GPIO_MODER_MODE2_Pos.
  - Update max number of host channels in FS for STM32F446:
    - Update USB_OTG_FS_HOST_MAX_CHANNEL_NBR value from 8 to 12.
  - Add SMBDEN and SMBHEN bit definition for STM32F410Tx device.
- HAL
  - HAL update
    - General updates to fix known defects and enhancements implementation.
    - Add new defines for ARM compiler V6:
      - __weak
      - __packed
      - __NOINLINE
    - Update HAL TimeBase TIM, RTC alarm and RTC WakeUp templates for more robustness
      - Updated Hal_Init_Tick() API to propoerty store the priority when using the non-default time base.
    - Update to add PPP_MODULE_ENABLED for FMPSMBUS
  - HAL/LL ADC update
    - Update HAL driver to add include of the LL ADC driver.
    - Update the following APIs to set status HAL_ADC_STATE_ERROR_INTERNAL and error code HAL_ADC_ERROR_INTERNAL when error occurs:
      - HAL_ADC_Start()
      - HAL_ADC_Start_IT()
      - HAL_ADC_Start_DMA()
      - HAL_ADCEx_InjectedStart()
      - HAL_ADCEx_InjectedStart_IT()
      - HAL_ADCEx_MultiModeStart_DMA()
    - Update HAL_ADC_Stop_DMA() API to check if DMA state is Busy before calling HAL_DMA_Abort() API to avoid DMA internal error.
    - Update IS_ADC_CHANNEL to support temperature sensor for:
      - STM32F411xE
      - STM32F413xx
      - STM32F423xx
    - Fix wrong defined values for:
      - LL_ADC_MULTI_REG_DMA_LIMIT_3
      - LL_ADC_MULTI_REG_DMA_UNLMT_3
    - Add __LL_ADC_CALC_VREFANALOG_VOLTAGE() macro to evaluate analog reference voltage.
    - Remove __LL_ADC_CALC_TEMPERATURE() macro for STM32F4x9 devices as the TS_CAL2 is not available.
  - HAL/LL DAC update
    - Add restruction on DAC Channel 2 defines and parametres.
    - HAL_DAC_MSPINIT_CB_ID and HAL_DAC_MSPDEINIT_CB_ID used instead of HAL_DAC_MSP_INIT_CB_ID and HAL_DAC_MSP_DEINIT_CB_ID.
    - Update to support dual mode:
      - Add two new APIs:
        - HAL_DACEx_DualStart()
        - HAL_DACEx_DualStop()
    - Add position bit definition to be used instead of __DAC_MASK_SHIFT macro
      - __DAC_MASK_SHIFT macro has been removed.
    - Update HAL_DAC_Start_DMA() API to return HAL_ERROR when error occurs.
    - Update HAL_DAC_Stop_DMA() API to not return HAL_ERROR when DAC is already disabled.
  - HAL CEC update
    - Update HAL_CEC_IRQHandler() API to avoid appending an extra byte to the end of a message
  - HAL/LL GPIO update
    - Update IS_GPIO_AF() to add missing values for STM32F401xC and STM32F401xE devices:
      - GPIO_AF3_TIM9
      - GPIO_AF3_TIM10
      - GPIO_AF3_TIM11
    - Update LL/HAL GPIO_TogglePin() APIs to allow multi Pin’s toggling.
    - Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.
  - HAL/LL RCC update
    - Update HAL_RCC_OscConfig() API to add missing checks and to don’t return HAL_ERROR if request repeats the current PLL configuration.
    - Update IS_RCC_PLLN_VALUE(VALUE) macro in case of STM32F411xE device in order to be aligned with reference manual.
  - HAL SD update
    - Update function SD_FindSCR() to resolve issue of FIFO blocking when reading.
    - Update read/write functions in DMA mode in order to force the DMA direction, updated functions:
      - HAL_SD_ReadBlocks_DMA()
      - HAL_SD_WriteBlocks_DMA()
    - Add the block size settings in the initialization functions and remove it from read/write transactions to avoid repeated and inefficient reconfiguration, updated functions:
      - HAL_SD_InitCard()
      - HAL_SD_GetCardStatus()
      - HAL_SD_ConfigWideBusOperation()
      - HAL_SD_ReadBlocks()
      - HAL_SD_WriteBlocks()
      - HAL_SD_ReadBlocks_IT()
      - HAL_SD_WriteBlocks_IT()
      - HAL_SD_ReadBlocks_DMA()
      - HAL_SD_WriteBlocks_DMA()
  - HAL MMC update
    - Add the block size settings in the initialization function and remove it from read/write transactions to avoid repeated and inefficient reconfiguration, updated functions:
      - HAL_MMC_InitCard()
      - HAL_MMC_ReadBlocks()
      - HAL_MMC_WriteBlocks()
      - HAL_MMC_ReadBlocks_IT()
      - HAL_MMC_WriteBlocks_IT()
      - HAL_MMC_ReadBlocks_DMA()
      - HAL_MMC_WriteBlocks_DMA()
    - Update read/write functions in DMA mode in order to force the DMA direction, updated functions:
      - HAL_MMC_ReadBlocks_DMA()
      - HAL_MMC_WriteBlocks_DMA()
    - Deploy new functions MMC_ReadExtCSD() and SDMMC_CmdSendEXTCSD () that read and check the sectors number of the device in order to resolve the issue of wrongly reading big memory size
  - HAL NAND update
    - Update functions HAL_NAND_Read_SpareArea_16b() and HAL_NAND_Write_SpareArea_16b() to fix column address calculation issue.
  - LL SDMMC update
    - Update the definition of SDMMC_DATATIMEOUT constant in order to allow the user to redefine it in his proper application.
    - Remove ‘register’ storage class specifier from LL SDMMC driver.
    - Deploy new functions MMC_ReadExtCSD() and SDMMC_CmdSendEXTCSD () that read and check the sectors number of the device in order to resolve the issue of wrongly reading big memory size.
  - HAL SMBUS update
    - Support for Fast Mode Plus to be SMBUS rev 3 compliant.
    - Added HAL_FMPSMBUSEx_EnableFastModePlus() and HAL_FMPSMBUSEx_DisableFastModePlus() APIs to manage Fm+.
    - Update SMBUS_MasterTransmit_BTF() , SMBUS_MasterTransmit_TXE() and SMBUS_MasterReceive_BTF() APIs to allow stop generation when CurrentXferOptions is different from SMBUS_FIRST_FRAME and SMBUS_NEXT_FRAME.
    - Update SMBUS_ITError() API to correct the twice call of HAL_SMBUS_ErrorCallback.
  - HAL SPI update
    - Update HAL_SPI_Init() API
      - To avoid setting the BaudRatePrescaler in case of Slave Motorola Mode.
      - Use the bit-mask for SPI configuration.
    - Update Transmit/Receive processes in half-duplex mode
      - Disable the SPI instance before setting BDIOE bit.
    - Fix wrong timeout management
      - Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled.
  - HAL SPDIFRX update
    - Remove ‘register’ storage class specifier from HAL SPDIFRX driver.
  - HAL I2S update
    - Update I2SEx APIs to correctly support circular transfers
      - Update I2SEx_TxRxDMACplt() API to manage DMA circular mode.
    - Update HAL_I2SEx_TransmitReceive_DMA() API to set hdmatx (transfert callback and half) to NULL.
  - HAL SAI update
    - Update to avoid the incorrect left/right synchronization.
      - Update HAL_SAI_Transmit_DMA() API to follow the sequence described in the reference manual for slave transmitter mode.
    - Update HAL_SAI_Init() API to correct the formula in case of SPDIF is wrong.
  - HAL CRYP update
    - Update HAL_CRYP_SetConfig() and HAL_CRYP_GetConfig() APIs to set/get the continent of KeyIVConfigSkip correctly.
  - HAL EXTI update
    - __EXTI__LINE is now used instead of LINE which is a standard C macro.
  - HAL DCMI
    - Support of HAL callback registration feature for DCMI extended driver.
  - HAL/LL TIM update
    - Update HAL_TIMEx_OnePulseN_Start() and HAL_TIMEx_OnePulseN_Stop() APIs (pooling and IT mode) to take into consideration all OutputChannel parameters.
    - Fix reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.
    - Update LL_TIM_GetCounterMode() API to return the correct counter mode.
  - HAL/LL SMARTCARD update
    - Fix invalid initialization of SMARTCARD configuration by removing FIFO mode configuration as it is not member of SMARTCARD_InitTypeDef Structure.
    - Fix typos in SMARTCARD State definition description
  - HAL/LL IRDA update
    - Fix typos in IRDA State definition description
  - LL USART update
    - Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro.
    - Update USART polling and interruption processes to fix issues related to accesses out of user specified buffer.
  - HAL USB update
    - Enhance HAL HCD driver when USB DMA is enabled:
      - Fix ping and data toggle issue.
      - Rework Channel error report management.
- Middlewares
  - Upgrade USB Device Lib to use V2.7.1.
    - USB Core: Fixe warning issue with Keil due to missing return value of setup API
    - Integration of three new USB device Class drivers:
      - USB CDC ECM Class driver
      - USB CDC RNDIS Microsoft Class driver
      - USB Billboard Class driver
  - Upgrade FreeRTOS to use V10.3.1 ST modified 20200831.
  - Upgrade MbedTLS to use V2.16.2
  - Upgrade PDM Lib to use V3.3.0
- BSP
  - Support new LSM303AGR component accelerometer.
  - Support new I3G4250D componentgyroscope.
  - Support new LCD controller component NT35510.
- Projects
  - Update license for all projects file sources.
  - Add UART example showing use of HAL UART enhanced reception services (ReceptionToIdle) API for STM32446E-Nucleo and STM32F429ZI-Nucleo boards.
  - Template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 (“AC5-like Warnings” mode)
  - Update all FreeRTOS_MPU applications to support FreeRTOS v10.3.1.
  - STM32F411E-Discovery:
    - Update Demo, applications and BSP example to support new component I3G4250D gyroscope.
    - Update Demo, applications and BSP example to support new component LSM303AGR accelerometer.
  - STM32469I-Discovery:
    - Update Demo, applications and examples to support new LCD controller component NT35510.
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V5.4.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.6 | release notes
STM32F4xx HAL | V1.7.11 | release notes
BSP STM32469I-EVAL | V2.1.0 | release notes
BSP STM32469I-Discovery | V2.1.0 | release notes
BSP STM32446E-EVAL | V2.1.0 | release notes
BSP STM324xG-EVAL | V3.0.2 | release notes
BSP STM324x9I-EVAL | V3.0.1 | release notes
BSP STM32F4-Discovery | V2.1.3 | release notes
BSP STM32F401-Discovery | V2.2.3 | release notes
BSP STM32F411E-Discovery | V1.0.4 | release notes
BSP STM32F429I-Discovery | V2.1.6 | release notes
BSP STM32F4xx-Nucleo | V1.2.7 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
BSP STM32412G-Discovery | V2.0.1 | release notes
BSP STM32F413H-Discovery | V1.0.1 | release notes
BSP Adafruit_Shield | V3.0.3 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.1.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.1.0 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.1.1 | release notes
BSP Components ov5640 | V2.0.0 | release notes
BSP Components i3g4250d | V1.0.0 | release notes
BSP Components lsm303agr | V1.0.1 | release notes
BSP Components nt35510 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.44 | release notes
STM32 PDM audio software decoding Library | V3.3.0 | release notes
STM32 USB Device Library | V2.7.1 | release notes
STM32 USB Host Library | V3.3.4 | release notes
FatFS | R0.12c | release notes ST modified 20191011 release notes
FreeRTOS | V10.3.1 | release notes ST modified 20200831 release notes
LwIP | V2.1.2 | release notes ST modified V2.1.2_20190315 release notes
MbedTLS | V2.16.2 | release notes ST modified 20200402 release notes
LibJPEG | V8d | release notes ST modified 20190201 release notes
TouchGFX | v4.10.0 | release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstration for STM32F413H-Discovery
  - Issue on audio recorder module with MDK-ARM, to be fixed for next releases.
- SW4STM32 projects are not provided for all EVAL demonstrations.
- Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.31 (“AC-like Warnings” mode).

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.4 + ST-Link.
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31
- System Workbench for STM32 (SW4STM32) toolchain V2.9.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevC
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevC
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.25.2 / 22-October-2020

# Maintenance release

## Main Changes

- Patch release of STM32CubeF4 Firmware Package.

- HAL

  - HAL/LL I2C driver
    - Update to fix hardfault issue with HAL_I2C_Mem_Write_DMA() API:
      - Abort the right ongoing DMA transfer when memory write access request operation failed: fix typo “hdmarx” replaced by “hdmatx”

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.7.10 | release notes

V1.25.1 / 14-August-2020

# Maintenance release

## Main Changes

- Patch release to fix known defects and enhancements implementation.

- HAL

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

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.7.9 | release notes

V1.25.0 / 12-February-2020

# Maintenance release

## Main Changes

- Add new HAL FMPSMBUS and LL FMPI2C drivers
- General updates to fix known defects and enhancements implementation
- Update HAL CRYP driver to support block by block decryption without reinitializes the IV and KEY for each call.
- Integration of three new USB class drivers, CDC-ECM, CDC-RNDIS for Ethernet communication and Billboard class driver for USB power delivery usage
- Update on USB MSC, CDC, DFU, AUDIO, CustomHID class drivers with bug fixes

- Improve code quality by fixing MisraC-2012 violations

- HAL
  - HAL/LL USB update
    - Add handling USB host babble error interrupt
    - Fix Enabling ULPI interface for platforms that integrates USB HS PHY
    - Fix Host data toggling for IN Iso transfers
    - Ensure to disable USB EP during endpoint deactivation
  - HAL CRYP update
    - Update HAL CRYP driver to support block by block decryption without initializing the IV and KEY at each call.
      - Add new CRYP Handler parameters: “KeyIVConfig” and “SizesSum”
      - Add new CRYP init parameter: “KeyIVConfigSkip”
  - HAL I2S update
    - Update HAL_I2S_DMAStop() API to be more safe
      - Add a check on BSY, TXE and RXNE flags before disabling the I2S
    - Update HAL_I2S_DMAStop() API to fix multi-call transfer issue(to avoid re-initializing the I2S for the next transfer).
      - Add __HAL_I2SEXT_FLUSH_RX_DR() and __HAL_I2S_FLUSH_RX_DR() macros to flush the remaining data inside DR registers.
      - Add new ErrorCode define: HAL_I2S_ERROR_BUSY_LINE_RX
- Middlewares
  - Upgrade to use new version of USB Device V2.6.0
    - Integration of three new USB device Class drivers:
    - USB CDC ECM Class driver
    - USB CDC RNDIS Microsoft Class driver
    - USB Billboard Class driver
  - Upgrade to use new version of USB Host V3.3.4
    - Fix misra-C 2012 high severity violations
  - Upgrade to use new version of LwIP V2.1.2 ST modified V2.1.2_20190315
    - Support TLS via new Application layered TCP Introduction connection API (https, smtps, mqtt over TLS).
    - Improve IPv6 support: support address scopes, support stateless DHCPv6
    - Lots of IPv6 related fixes and improvements
    - lwiperf: implemented iPerf client mode
    - Major bug fixes and improvements
  - Upgrade to use new version of mbedTLS V2.16.2 ST modified V2.16.2_20200117
    - Long Term Support version
    - Update for security issues
    - New features for debug (optional parameter validation)
    - New template for AES Hw crypto
  - Upgrade to use FreeRTOS V10.2.1 ST modified V10.2.1_20191213
  - Upgrade to use Libjpeg V8d ST modified V8d_20190329
  - Upgrade to use new version of PDM Library V3.2.0
  - Upgrade to use FatFs r0.12c ST modified r0.12c_20191011
- BSP
  - General updates to fix known defects and enhancements implementation
  - Upgrade to use Adafruit Shield V3.0.3
  - Update to support new camera sensor ov5640 V2.0.0 on STM32469I-EVAL and STM32446E-EVAL boards.
- Projects
  - USB Applications Impact:
    - Make sure to follow the required changes provided on the device library template files.
    - usbd_conf.c: USB_LL_Transmit() and USBD_LL_PrepareReceive() API argument update
    - usbd_conf.h: make sure to do not keep USBD_memset, USBD_memcpy, USBD_Delay undefined, USBD_malloc should return a void pointer
    - USB CDC: new user interface callback added TransmitCplt(), required changes available in usbd_cdc_if_template.c file
    - USB Audio: Audio_PeriodicTC() args updated, adding pointer to received buffer and data size.
    - USB CustomHID: added new API to restart OUT transfers, USBD_CUSTOM_HID_ReceivePacket() should be called after finishing DATA processing
  - LwIP Applications Impact:
    - Folder src/apps/httpd has been renamed to src/apps/http :ALL projects/applications include this folder are impacted
  - MbedTLS Applications Impact:
    - Update to use new mbedtls_config.h file
    - Add chacha20.c, chachapol.c, nist_kw.c and poly1305.c files in toolchain project source files.
    - Remove dhcp_stop() call in the net_sockets.c

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V5.4.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.5 | release notes
STM32F4xx HAL | V1.7.8 | release notes
BSP STM32469I-EVAL | V2.1.0 | release notes
BSP STM32469I-Discovery | V2.0.1 | release notes
BSP STM32446E-EVAL | V2.1.0 | release notes
BSP STM324xG-EVAL | V3.0.2 | release notes
BSP STM324x9I-EVAL | V3.0.1 | release notes
BSP STM32F4-Discovery | V2.1.3 | release notes
BSP STM32F401-Discovery | V2.2.3 | release notes
BSP STM32F411E-Discovery | V1.0.3 | release notes
BSP STM32F429I-Discovery | V2.1.6 | release notes
BSP STM32F4xx-Nucleo | V1.2.7 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
BSP STM32412G-Discovery | V2.0.1 | release notes
BSP STM32F413H-Discovery | V1.0.1 | release notes
BSP Adafruit_Shield | V3.0.3 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.1.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.1.1 | release notes
BSP Components ov5640 | V2.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.44 | release notes
STM32 PDM audio software decoding Library | V3.2.0 | release notes
STM32 USB Device Library | V2.6.0 | release notes
STM32 USB Host Library | V3.3.4 | release notes
FatFS | R0.12c | release notes ST modified 20190125 release notes
FreeRTOS | V10.2.1 | release notes ST modified 20200117 release notes
LwIP | V2.1.2 | release notes ST modified V2.1.2_20190315 release notes
MbedTLS | V2.16.2 | release notes ST modified 20200117 release notes
LibJPEG | V8d | release notes ST modified 20190201 release notes
TouchGFX | v4.10.0 | release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstration for STM32F413H-Discovery
  - Issue on audio recorder module with MDK-ARM, to be fixed for next releases.
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.24.2 / 06-December-2019

# Maintenance release

## Main Changes

- Patch release to fix known defects and enhancements implementation

- HAL
  - Update GPIO initialization sequence to avoid unwanted pulse on GPIO Pin’s
  - General update to enhance HAL EXTI driver robustness
  - MISRAC-2012 rule R.5.1 (identifiers shall be distinct in the first 31 characters) deployed on HAL HASH diriver
  - Rename the defined MMC card capacity type to be more meaningful
  - Implement SDIO hardware flow control Errata Sheet limitation
  - Fix USART baudrate calculation error for clock higher than 172Mhz
  - Update HAL_I2C_Init() API to force software reset before setting new I2C configuration
  - Update I2C_DMAXferCplt(), I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx and hdmarx parameters in i2c handle aren’t initialized (NULL pointer).
- CMSIS
  - Update stm32f446xx.h file to support HW flow control on UART4 and UART5 instances
  - Update SystemInit() API in system_stm32f4xx.c file to don’t reset RCC registers to its reset values

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
STM32F4xx CMSIS | V2.6.4 | release notes
STM32F4xx HAL | V1.7.7 | release notes

V1.24.1 / 12-April-2019

# Maintenance release

## Main Changes

- Patch release to fix mainly the I2C send break issue with IT processes API’s
- HAL I2C update
  - Fix I2C send break issue in IT processes
    - Add additional check on hi2c->hdmatxand hi2c->hdmarx to avoid the DMA request enable when ITmode is used.
- HAL SPI update
  - Update to implement Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode
- HAL LPTIM update
  - Fix compilation errors withLL_LPTIM_WriteReg() and LL_LPTIM_ReadReg() macros
- HAL SDMMC update
  - Fix preprocessing compilation issue withSDIO STA STBITERR interrupt
- HAL/LL USB update
  - Updated USB_WritePacket(), USB_ReadPacket()APIs to prevent compilation warning with GCC GNU v8.2.0
  - Rework USB_EPStartXfer() API to enable theUSB endpoint before unmasking the TX FiFo empty interrupt in case DMA isn’t used
  - USB HAL_HCD_Init() and HAL_PCD_Init() APIsupdated to avoid enabling USB DMA feature for OTG FS instance, USB DMAfeature is available only on OTG HS Instance
  - Remove duplicated line in hal_hcd.c header file comment section
  - Rework USB HAL driver to use instance PCD_SPEED_xxx, HCD_SPEED_xx speeds instead of OTG register Core speed definition during the instance initialization
  - Software Quality improvement with a fix ofCodeSonar warning on PCD_Port_IRQHandler() and HCD_Port_IRQHandler()interrupt handlers

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.7.6 | release notes

V1.24.0 / 08-February-2019

# Maintenance release

## Main Changes

- HAL
  - General updates to fix known defects and enhancements implementation
  - General updates to fix CodeSonar compilation warnings
  - General updates to fix SW4STM32 compilation errors under Linux
  - General updates to fix the user manual .chm files
  - Add support of HAL callback registration feature
  - Add new HAL EXTI driver
  - Add new HAL SMBUS driver
  - The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    - Rework of HAL CRYP driver (compatibility break)
      - HAL CRYP driver has been redesigned with new API’s, to bypass limitations on data Encryption/Decryption management present with previous HAL CRYP driver version.
      - The new HAL CRYP driver is the recommended version. It is located as usual in Drivers/STM32F4xx_HAL_Driver/Src and Drivers/STM32f4xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CRYP_MODULE_ENABLED in stm32f4xx_hal_conf.h
      - The legacy HAL CRYP driver is no longer supported.
    - Add new AutoReloadPreload field in TIM_Base_InitTypeDef structure to allow the possibilities to enable or disable the TIM Auto Reload Preload.
    - For USB Host application 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()
  - HAL/LL Generic update
    - Add support of HAL callback registration feature
      - The feature disabled by default is available for the following HAL drivers: ADC, CAN, CEC, CRYP, DAC, DCMI, DFSDM, DMA2D, DSI, ETH, HASH, HCD, I2C, FMPI2C, SMBUS, UART, USART, IRDA, SMARTCARD, LPTIM, LTDC, MMC, NAND, NOR, PCCARD, PCD, QSPI, RNG, RTC, SAI, SD, SDRAM, SRAM, SPDIFRX, 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 stm32f4xx_hal_conf.h project configuration file (template file stm32f4xx_hal_conf_template.h available from Drivers/STM32F4xx_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()
    - General updates to fix MISRA 2012 compilation errors
      - Replace HAL_GetUID() API by HAL_GetUIDw0(), HAL_GetUIDw1() and HAL_GetUIDw2()
      - HAL_IS_BIT_SET()/HAL_IS_BIT_CLR() macros implementation update
      - “stdio.h” include updated with “stddef.h”
- CMSIS
  - General updates to fix known defects and enhancements implementation
- Projects
  - Update HAL CRYP examples to be aligned with new HAL CRYP drivers
  - Update HAL I2C examples to be compliant with new I2C API
  - Update DMA FIFO Mode examples to use HAL DMA registers Callback API to register the different DMA transfer Callbacks
  - Update IAP application in order to be able to download binary which is bigger than 256KB
  - Update MbedTLS applications to be compliant with new MbedTLS architecture
  - Update USB HOST projects to be compliant with USB Host Stack V3.3.2:
    - Add the following USB callback in usbh_conf.c user file:
      - HAL_HCD_PortEnabled_Callback()
      - HAL_HCD_PortDisabled_Callback()
  - Update USB Device projects for 401/411/412/413 devices to be compliant with USB Device 2.5.1
    - 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
  - Update StemWin Demonstration on STM324x9I_EVAL to fix link error after overall enhancement in HAL drivers
    - usbd_conf.h: Optimize USB device string descriptor size (USBD_MAX_STR_DESC_SIZ)
  - Update HID_BCD_Standalone application available on STM32F413H-Discovery board to be compliant new HAL PCD driver.
  - Update FreeRTOS MPU applications by adding stream_buffer.c file in project source files to avoid compilation error with MDK-ARM
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V5.4.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.3 | release notes
STM32F4xx HAL | V1.7.5 | release notes
BSP STM32469I-EVAL | V2.0.1 | release notes
BSP STM32469I-Discovery | V2.0.1 | release notes
BSP STM32446E-EVAL | V2.0.1 | release notes
BSP STM324xG-EVAL | V3.0.2 | release notes
BSP STM324x9I-EVAL | V3.0.1 | release notes
BSP STM32F4-Discovery | V2.1.3 | release notes
BSP STM32F401-Discovery | V2.2.3 | release notes
BSP STM32F411E-Discovery | V1.0.3 | release notes
BSP STM32F429I-Discovery | V2.1.6 | release notes
BSP STM32F4xx-Nucleo | V1.2.7 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
BSP STM32412G-Discovery | V2.0.1 | release notes
BSP STM32F413H-Discovery | V1.0.1 | release notes
BSP Adafruit_Shield | V3.0.2 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.1.1 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.44 | release notes
STM32 PDM audio software decoding Library | V3.1.0 | release notes
STM32 USB Device Library | V2.5.1 | release notes
STM32 USB Host Library | V3.3.2 | release notes
FatFS | R0.12c | release notes ST modified 20190125 release notes
FreeRTOS | V10.0.1 | release notes ST modified 20180813 release notes
LwIP | V2.0.3 | release notes ST modified V2.0.3_20180813 release notes
MbedTLS | V2.11.0 | release notes ST modified 20180706 release notes
LibJPEG | V8d | release notes ST modified 20190201 release notes
TouchGFX | v4.10.0 | release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstration for STM32F413H-Discovery
  - Issue on audio recorder module with MDK-ARM, to be fixed for next releases.
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.23.0 / 23-November-2018

# Maintenance release

## Main Changes

- Maintenance release:
  - Update version of STM32CubeF4GettingStarted.pdf file.

V1.22.0 / 26-October-2018

# Maintenance release

## Main Changes

- Thanks to the acquisition of Draupner Graphics A/S, ST is extending the STM32 ecosystem with advanced and easy to use graphic software solution enabling stunning GUI additions to embedded devices. TouchGFX solution is now fully part of STM32CubeF4.

- TouchGFX examples and demonstrations can be accessed directly through the TouchGFX Designer tool. Here you simply create a new project, select the appropriate ST board in the Application Template section and select whatever demonstration or example you want in the UI Template selector. After this you will have a TouchGFX application ready to compile and flash to the selected ST board. More information are available here

- Middleware
  - Add TouchGFX stack
  - Update to use STM32 PDM audio software decoding Library V3.1.0
  - Update to use STemWin V5.44
- Projects
  - Add new STemWin applications and demonstrations and TouchGFX demonstrations for STM32F4x9I_EVAL, STM32F429I-Discovery, STM32F469_EVAL and STM32F469-Discovery platforms.
  - Update applications to refer to the new PDM libraries:
  - This version is not backward compatible with previous V3.0.0 and earlier version, below the list of complete changes requiring updates on User applications:
    - libPDMFilter_CM4_IAR.a updated and renamed to:
      - libPDMFilter_CM4_IAR_wc32.a for EWARM V8.x and later versions.
      - libPDMFilter_CM4_IAR_wc16.a for EWARM V7.80.x and earlier versions.
    - libPDMFilter_CM4_Keil.lib updated and renamed to libPDMFilter_CM4_Keil_wc16.lib for MDK-ARM projects.
    - libPDMFilter_CM4_GCC.a updated and renamed to libPDMFilter_CM4_GCC_wc32 for SW4STM32 projects.

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.2 | release notes
STM32F4xx HAL | V1.7.4 | release notes
BSP STM32469I-EVAL | V2.0.1 | release notes
BSP STM32469I-Discovery | V2.0.1 | release notes
BSP STM32446E-EVAL | V2.0.1 | release notes
BSP STM324xG-EVAL | V3.0.2 | release notes
BSP STM324x9I-EVAL | V3.0.1 | release notes
BSP STM32F4-Discovery | V2.1.3 | release notes
BSP STM32F401-Discovery | V2.2.3 | release notes
BSP STM32F411E-Discovery | V1.0.3 | release notes
BSP STM32F429I-Discovery | V2.1.6 | release notes
BSP STM32F4xx-Nucleo | V1.2.7 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
BSP STM32412G-Discovery | V2.0.1 | release notes
BSP STM32F413H-Discovery | V1.0.1 | release notes
BSP Adafruit_Shield | V3.0.2 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.44 | release notes
STM32 PDM audio software decoding Library | V3.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.12c | release notes ST modified 20171110 release notes
FreeRTOS | V9.0.0 | release notes ST modified 20170721 release notes
LwIP | V2.0.3 | release notes ST modified V2.0.3_20180813 release notes
MbedTLS | V2.6.1 | release notesST modified 20171110 release notes
LibJPEG | V8d | release notes ST modified 20161118 release notes
TouchGFX | v4.10.0 | release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstration for STM32F412ZG-Discovery
  - Media files can t be imported from SD card for video modules, to be fixed for next releases.
- STemWin demonstration for STM32F413H-Discovery
  - Issue on audio recorder module, to be fixed for next releases.
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

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

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.21.0 / 23-February-2018

# Maintenance release

## Main Changes

- General updates to fix known defects and enhancements implementation

- HAL
  - HAL update
    - Update UNUSED() macro implementation to avoid GCC warning
    - The warning is detected when the UNUSED() macro is called from C++ file
    - Update to make RAMFUNC define as generic type instead of HAL_StatusTypdef type.
  - HAL FLASH update
    - Update the prototypes of the following APIs after change on RAMFUNC defines
    - HAL_FLASHEx_StopFlashInterfaceClk()
    - HAL_FLASHEx_StartFlashInterfaceClk()
    - HAL_FLASHEx_EnableFlashSleepMode()
    - HAL_FLASHEx_DisableFlashSleepMode()
  - HAL SAI update
    - Update HAL_SAI_DMAStop() and HAL_SAI_Abort() process to fix the lock/unlock audio issue
- Projects
  - Add new STemWin applications for STM32F4x9I_EVAL, STM32F429I-Discovery, STM32F469_EVAL and STM32F469-Discovery platforms.

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.2 | release notes
STM32F4xx HAL | V1.7.4 | release notes
BSP STM32469I-EVAL | V2.0.1 | release notes
BSP STM32469I-Discovery | V2.0.1 | release notes
BSP STM32446E-EVAL | V2.0.1 | release notes
BSP STM324xG-EVAL | V3.0.2 | release notes
BSP STM324x9I-EVAL | V3.0.1 | release notes
BSP STM32F4-Discovery | V2.1.3 | release notes
BSP STM32F401-Discovery | V2.2.3 | release notes
BSP STM32F411E-Discovery | V1.0.3 | release notes
BSP STM32F429I-Discovery | V2.1.6 | release notes
BSP STM32F4xx-Nucleo | V1.2.7 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
BSP STM32412G-Discovery | V2.0.1 | release notes
BSP STM32F413H-Discovery | V1.0.1 | release notes
BSP Adafruit_Shield | V3.0.2 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.40 | release notes
STM32 PDM audio software decoding Library | V3.0.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.12c | release notes ST modified 20171110 release notes
FreeRTOS | V9.0.0 | release notes ST modified 20170721 release notes
LwIP | V2.0.3 | release notes ST modified V2.0.3_20180813 release notes
MbedTLS | V2.6.1 | release notesST modified 20171110** release notes
LibJPEG | V8d | release notes ST modified 20161118 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstrations for STM32446E_EVAL
  - Touch screen is not working well when LCD calibration isn t correctly done, it s recommended to use a fine pen and enhance precision by pointing in the middle of the circles.
  - Touch screen layer doesn t manage well demo s icons with small size
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.23 + Keil.STM32F4xx_DFP.2.11.0.pack
- System Workbench for STM32 (SW4STM32) toolchain V1.14

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.18.0 / 07-November-2017

# Maintenance release

## Main Changes

- Package Clean-up: remove unwanted project folders

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.2 | release notes
STM32F4xx HAL | V1.7.3 | release notes
BSP STM32469I-EVAL | V2.0.1 | release notes
BSP STM32469I-Discovery | V2.0.1 | release notes
BSP STM32446E-EVAL | V2.0.1 | release notes
BSP STM324xG-EVAL | V3.0.2 | release notes
BSP STM324x9I-EVAL | V3.0.1 | release notes
BSP STM32F4-Discovery | V2.1.3 | release notes
BSP STM32F401-Discovery | V2.2.3 | release notes
BSP STM32F411E-Discovery | V1.0.3 | release notes
BSP STM32F429I-Discovery | V2.1.6 | release notes
BSP STM32F4xx-Nucleo | V1.2.7 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
BSP STM32412G-Discovery | V2.0.1 | release notes
BSP STM32F413H-Discovery | V1.0.1 | release notes
BSP Adafruit_Shield | V3.0.2 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.40 | release notes
STM32 PDM audio software decoding Library | V3.0.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.12c | release notes **ST modified 20170705 release notes
FreeRTOS | V9.0.0 | release notes ST modified 20170721 release notes
LwIP | V2.0.0 | release notes
MbedTLS | V2.4.0 | release notesST modified 20161116 release notes
LibJPEG | V8d | release notes ST modified 20161118 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstrations for STM32446E_EVAL
  - Touch screen is not working well when LCD calibration isn t correctly done, it s recommended to use a fine pen and enhance precision by pointing in the middle of the circles.
  - Touch screen layer doesn t manage well demo s icons with small size
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.23 + Keil.STM32F4xx_DFP.2.11.0.pack
- System Workbench for STM32 (SW4STM32) toolchain V1.14

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.17.0 / 06-October-2017

# Maintenance release

## Main Changes

- General updates to be compliant with Linux platforms
- General update to fix known defects and several implementations enhancement
- Remove support of TrueSTUDIO tool chain
- Remove Date and version from all header files
- Add FreeRTOS MPU applications
- Update folders architecture of all applications and demos using FatFS.
- FatFS 0.12c isn t API compatible with the 0.11x. the steps below should be followed to port any application to the new FatFS
  - copy the file Middlewares/Third_Party/FatFs/src/ffconf_template.h under the Application directory and rename it to ffconf.h
  - adjust the newly copied ffconf.h file to enable the required options
  - the _CODE_PAGE values has been updated, make sure to use valid values
  - the exfat is now supported in FatFs, it can be enabled using the _FS_EXFAT option
  - the long file name option patent has expired, it can be freely used via the option _USE_LFN
  - the FatFs lowlevel drivers are now provided as templates under Middlewares/Third_Party/FatFs/src/drivers
  - Copy the drivers templates to the application.
  - edit them if needed to add the suitable header files.
  - add the .c files in the project file list
  - if the application is using the f_mkfs() API, make sure to follow the new API signature.
- PDM v3.0.0 break the compatible with previous version and may require an update on the application code
  - The PDM library path is moved into ..PDMfolder
  - The pdm_filter.h is renamed to pdm2pcm_alg.h and moved into..folder
  - PDM_Filter_Init() API is splited to PDM_Filter_Init() and PDM_Filter_setConfig() APIs that can be accessible through PDM_FilterHandler and PDM_FilterConfig structures.
  - PDM_Filter_64_MSB(), PDM_Filter_80_MSB(), PDM_Filter_128_MSB(), PDM_Filter_64_LSB(), PDM_Filter_80_LSB() or PDM_Filter_128_LSB() APIs are to be replaced by only PDM_Filter() API.
- HAL
  - General updates to fix known defects and enhancements implementation
  - Fix extra compilation warning with GCC compiler
  - Remove Date and version from header files
  - Update HAL drivers to refer to the new CMSIS bit position defines instead of usage the POSITION_VAL() macro
- CMSIS
  - General update to fix known defects and several implementations enhancement
- BSP
  - General updates to fix known defects and enhancements implementation
  - General update to support PDM 3.0.0
- Projects
  - Update projects to support new FatFs and STemWin versions
  - Add new FreeRTOS MPU application
  - Fix Linux compilation errors
- Middleware
  - Update to use FreeRTOS V9.0.0 ST modified 20170721
  - Update to use STemWin V5.40 ST modified 20170804
  - Update to use FatFS R0.12c ST modified 20170705
  - Update to use PDM 3.0.0
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.2 | release notes
STM32F4xx HAL | V1.7.2 | release notes
**BSP STM32469I-EVAL | V2.0.1 | release notes
**BSP STM32469I-Discovery | V2.0.1 | release notes
**BSP STM32446E-EVAL | V2.0.1 | release notes
**BSP STM324xG-EVAL | V3.0.2 | release notes
**BSP STM324x9I-EVAL | V3.0.1 | release notes
**BSP STM32F4-Discovery | V2.1.3 | release notes
**BSP STM32F401-Discovery | V2.2.3 | release notes
**BSP STM32F411E-Discovery | V1.0.3 | release notes
**BSP STM32F429I-Discovery | V2.1.6 | release notes
**BSP STM32F4xx-Nucleo | V1.2.7 | release notes
**BSP STM32F4xx-Nucleo 144 | V1.0.3 | release notes
**BSP STM32412G-Discovery | V2.0.1 | release notes
**BSP STM32F413H-Discovery | V1.0.1 | release notes
**BSP Adafruit_Shield | V3.0.2 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.40 | release notes
STM32 PDM audio software decoding Library | V3.0.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.12c | release notes ST modified 20171110 release notes
**FreeRTOS | V9.0.0 | release notes ST modified 20170721 release notes
LwIP | V2.0.3 | release notes ST modified V2.0.3_20180813 release notes
MbedTLS | V2.6.1 | release notes ST modified 20171110 release notes
LibJPEG | V8d | release notes ST modified 20161118 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STemWin demonstrations for STM32446E_EVAL
  - Touch screen is not working well when LCD calibration isn t correctly done, it s recommended to use a fine pen and enhance precision by pointing in the middle of the circles.
  - Touch screen layer doesn t manage well demo s icons with small size
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.23 + Keil.STM32F4xx_DFP.2.11.0.pack
- System Workbench for STM32 (SW4STM32) toolchain V1.14

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.16.0 / 14-April-2017

# Maintenance release

## Main Changes

- General update to fix known defects and several implementations enhancement

- HAL
  - Update CHM UserManuals to support LL drivers

  - General updates to fix known defects and enhancements implementation

  - HAL PWR update
    - HAL_PWREx_EnterUnderDriveSTOPMode() API: remove check on UDRDY flag
  - HAL CAN update
    - Add management of overrun error.
    - Allow possibility to receive messages from the 2 RX FIFOs in parallel via interrupt.
    - Fix message lost issue with specific sequence of transmit requests.
    - Handle transmission failure with error callback, when NART is enabled.
    - Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when timeout is reached
  - LL ADC update
    - Fix wrong ADC group injected sequence configuration
    - LL_ADC_INJ_SetSequencerRanks() and LL_ADC_INJ_GetSequencerRanks() API s update to take in consideration the ADC number of conversions
    - Update the defined values for ADC group injected seqencer ranks
- Middleware
  - Upgrade to use FreeRTOS V9.0.0 (ST Modified 20170303).
  - Update CMSIS-RTOS drivers to support both CMSIS Core V4.x and V5.x.

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.1 | release notes
STM32F4xx HAL | V1.7.1 | release notes
BSP STM32469I-EVAL | V2.0.0 | release notes
BSP STM32469I-Discovery | V2.0.0 | release notes
BSP STM32446E-EVAL | V2.0.0 | release notes
BSP STM324xG-EVAL | V3.0.0 | release notes
BSP STM324x9I-EVAL | V3.0.0 | release notes
BSP STM32F4-Discovery | V2.1.2 | release notes
BSP STM32F401-Discovery | V2.2.2 | release notes
BSP STM32F429I-Discovery | V2.1.5 | release notes
BSP STM32F4xx-Nucleo | V1.2.6 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.2 | release notes
BSP STM32412G-Discovery | V2.0.0 | release notes
BSP STM32F413H-Discovery | V1.0.0 | release notes
BSP Adafruit_Shield | V3.0.0 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.32 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V9.0.0 | release notes ST modified 20170303 release notes
LwIP** | V2.0.3 | release notes
MbedTLS | V2.4.0 | release notesST modified 20161116 release notes
LibJPEG | V8d | release notes ST modified 20161118 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO and SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.23 + Keil.STM32F4xx_DFP.2.11.0.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v7.1.2
- System Workbench for STM32 (SW4STM32) toolchain V1.13

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.15.0 / 17-February-2017

# Maintenance release

## Main Changes

- Add the support of the STM32F413H-Discovery board
  - Full set of examples, applications and demonstrations running on STM32F413H-Discovery
- Add Low Layer drivers under Drivers32F4xx_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 STM32F4xx Reference Manuals
    - Low Layer drivers are available for: DC, Cortex, CRC, DAC, DMA, DMA2D, EXTI, GPIO, I2C, IWDG, LPTIM, PWR, RCC, RNG, RTC, SPI, TIM, USART, WWDG peripherals and additionnal Low Level Bus, System and Utilities APIs.
    - Low Layer drivers APIs are implemented as static inline function in new Inc/stm32f4xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f4xx_ll_ppp.h file must be included in user code.
    - Refer to UM1730 for Low Layer presentation and UM1725 for API list

- General update to fix known defects and several implementations enhancement

- HAL
  - Add Low Layer drivers under Drivers32F4xx_HAL_Driver
  - Add new HAL driver for MMC
  - HAL SD drivers overall rework for more efficient implementation
    - Note: this driver rework implied:
      - STM32F4xx Evaluation boards and Discovery boards BSP drivers update
      - FatFS Middleware update
      - All SD applications and examples update
  - HAL NAND driver update to
    - Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
    - Add new HAL_NAND_ConfigDevice API
  - HAL DFSDM driver update
    - Add support of Multichannel Delay feature
      - Add HAL_DFSDM_ConfigMultiChannelDelay() API
      - The following APIs are moved to internal static functions: HAL_DFSDM_ClockIn_SourceSelection(), HAL_DFSDM_ClockOut_SourceSelection(), HAL_DFSDM_DataInX_SourceSelection() (X=0,2,4,6), HAL_DFSDM_BitStreamClkDistribution_Config()
- BSP
  - Add BSP drivers for the STM32F413H-Discovery board
  - Update all BSP drivers to be aligned with the version V1.7.0 of HAL peripheral drivers and escpacially update required by the new HAL SD driver
- Middleware
  - 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.
  - Add the support of mbedTLS V2.4.0
    - Note: Starting from this STM32Cube Firmware release PolarSSL is no more supported
  - Update LibJPEG Library V.8d with a new build to remove all links to FatFS components
    - Note: The updates made on this new build have impact on application based on previous version LibJPEG V8d ST modified 20160923. For details please refer to its Release Note.
- Projects
  - Add Examples, Applications and Demonstrations firmware for STM32F413H-Discovery board
  - Add Low Layer examples and MIX examples on the STM32F410xx-Nucleo, STM32F429ZI-Nucleo and STM32F411REx-Nucleo boards
  - Add new mbedTLS applications to replace PolarSSL middleware applications
  - Update overall projects to be aligned with latest version of HAL, BSP and Middleware drivers

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.1 | release notes
STM32F4xx HAL | V1.7.0 | release notes
BSP STM32469I-EVAL | V2.0.0 | release notes
BSP STM32469I-Discovery | V2.0.0 | release notes
BSP STM32446E-EVAL | V2.0.0 | release notes
BSP STM324xG-EVAL | V3.0.0 | release notes
BSP STM324x9I-EVAL | V3.0.0 | release notes
BSP STM32F4-Discovery | V2.1.2 | release notes
BSP STM32F401-Discovery | V2.2.2 | release notes
BSP STM32F429I-Discovery | V2.1.5 | release notes
BSP STM32F4xx-Nucleo | V1.2.6 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.2 | release notes
BSP STM32412G-Discovery | V2.0.0 | release notes
BSP STM32F413H-Discovery | V1.0.0 | release notes
BSP Adafruit_Shield | V3.0.0 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.3 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.2 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.32 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V9.0.0 | release notes ST modified 20160930 release notes
LwIP | V2.0.0 | release notes
MbedTLS | V2.4.0 | release notes ST modified 20161116 release notes
LibJPEG | V8d | release notes ST modified 20161118 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and SW4STM32 projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- SW4STM32 projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.80.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.22 + Keil.STM32F4xx_DFP.2.11.0.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.5.2
- System Workbench for STM32 (SW4STM32) toolchain V1.13

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB
- STM32F413ZHT6U and STM32F413H-Discovery board RevD

## Backward Compatibility

- None

## Dependencies

- None

V1.14.0 / 04-November-2016

# Maintenance release

## Main Changes

- Official release to add the support of STM32F413xx and STM32F423xx devices

- Fix known defects and several implementation enhancement

- HAL
  - Add the support of STM32F413xx and STM32F423xx devices
  - HAL GPIO update
    - HAL_GPIO_Init()/HAL_GPIO_DeInit() API s: update GPIO_GET_INDEX() macro implementation to support all GPIO s
  - HAL SPI update
    - Fix regression issue: restore HAL_SPI_DMAPause() and HAL_SPI_DMAResume() API s
  - HAL RCC update
    - Fix FSMC macros compilation warnings with STM32F412Rx devices
  - HAL DMA update
    - HAL_DMA_PollFortransfer() API clean up
    - HAL PPP update (PPP refers to IRDA, UART, USART and SMARTCARD)
    - Update HAL_PPP_IRQHandler() to add a check on interrupt source before managing the error
  - HAL QSPI update
    - Implement workaround to fix the limitation pronounced in the Errata sheet 2.1.8 section: In some specific cases, DMA2 data corruption occurs when managing AHB and APB2 peripherals in a concurrent way
- CMSIS
  - Add the support of STM32F413xx and STM32F423xx devices
  - Use _Pos and _Mask macro for all bit definitions
  - Add missing DMA registers definition
  - Add macro to check SMBUS instance support
  - Add AHBPrescTable and APBPrescTable extern declaration in system_stm32f4xx.h file
- BSP
  - Update STM32469I-Discovery and STM32469I-EVAL LCD BSP drivers with proper DSI initialization
- Projects
  - Add 68 projects for STM32F413ZH-Nucleo board
  - General updates to fix known defects and enhancements implementation
  - Update overall projects for alignment with changes done in latest version of CMSIS device

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.6.0 | release notes
STM32F4xx HAL | V1.6.0 | release notes
BSP STM32469I-EVAL | V1.0.4 | release notes
BSP STM32469I-Discovery | V1.0.3 | release notes
BSP STM32446E-EVAL | V1.1.2 | release notes
BSP STM324xG-EVAL | V2.1.2 | release notes
BSP STM324x9I-EVAL | V2.2.3 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.1 | release notes
BSP STM32F429I-Discovery | V2.1.4 | release notes
BSP STM32F4xx-Nucleo | V1.2.5 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.2 | release notes
BSP STM32412G-Discovery | V1.0.0 | release notes
BSP STM32F413H-Discovery | V1.0.0 | release notes
BSP Adafruit_Shield | V2.0.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.32 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO and SW4STM32 projects are not provided for all EVAL and Discovery demonstrations
- STemWin sample demo applications with all STM32 platforms are not fully functional with MDK-ARM toolchain: the application doesn t run successfully after the second hit of the Hide Button. in fact when presing the button again while the progress bar displays the next steps, pressing Hide or Next Buttons are not working anymore.

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.60.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.21a + Keil.STM32F4xx_DFP.2.11.0.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.5.2
- System Workbench for STM32 (SW4STM32) toolchain V1.10

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB

## Backward Compatibility

- None

## Dependencies

- None

V1.13.1 / 22-September-2016

# Maintenance release

## Main Changes

- Patch release to fix issues in I2C/FMPI2C HAL drivers

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.5.2 | release notes

V1.13.0 / 01-July-2016

# Maintenance release

## Main Changes

- Fix known defects and enhancements implementation
- HAL
  - HAL GPIO update
    - HAL_GPIO_Init()/HAL_GPIO_DeInit() APIs: update GPIO_GET_INDEX() macro implementation to support all GPIOs
  - HAL SPI update
    - Fix regression issue: restore HAL_SPI_DMAPause() and HAL_SPI_DMAResume() APIs
  - HAL RCC update
  - Fix FSMC macros compilation warnings with STM32F412Rx devices
  - HAL DMA update
    - HAL_DMA_PollFortransfer() API clean up
  - HAL PPP update (PPP refers to IRDA, UART, USART and SMARTCARD)
    - Update HAL_PPP_IRQHandler() to add a check on interrupt source before managing the error
  - HAL QSPI update
    - Implement workaround to fix the limitation pronounced in the Errata sheet 2.1.8 section: In some specific cases, DMA2 data corruption occurs when managing AHB and APB2 peripherals in a concurrent way
- CMSIS
  - stm32f412rx.h, stm32f412vx.h and stm32f412zx.h files:
    - Add new QSPI1_V2_1L define to manage the QSPI DMA2 limitation
- Middlewares
  - Update the STemWin library to 5.32 version
- Projects
  - General updates to fix known defects and enhancements implementation
  - Update applications and demonstrations related to STemWin library in order to support the latest STemWin version
  - Add new demonstration for STM32F412G-Discovery
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.5.1 | release notes
STM32F4xx HAL | V1.5.1 | release notes
BSP STM32469I-EVAL | V1.0.3 | release notes
BSP STM32469I-Discovery | V1.0.2 | release notes
BSP STM32446E-EVAL | V1.1.2 | release notes
BSP STM324xG-EVAL | V2.1.2 | release notes
BSP STM324x9I-EVAL | V2.2.3 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.1 | release notes
BSP STM32F429I-Discovery | V2.1.4 | release notes
BSP STM32F4xx-Nucleo | V1.2.5 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.2 | release notes
BSP STM32412G-Discovery | V1.0.0 | release notes
BSP STM32F413H-Discovery | V1.0.0 | release notes
BSP Adafruit_Shield | V2.0.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.32 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
- MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO and SW4STM32 projects are not provided for all EVAL and Discovery demonstrations
- STemWin sample demo applications with all STM32 platforms are not fully functional with MDK-ARM toolchain: the application doesn t run successfully after the second hit of the Hide Button. in fact when presing the button again while the progress bar displays the next steps, pressing Hide or Next Buttons are not working anymore.

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.60.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.20 + Keil.STM32F4xx_DFP.2.6.1.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.5.2
- System Workbench for STM32 (SW4STM32) toolchain V1.9

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevD
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB
- STM32F413ZHT6U and STM32F413ZH-Nucleo board RevB

## Backward Compatibility

- None

## Dependencies

- None

V1.12.0 / 01-July-2016

# Maintenance release

## Main Changes

- Official release to add the support of STM32F412cx, STM32F412rx, STM32F412vx and STM32F412zx devices

- Fix known defects and several implementation enhancement

- HAL
  - Add the support of STM32F412cx, STM32F412rx, STM32F412vx and STM32F412zx devices
  - Add new drivers for DFSDM peripheral
  - Enhance HAL delay and Timebase implementation by means of RTC Alarm or RTC Wakeup usage
  - Almost HAL drivers implementation enhancement requiring update on user application code based on HAL V1.5.0
    - Add peripheral error management during DMA process for HAL UART, USART, IRDA, SMARTCARD, SPI, I2C, QSPI drivers
    - Update HAL I2C driver to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the peripheral end of transfer interrupt in the DMA transfer process
    - Overall HAL CEC, IWDG and WWDG drivers rework
    - Enhance the DMA transmit process by using peripheral TC interrupt instead of waiting on TC flag under DMA ISR for HAL QSPI driver
- Middlewares
  - Update to FreeRTOS V8.2.3
  - Update to new build of LwIP V1.4.1 ST modified 20160211
    - Note: Updated architecture having impact on application based on previous version LwIP V1.4.1 ST modified 20140619
- BSP
  - Add new BSP driver for STM32412G-Discovery board
  - Align BSP drivers with the HAL V1.5.0
- Projects
  - General updates to fix known defects and enhancements implementation
  - Add QSPI_PreInitConfig example on STM32446E-EVAL, STM32469I-EVAL and STM32469I-Discovery boards
  - Add HAL_TimeBase RTC examples on all the supported boards
  - Add 130 projects for STM32412G-Discovery and STM32F412ZG-Nucleo boards
  - Projects are updated following changes in latest version of HAL and Middlewares

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
**Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.5.0 | release notes
STM32F4xx HAL | V1.5.0 | release notes
BSP STM32469I-EVAL | V1.0.3 | release notes
BSP STM32469I-Discovery | V1.0.2 | release notes
BSP STM32446E-EVAL | V1.1.2 | release notes
BSP STM324xG-EVAL | V2.1.2 | release notes
BSP STM324x9I-EVAL | V2.2.3 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.1 | release notes
BSP STM32F429I-Discovery | V2.1.4 | release notes
BSP STM32F4xx-Nucleo | V1.2.5 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.2 | release notes
BSP STM32412G-Discovery | V1.0.0 | release notes
BSP STM32F413H-Discovery | V1.0.0 | release notes
BSP Adafruit_Shield | V2.0.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.3 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.32 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
- MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO projects are not provided for all EVAL and Discovery demonstrations
- The STM32F412G-Discovery demonstration firmware is not part of this firmware package. It will be added in the next release.

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.60.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.17 + Keil.STM32F4xx_DFP.2.6.1.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.3.1
- System Workbench for STM32 (SW4STM32) toolchain V1.6

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F412ZG and STM32F412ZG-Discovery board RevC
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB
- STM32F412ZG and STM32F412ZG-Nucleo board RevB

## Backward Compatibility

- None

## Dependencies

- None

V1.11.0 / 29-January-2016

# Maintenance release

## Main Changes

- Fix known defects and enhancements implementation
- HAL
  - General updates to fix known defects and enhancements implementation
  - stm32f4xx_hal_conf_template.h
  - Optimize HSE Startup Timeout value from 5000ms to 100 ms
  - Add new define LSE_STARTUP_TIMEOUT
  - Add new define USE_SPI_CRC for code cleanup when the CRC calculation is disabled.
  - Update HAL drivers to support MISRA C 2004 rule 10.6
  - Add new template driver to configure timebase using TIMER :
  - stm32f4xx_hal_timebase_tim_template.c
- CMSIS
  - General updates to fix known defects and enhancements implementation
- Middlewares
  - Updated USB Device V2.4.2: Fix known defects and enhancement implementation
- BSP
  - General updates to fix known defects and enhancements implementation
  - Add *.chm user manual for all the supported board (Nucleo, Discovery and EVAL)
- Projects
  - General updates to fix known defects and enhancements implementation
  - Update HAL_TimeBase example to use the new HAL timebase template
  - Add I2C_TwoBoards_RestartAdvComIT and I2C_TwoBoards_RestartComIT Examples on all the supported Discovery boards
  - The FreeRTOS_LowPower application is removed comparing to STM32CubeF4 firmware package V1.10.0: this application will be reworked and will be supported in future release.
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
**Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.4.3 | release notes
STM32F4xx HAL | V1.4.4 | release notes
BSP STM32469I-EVAL | V1.0.2 | release notes
BSP STM32469I-Discovery | V1.0.2 | release notes
BSP STM32446E-EVAL** | V1.1.1 | release notes
BSP STM324xG-EVAL** | V2.1.1 | release notes
BSP STM324x9I-EVAL** | V2.2.2 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.0 | release notes
BSP STM32F429I-Discovery | V2.1.3 | release notes
BSP STM32F4xx-Nucleo | V1.2.4 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.1 | release notes
BSP STM32412G-Discovery | V1.0.0 | release notes
BSP STM32F413H-Discovery | V1.0.0 | release notes
BSP Adafruit_Shield | V2.0.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.28 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.50.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.17 + Keil.STM32F4xx_DFP.2.6.1.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.3.1
- System Workbench for STM32 (SW4STM32) toolchain V1.6

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB

## Backward Compatibility

- None

## Dependencies

- None

V1.10.1 / 11-December-2015

# Maintenance release

## Main Changes

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

## Contents

Name | Version | Release note
--- | --- | ---
STM32F4xx HAL | V1.4.3 | release notes

V1.10.0 / 13-November-2015

# Maintenance release

## Main Changes

- Support new boards: STM32F411E-Discovery, STM32F446ZE NUCLEO144 and STM32F429ZI NUCLEO144

- Fix known defects and enhancements implementation

- HAL
  - General updates to fix known defects and enhancements implementation
  - One change done on the HAL CRYP requires an update on the application code based on HAL V1.4.1
    - Update HAL_CRYP_DESECB_Decrypt() API to invert pPlainData and pCypherData parameters
- CMSIS
  - General updates to fix known defects and enhancements implementation
  - system_stm32f4xx.c file
  - update SystemInit_ExtMemCtl() function implementation to allow the possibility of simultaneous use of DATA_IN_ExtSRAM and DATA_IN_ExtSDRAM
- BSP
  - Add new BPS drivers for STM32411E-Discovery and STM32F4xx_Nucleo_144 boards
- Utilities
  - Use latest version of STM32CubeUpdater V4.10.0
- Projects
  - General updates to fix known defects and enhancements implementation
  - Add EEPROM emulation application on all supported boards
  - Add IAP application on the supported Evaluation boards
  - Add 92 projects for STM32F411E-Discovery, STM32F446ZE NUCLEO144 and STM32F429ZI NUCLEO144 boards
  - Remove reference to TASKING toolchain

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
**Cortex-M CMSIS | V4.5.0_CM4 | release notes
STM32F4xx CMSIS | V2.4.2 | release notes
STM32F4xx HAL | V1.4.2 | release notes
BSP STM32469I-EVAL | V1.0.2 | release notes
BSP STM32469I-Discovery | V1.0.2 | release notes
BSP STM32446E-EVAL** | V1.1.1 | release notes
BSP STM324xG-EVAL** | V2.1.1 | release notes
BSP STM324x9I-EVAL** | V2.2.2 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.0 | release notes
BSP STM32F429I-Discovery | V2.1.3 | release notes
BSP STM32F4xx-Nucleo | V1.2.4 | release notes
BSP STM32F4xx-Nucleo 144 | V1.0.0 | release notes
BSP Adafruit_Shield | V2.0.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.28 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.40.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.14 + Keil.STM32F4xx_DFP.2.6.0.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.4

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F411xE and STM32F411E-Discovery board RevB
- STM32F446ZE and STM32F446ZE-Nucleo board RevB
- STM32F429ZI and STM32F429ZI-Nucleo board RevB

## Backward Compatibility

- None

## Dependencies

- None

V1.9.0 / 09-October-2015

# Maintenance release

## Main Changes

- Maintenance release to fix known defects and enhancements implementation
- HAL
  - DSI
    - Update TCCR and WPCR registers configuration
    - Update DSI_HS_PM_ENABLE define value
    - Implement workaround for the hardware limitation: The time to activate the clock between HS transmissions is not calculated correctly
- CMSIS
  - stm32f469xx.h and stm32f479xx.h files
  - Update bits definition for DSI WPCR and TCCR registers
- BSP
  - Update STM32469I_EVAL and STM32469I-Discovery BSP drivers to fix known defects
  - Update STM324x9I_EVAL BSP drivers to rework LCD initialization, in order to ensure refresh rate of 60Hz
- - Update SW4STM32 projects
    - Fix in accordance with latest version of SW4STM32 toolchain
  - STM32469I_EVAL and STM32469I_Discovery
    - Update all Examples and Applications using the DSI in command mode, to configure LTDC pixel clock at 41.7 MHz when using 24bpp image format.
    - Demonstration: Miscellaneous enhancements and bugs fix
  - STM324x9I_EVAL
    - Enhancements on LTDC_Paint, LTDC_PicturesFromSDCard and LTDC_AnimatedPictureFromSDCard Applications
    - Enhancements on STemWin applications
    - Update BSP example to increase delay after BSP_TS_GetState(State), in order to return reliable TS state
    - Note: Demonstration Firmware for STM32469I_EVAL and STM32469I-Discovery, provided within this package, doesn t embed TouchGFX demonstration module. Free evaluation version of the TouchGFX demonstration, based on Draupner Graphics commercial graphic library, is available at www.touchgfx.com/stmicroelectronics
- For the complete list of changes, please refer to the release notes of each firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.3 | release notes
STM32F4xx CMSIS | V2.4.1 | release notes
STM32F4xx HAL | V1.4.1 | release notes
BSP STM32469I-EVAL | V1.0.2 | release notes
BSP STM32469I-Discovery | V1.0.2 | release notes
BSP STM32446E-EVAL** | V1.1.0 | release notes
BSP STM324xG-EVAL** | V2.1.0 | release notes
BSP STM324x9I-EVAL | V2.2.1 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.0 | release notes
BSP STM32F429I-Discovery | V2.1.3 | release notes
BSP STM32F4xx-Nucleo | V1.2.4 | release notes
BSP Adafruit_Shield | V1.1.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.1 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.28 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- TrueSTUDIO projects are not provided for all EVAL and Discovery demonstrations

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.40.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.14 + Keil.STM32F4xx_DFP.2.6.0.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.4

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.8.0 / 14-August-2015

# Maintenance release

## Main Changes

- Official release to support STM32F469xx, STM32F479xx, STM32F410Cx, STM32F410Rx and STM32F410Tx devices

- Fix known defects and several enhancements implementation

- HAL
  - Support of the STM32F469xx / STM32F479xx / STM32F410Cx / STM32F410Rx / STM32F410Tx devices:
    - Add new drivers for DSI and LPTIM peripherals
- Middlewares
  - New USB Host V3.2.2: Fix MSC Get Ready Delay issue
  - Updated STemWin V5.28: Upgrade to use SEGGER emWin version V5.28
  - Updated PolarSSL V1.2.8: Fix some compilation warnings
  - New STM32 PDM audio software decoding Library V2.1.0: enhance volume setting
  - New FreeRTOS V8.2.1
  - Upgrade to FatFS R0.11
    - Note: For application code based on previous FatFs versions: when moving to R0.11, ffconf.h file must be updated, taking ffconf_template.h file as reference.
- BSP
  - Add new BPS drivers for STM32469I_EVAL / STM32469I-Discovery boards
  - Align all other BSP drivers with the V4.0.x of BSP Components Common drivers
- Projects
  - Add Examples, Applications and Demonstration firmware for STM32F469xx/STM32F479xx devices and STM32469I_EVAL/STM32469I-Discovery boards
  - Add Examples for STM32410xx_Nucleo board (14 in total)
  - All projects updated following changes in latest version of HAL and Middlewares
  - Migration of MDK-ARM projects created with v4.73 and v5.10 to v5.14 for STM32F429I-Discovery, STM32F401RE-Nucleo, STM32F411RE-Nucleo, STM324x9I_EVAL, STM324xG_EVAL, STM32F4-Discovery and STM32F401-Discovery projects.
  - Miscellaneous enhancements and bugs fix
  - Note: Demonstration Firmware for STM32469I_EVAL and STM32469I-Discovery, provided within this package, doesn t embed TouchGFX demonstration module. Free evaluation version of the TouchGFX demonstration, based on Draupner Graphics commercial graphic library, is available at www.touchgfx.com/stmicroelectronics

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.3 | release notes
STM32F4xx CMSIS | V2.4.0 | release notes
STM32F4xx HAL | V1.4.0 | release notes
BSP STM32469I-EVAL | V1.0.0 | release notes
BSP STM32469I-Discovery | V1.0.0 | release notes
BSP STM32446E-EVAL | V1.1.0 | release notes
BSP STM324xG-EVAL | V2.1.0 | release notes
BSP STM324x9I-EVAL | V2.2.0 | release notes
BSP STM32F4-Discovery | V2.1.1 | release notes
BSP STM32F401-Discovery | V2.2.0 | release notes
BSP STM32F429I-Discovery | V2.1.3 | release notes
BSP STM32F4xx-Nucleo | V1.2.4 | release notes
BSP Adafruit_Shield | V1.1.1 | release notes
BSP Components Common | V4.0.1 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.28 | release notes
STM32 PDM audio software decoding Library | V2.1.0 | release notes
STM32 USB Device Library | V2.4.2 | release notes
STM32 USB Host Library | V3.2.2 | release notes
FatFS | R0.11 | release notes ST modified 20170214 release notes
FreeRTOS | V8.2.3 | release notes ST modified 20160122 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery demonstration
  - TrueSTUDIO project is not provided

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.40.4
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.14 + Keil.STM32F4xx_DFP.2.6.0.pack
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.4 + ST-Link

## Supported Devices and EVAL boards

- STM32F469xx/479xx devices STM32469I_EVAL board RevC
- STM32F469xx and STM32469I-Discovery board RevB
- STM32F410xx and STM32F410xx-Nucleo board RevC
- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.7.0 / 01-July-2015

# Maintenance release

## Main Changes

- Official release to support STM32446E-Nucleo board

- Maintenance release to fix known defects

- HAL
  - General updates to fix known defects and enhancements implementation
  - One change done on the HAL may require an update on the application code based on HAL V1.3.1
    - HASH IT process: update to call the HAL_HASH_InCpltCallback() at the end of the complete buffer instead of every each 512 bits
- CMSIS
  - General updates to fix known defects and enhancements implementation
- Middlewares
  - Updated USB Device V2.4.1: Fix known defects and several enhancement implementation
  - Updated USB Host V3.2.1: Fix known defects and several enhancement implementation
- BSP
  - Update STM324x9I-EVAL BSP driver to support the exc7200 touch controller
- Projects
  - Add Examples for STM32446E_Nucleo board (11 in total)
  - Add the support System Workbench for STM32 (SW4STM32) toolchain for STM32446E_EVAL board projects
  - Demonstrations for all STM32F4 boards: Miscellaneous enhancements and bugs fix
    - Improve performance for STM32F4xG-EVAL and STM32F4x9I-EVAL
    - Add the support of new 5.7 LCD reference for STM32F4x9I-EVAL

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.2 | release notes
STM32F4xx CMSIS | V2.3.2 | release notes
STM32F4xx HAL | V1.3.2 | release notes
BSP STM32469I-EVAL | V1.0.0 | release notes
BSP STM32469I-Discovery | V1.0.0 | release notes
BSP STM32446E-EVAL | V1.0.0 | release notes
BSP STM324xG-EVAL | V2.0.5 | release notes
BSP STM324x9I-EVAL | V2.1.0 | release notes
BSP STM32F4-Discovery | V2.0.4 | release notes
BSP STM32F401-Discovery | V2.1.3 | release notes
BSP STM32F429I-Discovery | V2.1.2 | release notes
BSP STM32F4xx-Nucleo | V1.2.1 | release notes
BSP Adafruit_Shield | V1.1.1 | release notes
BSP Components Common | V2.2.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.26 | release notes
STM32 PDM audio software decoding Library | V2.0.1 | release notes
STM32 USB Device Library | V2.4.1 | release notes
STM32 USB Host Library | V3.2.1 | release notes
FatFS | R0.10 | release notes ST modified 20141120 release notes
FreeRTOS | V8.1.2 | release notes ST modified 20141225 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- The following issues are detected when using EWARM V7.30, however they are not present when using EWARM V7.10, they will be fixed in next release:
  - Display/LTDC_AnimatedPictureFromSDCard and LTDC_PicturesFromSDCard applications for STM324x9I_EVAL work correctly with all optimization levels except High-Size one, where the parse of SD card is failing.
  - Demonstration project for STM324xG_EVAL:
    - Kernel Log doesn t display Media files directory, after browsing any media file
    - Generated noise once unplugging a USB key from the board, once playing audio file, or when switching automatically to the next audio file
- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery demonstration
  - TrueSTUDIO project is not provided
- Display_Paint application for STM324x9I_EVAL
  - Works only with MB1063 LCD display, not functional with MB1046
- FatFs_USBDisk_MultipleAccess_RTOS application for STM324x9I_EVAL
  - Robustness to be improved, the application may not work correctly after several board reset

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.40.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.13
  - Important note:
    - some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
    - all STM32F446E_EVAL projects were created with MDK-ARM v5.13
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC
- STM32F446RE and STM32446E-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.6.0 / 25-May-2015

# Maintenance release

## Main Changes

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

- Maintenance release to fix known defects

- HAL
  - HAL PWR update
    - Fix compilation issue with STM32F417xx product: update STM32F17xx by STM32F417xx
  - HAL SPI update
    - Remove unused variable to avoid warning with TrueSTUDIO
  - HAL I2C update
    - I2C Polling/IT/DMA processes: move the wait loop on busy flag at the top of the processes, to ensure that software not perform any write access to I2C_CR1 register before hardware clearing STOP bit and to avoid also the waiting loop on BUSY flag under I2C/DMA ISR.
    - Update busy flag Timeout value
    - I2C Master Receive Processes update to disable ACK before generate the STOP
  - HAL DAC update
    - Fix V1.3.0 regression issue with DAC software trigger configuration
- Middlewares
  - No changes
- BSP
  - No changes
- - Add projects for SW4STM32 toolchain
  - LwIP and PolarSSL Applications for STM324x9I_EVAL and STM324xG_EVAL boards: fix issue of handling Ethernet Rx DMA descriptors (the application don’t give the Rx descriptors ownership to DMA if it fails to allocate memory for a received packet)
  - Demonstration for STM32F401-Discovery and STM32F4-Discovery boards: fix issue of wrong behavior after the second press on user button

- Fix compile issue in some projects (9 in total), mainly due to bad project settings

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.2 | release notes
STM32F4xx CMSIS | V2.3.0 | release notes
STM32F4xx HAL | V1.3.0 | release notes
BSP STM32446E-EVAL | V1.0.0 | release notes
BSP STM324xG-EVAL | V2.0.5 | release notes
BSP STM324x9I-EVAL | V2.0.4 | release notes
BSP STM32F4-Discovery | V2.0.4 | release notes
BSP STM32F401-Discovery | V2.1.3 | release notes
BSP STM32F429I-Discovery | V2.1.2 | release notes
BSP STM32F4xx-Nucleo | V1.2.1 | release notes
BSP Adafruit_Shield | V1.1.1 | release notes
BSP Components Common | V2.2.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.26 | release notes
STM32 PDM audio software decoding Library | V2.0.1 | release notes
STM32 USB Device Library | V2.4.0 | release notes
STM32 USB Host Library | V3.2.0 | release notes
FatFS | R0.10 | release notes ST modified 20141120 release notes
FreeRTOS | V8.1.2 | release notes ST modified 20141225 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- SW4STM32 projects are not provided for STM32446E_EVAL board, will be added in next release
- The following issues are detected when using EWARM V7.30, however they are not present when using EWARM V7.10, they will be fixed in next release:
  - Display/LTDC_AnimatedPictureFromSDCard and LTDC_PicturesFromSDCard applications for STM324x9I_EVAL work correctly with all optimization levels except High-Size one, where the parse of SD card is failing.
  - Demonstration projects for STM324xG_EVAL and STM324x9I_EVAL:
    - Kernel Log doesn t display USB device, when detaching the USB key from the board (STM324xG_EVAL)
    - Kernel Log doesn t display Media files directory, after browsing any media file (STM324xG_EVAL)
    - Generated noise once unplugging a USB key from the board, once playing audio file, or when switching automatically to the next audio file (STM324xG_EVAL)
    - The Demo is blocked when plugging a uSD card on running mode (STM324x9I_EVAL)
    - The MB1063 demonstration is presenting a flicker effect of the camera capture due to multiple access to the SDRAM
- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery demonstration
  - TrueSTUDIO project is not provided
- Display_Paint application for STM324x9I_EVAL
  - Works only with MB1063 LCD display, not functional with MB1046
- FatFs_USBDisk_MultipleAccess_RTOS application for STM324x9I_EVAL
  - Robustness to be improved, the application may not work correctly after several board reset

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.30
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.13
  - Important note:
    - some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
    - all STM32F446E_EVAL projects were created with MDK-ARM v5.13
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.5.0 / 25-May-2015

# Maintenance release

## Main Changes

- Official release to support STM32F446xx devices

- Fix known defects and several enhancements implementation

- HAL
  - Support of the STM32F446xx devices:
    - Add new drivers for CEC, QSPI, FMPI2C and SPDIFRX peripherals
  - Enhancements implementation. Two changes done on the HAL require an update on the application code based on HAL V1.2.0
  - HAL SAI driver has been updated in this version, some changes done on process APIs (to add new features) require update of application code based on previous versions.
  - HAL CRYP driver updated to support multi instance, so user must ensure that the new parameter Instance is initialized in his application(CRYPHandle.Instance = CRYP)
- Middlewares
  - New USB Device V2.4.0: adding the support of the Link Power Management (LPM) feature, for STM32F446xx devices
  - Updated STemWin V5.26: fix bitmap drawing operation with 24bpp
  - Updated PolarSSL V1.2.8: alignment vs. latest change in HAL CRYP driver
- BSP
  - Add new BPS drivers for STM32446E_EVAL board
  - Align all other BSP drivers with the V1.3.0 of HAL peripheral drivers
- Projects
  - Add Examples, Applications and Demonstration firmware for STM32F446xx devices and STM32446E_EVAL board
  - All projects updated following changes in latest version of HAL and Middlewares
  - Miscellaneous enhancements and bugs fix
  - Important notes:
    - some of MDK-ARM projects were created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
    - all new added projects for STM32F446E_EVAL board were created with MDK-ARM v5.13

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.2 | release notes
STM32F4xx CMSIS | V2.3.0 | release notes
STM32F4xx HAL | V1.3.0 | release notes
BSP STM32446E-EVAL | V1.0.0 | release notes
BSP STM324xG-EVAL | V2.0.5 | release notes
BSP STM324x9I-EVAL | V2.0.4 | release notes
BSP STM32F4-Discovery | V2.0.4 | release notes
BSP STM32F401-Discovery | V2.1.3 | release notes
BSP STM32F429I-Discovery | V2.1.2 | release notes
BSP STM32F4xx-Nucleo | V1.2.1 | release notes
BSP Adafruit_Shield | V1.1.1 | release notes
BSP Components Common | V2.2.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.26 | release notes
STM32 PDM audio software decoding Library | V2.0.1 | release notes
STM32 USB Device Library | V2.4.0 | release notes
STM32 USB Host Library | V3.2.0 | release notes
FatFS | R0.10 | release notes ST modified 20141120 release notes
FreeRTOS | V8.1.2 | release notes ST modified 20141225 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- The following issues are detected when using EWARM V7.30, however they are not present when using EWARM V7.10, they will be fixed in next release:
  - Display/LTDC_AnimatedPictureFromSDCard and LTDC_PicturesFromSDCard applications for STM324x9I_EVAL work correctly with all optimization levels except High-Size one, where the parse of SD card is failing.
  - Demonstration projects for STM324xG_EVAL and STM324x9I_EVAL:
    - Kernel Log doesn t display USB device, when detaching the USB key from the board (STM324xG_EVAL)
    - Kernel Log doesn t display Media files directory, after browsing any media file (STM324xG_EVAL)
    - Generated noise once unplugging a USB key from the board, once playing audio file, or when switching automatically to the next audio file (STM324xG_EVAL)
    - The Demo is blocked when plugging a uSD card on running mode (STM324x9I_EVAL)
    - The MB1063 demonstration is presenting a flicker effect of the camera capture due to multiple access to the SDRAM
- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery demonstration
  - TrueSTUDIO project is not provided
- Display_Paint application for STM324x9I_EVAL
  - Works only with MB1063 LCD display, not functional with MB1046
- FatFs_USBDisk_MultipleAccess_RTOS application for STM324x9I_EVAL
  - Robustness to be improved, the application may not work correctly after several board reset

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.30
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.13
  - Important note:
    - some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
    - all STM32F446E_EVAL projects were created with MDK-ARM v5.13
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F446xx devices STM32446E_EVAL board RevB
- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.4.0 / 25-May-2015

# Maintenance release

## Main Changes

- Maintenance release to fix known defects and several enhancements implementation
- HAL
  - Macros and literals renaming to ensure full compatibility across STM32 series, backward compatibility with HAL V1.1.0 maintained thanks to new added file stm32_hal_legacy.h under /Inc/Legacy
  - Fix known defects and several enhancements implementation. Two changes done on the HAL requires an update on the application code based on HAL V1.1.0
    - LSI_VALUE constant has been corrected in stm32f4xx_hal_def.h file, its value changed from 40 KHz to 32 KHz
    - UART, USART, IRDA and SMARTCARD (referenced as PPP here below) drivers: in DMA transmit process, the code has been updated to avoid waiting on TC flag under DMA ISR, PPP TC interrupt is used instead. Below the update to be done on user application:
      - Configure and enable the USART IRQ in HAL_PPP_MspInit() function
      - In stm32f4xx_it.c file, PPP_IRQHandler() function: add a call to HAL_PPP_IRQHandler() function
  - Update drivers to be C++ compliant
  - Several update on source code formatting, for better UM generation (i.e. Doxygen tags updated)
  - Add *.chm UM for all drivers, a UM is provided for each superset RPN

- Use latest Cortex-M CMSIS, including the DSP Library

- Middlewares
  - Use latest version
  - USB Host V3.2.0: backward compatible with previous used version V3.1.0
  - USB Device V2.3.0: backward compatible with previous used version V2.2.0
  - STemWin V5.26: project based on previous version V5.24 need to be updated following the change in the binary name, ex. STemWin524b_CM4_IAR.a is renamed into STemWin526_CM4_IAR.a
  - FatFs R0.10b: project based on previous version R0.10 need to update ffconf.h file (for more details please refer the associated release notes)
  - FreeRTOS V8.1.2: project based on previous version V7.6.0 needs some update to work with version V8.1.2 (for more details please refer the associated release notes)
  - Update USB Host and Device Libraries to be C++ compliant
- BSP
  - Fix known defects
  - Update to fix compilation issues under Linux and Mac OS
- Projects
  - All projects updated following changes in latest version of HAL and Middlewares
  - Miscellaneous enhancements and bugs fix
  - Relocate all media files (wav, video, images..) under folder
  - Add TIM_Encoder example showing how to configure the Timer in encoder interface mode to determinate the rotation direction
  - STM32F4-Discovery and STM324xG_EVAL projects: Update SystemClock_Config() to turn off the Flash prefetch if the code is running on STM32F407xx RevA devices, to comply with the errata sheet limitation.
  - Update system_stm32f4xx.c file in all projects to fix SDRAM configuration in SystemInit_ExtMemCtl() function (apply the same fix implemented in STM32F4xx CMSIS files)
  - Force initialization of all PPP Init structure’s field before calling HAL_PPP_Init() API
  - Validation using latest toolchains version: EWARM v7.30 and TrueSTUDIO v5.1.1 (no change on MDK-ARM version, use always V5.10)
  - Important note: some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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

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

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V4.2 | release notes
CMSIS DSP Library | V1.4.4 | release notes
STM32F4xx CMSIS | V2.2.0 | release notes
STM32F4xx HAL | V1.2.0 | release notes
BSP STM324xG-EVAL | V2.0.4 | release notes
BSP STM324x9I-EVAL | V2.0.3 | release notes
BSP STM32F4-Discovery | V2.0.4 | release notes
BSP STM32F401-Discovery | V2.0.3 | release notes
BSP STM32F429I-Discovery | V2.1.2 | release notes
BSP STM32F4xx-Nucleo | V1.2.1 | release notes
BSP Adafruit_Shield | V1.1.1 | release notes
BSP Components Common | V2.2.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.26 | release notes
STM32 PDM audio software decoding Library | V2.0.1 | release notes
STM32 USB Device Library | V2.4.0 | release notes
STM32 USB Host Library | V3.2.0 | release notes
FatFS | R0.10 | release notes ST modified 20141120 release notes
FreeRTOS | V8.1.2 | release notes ST modified 20141225 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20150327 release notes
LibJPEG | V8d | release notes ST modified 20141223 release notes

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

## Known Limitations

- The following issues are detected when using EWARM V7.30, however they are not present when using EWARM V7.10, they will be fixed in next release:
  - Display/LTDC_AnimatedPictureFromSDCard and LTDC_PicturesFromSDCard applications for STM324x9I_EVAL work correctly with all optimization levels except High-Size one, where the parse of SD card is failing.
  - Demonstration projects for STM324xG_EVAL and STM324x9I_EVAL:
    - Kernel Log doesn t display USB device, when detaching the USB key from the board (STM324xG_EVAL)
    - Kernel Log doesn t display Media files directory, after browsing any media file (STM324xG_EVAL)
    - Generated noise once unplugging a USB key from the board, once playing audio file, or when switching automatically to the next audio file (STM324xG_EVAL)
    - The Demo is blocked when plugging a uSD card on running mode (STM324x9I_EVAL)
    - The MB1063 demonstration is presenting a flicker effect of the camera capture due to multiple access to the SDRAM
- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery demonstration
  - TrueSTUDIO project is not provided

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.30
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.13
  - Important note:
    - some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
    - all STM32F446E_EVAL projects were created with MDK-ARM v5.13
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.3.0 / 26-June-2014

# Maintenance release

## Main Changes

- Full features release, containing all projects sources for the supported boards

- Projects
  - All projects updated following changes in latest version of HAL, BSP and Middlewares
  - Add examples for JPEG images encoding and decoding, based on LibJPEG, for STM324x9I_EVAL, STM324xG_EVAL and STM32F429I-Discovery (under <BoardName>)
  - Add projects for STM32F411RE-Nucleo board (9 in total)
  - Add STemWin Simulation project (under 32_Simulation)
  - Rename 32F4xx-Nucleo into 32F401RE-Nucleo
  - Miscellaneous enhancements and bugs fix
  - For the complete list of changes, please refer to the release notes of each board Examples, Applications and Demonstrations
  - Important note: some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
- BSP
  - Minor update in STM32F4-Discovery, STM32F401-Discovery and STM324xG-EVAL BSP audio drivers

- Use STM32CubeUpdater.exe utility V4.2.0

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V3.20 | release notes
STM32F4xx CMSIS | V2.1.0 | release notes
STM32F4xx HAL | V1.1.0 | release notes
BSP STM324xG-EVAL | V2.0.3 | release notes
BSP STM324x9I-EVAL | V2.0.2 | release notes
BSP STM32F4-Discovery | V2.0.2 | release notes
BSP STM32F401-Discovery | V2.0.2 | release notes
BSP STM32F429I-Discovery | V2.1.1 | release notes
BSP STM32F4xx-Nucleo | V1.1.0 | release notes
BSP Adafruit_Shield | V1.0.0 | release notes
BSP Components Common | V1.1.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.24b | release notes
STM32 PDM audio software decoding Library | V2.0.1 | release notes
STM32 USB Device Library | V2.2.0 | release notes
STM32 USB Host Library | V3.1.0 | release notes
FatFS | R0.10 | release notes ST modified 20140422 release notes
FreeRTOS | V8.1.2 | release notes ST modified 20140613 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20140619 release notes
LibJPEG | V8d | release notes ST modified 20140619 release notes

Utilities
Name | Version | Release note
--- | --- | ---
CPU | V1.1.0 | release notes
Fonts | V1.0.0 | release notes
Log | V1.0.0 | release notes

## Known Limitations

- PolarSSL applications for STM324x9I_EVAL and STM324xG_EVAL
  - SSL_Server and SSL_Client doesnt work correctly with MDK-ARM v5.10, the provided projects works only with MDK-ARM v4.7
- LwIP applications for STM324x9I_EVAL and STM324xG_EVAL
  - LwIP_IAP and LwIP_TFTP_Server doesnt work correctly with EWARM v7.10, the provided projects works only with EWARM v6.7
- USB_Device_Standalone application for STM324x9I_EVAL
  - MDK-ARM and TrueSTUDIO projects are provided with optimization set to None, to avoid audio glitch when USB cable is disconnected
- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery demonstration
- TrueSTUDIO project is not provided

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.30
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.13
  - Important note:
    - some of MDK-ARM projects was created with v4.73, and others with v5.10 (mainly for STM32F411RE-Nucleo projects). 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
    - all STM32F446E_EVAL projects were created with MDK-ARM v5.13
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.1.1
- System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link

## Supported Devices and EVAL boards

- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.2.0 / 19-June-2014

# Maintenance release

## Main Changes

- Patch release for STM32CubeF4, adding support of STM32F411xE devices with several enhancements and bugs fix

  - In this release; only the Firmware components drivers are provided, the projects for the supported boards will be provided in the upcoming release V1.2.1

  - HAL and CMSIS
  - Add support of STM32F411xE devices
  - Several enhancements and bugs fix

  - Update startup files for EWARM toolchain to cope with compiler enhancement of the V7.x version

  - Middleware
  - Use updated version V5.24b of STemWin; adding many new features, with PC simulation resources added and binaries compiled for high speed optimization
  - Add LibJPEG library for JPEG images encoding and decoding

  - Miscellaneous update and minor bugs fix

- BSP
  - Add BSP drivers for Adafruit 1.8" TFT LCD shield (reference ID 802), with component st7735
  - Update to support new revision of L3GD20 component having new device ID 0xD5
  - Miscellaneous update and minor bugs fix
- Note: for the complete list of changes, please refer to the release notes of each Firmware component

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V3.20 | release notes
STM32F4xx CMSIS | V2.1.0 | release notes
STM32F4xx HAL | V1.1.0 | release notes
BSP STM324xG-EVAL | V2.0.2 | release notes
BSP STM324x9I-EVAL | V2.0.2 | release notes
BSP STM32F4-Discovery | V2.0.2 | release notes
BSP STM32F401-Discovery | V2.0.2 | release notes
BSP STM32F429I-Discovery | V2.1.1 | release notes
BSP STM32F4xx-Nucleo | V1.1.0 | release notes
BSP Adafruit_Shield | V1.0.0 | release notes
BSP Components Common | V1.1.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.24b | release notes
STM32 PDM audio software decoding Library | V2.0.1 | release notes
STM32 USB Device Library | V2.2.0 | release notes
STM32 USB Host Library | V3.1.0 | release notes
FatFS | R0.10 | release notes ST modified 20140422 release notes
FreeRTOS | V8.1.2 | release notes ST modified 20140613 release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes ST modified 20140619 release notes
LibJPEG | V8d | release notes ST modified 20140619 release notes

Utilities
Name | Version | Release note
--- | --- | ---
CPU | V1.1.0 | release notes
Fonts | V1.0.0 | release notes
Log | V1.0.0 | release notes

## Known Limitations

- None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain v7.10.2
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.10
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.0.0

## Supported Devices and EVAL boards

- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401C-Discovery board RevB
- STM32F401xE and STM32F401RE-Nucleo board RevC
- STM32F411xE and STM32F411RE-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.1.0 / 26-February-2014

# Maintenance release

## Main Changes

- Add sources of STM324x9I-EVAL (both references MB1046 and MB1063), STM324xG-EVAL and STM32F429I-Discovery Demonstration (only for EWARM and MDK-ARM)
  - Media sample files (.jpg and .emf) to be used with the demonstration are provided under Utilities
- Use updated version of STemWin V5.22
- Miscellaneous update on Examples, Applications, Demonstrations and Templates projects for some boards; for more details refer to the associated release notes
- Minor update in STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery uSD and EEPROM BSP drivers

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V3.20 | release notes
STM32F4xx CMSIS | V2.1.0 | release notes
STM32F4xx HAL | V1.0.0 | release notes
BSP STM324xG-EVAL | V2.0.1 | release notes
BSP STM324x9I-EVAL | V2.0.1 | release notes
BSP STM32F4-Discovery | V2.0.0 | release notes
BSP STM32F401-Discovery | V2.0.0 | release notes
BSP STM32F429I-Discovery | V2.0.1 | release notes
BSP Adafruit_Shield | V1.0.0 | release notes
BSP Components Common | V1.1.0 | release notes
BSP Components ampire480272 | V1.0.0 | release notes
BSP Components ampire640480 | V1.0.0 | release notes
BSP Components cs43l22 | V2.0.2 | release notes
BSP Components ili9325 | V1.2.2 | release notes
BSP Components ili9341 | V1.0.2 | release notes
BSP Components l3gd20 | V2.0.0 | release notes
BSP Components lis302dl | V2.0.0 | release notes
BSP Components lis3dsh | V2.0.0 | release notes
BSP Components lsm303dlhc | V2.0.0 | release notes
BSP Components ov2640 | V1.0.2 | release notes
BSP Components st7735 | V1.1.1 | release notes
BSP Components stmpe1600 | V1.1.0 | release notes
BSP Components stmpe811 | V2.0.0 | release notes
BSP Components ts3510 | V1.0.1 | release notes
BSP Components wm8994 | V2.0.0 | release notes
BSP Components mfxstm32l152 | V2.0.0 | release notes
BSP Components s5k5cag | V1.0.0 | release notes
BSP Components n25q256a | V1.0.0 | release notes
BSP Components exc7200 | V1.0.0 | release notes
BSP Components ft6x06 | V1.0.1 | release notes
BSP Components otm8009a | V1.0.0 | release notes
BSP Components s25fl512s | V1.0.0 | release notes
BSP Components n25q512a | V1.0.0 | release notes
BSP Components n25q128a | V1.0.0 | release notes
BSP Components ls016b8uy | V1.0.0 | release notes
BSP Components st7789h2 | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.22 | release notes
STM32 USB Device Library | V2.2.0 | release notes
STM32 USB Host Library | V3.0.0 | release notes
FatFS | R0.10 | [release notes](Middlewares/Third_Party/FatFS/doc/updates.txt
FreeRTOS | V7.6.0 | release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes

Utilities
Name | Version | Release note
--- | --- | ---
CPU | V1.1.0 | release notes
Fonts | V1.0.0 | release notes
Log | V1.0.0 | release notes

## Known Limitations

- TrueSTUDIO projects are not provided for few Applications and Demonstrations (10 in total)

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V6.70.3
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v4.73
  - A software patch is needed to use STM32F401xE devices with MDK-ARM v4.73. If you do not have this patch installed, you can install it from the following folder "_Software-ARM_STM32F401xE_Patch"
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v4.3.0

## Supported Devices and EVAL boards

- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401-Discovery board RevB
- STM32F401xE and STM32F4xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

V1.0.0 / 18-February-2014

# Maintenance release

## Main Changes

- First official release of STM32CubeF4 (STM32Cube for STM32F4 Series)

## Contents

Drivers
Name | Version | Release note
--- | --- | ---
Cortex-M CMSIS | V3.20 | release notes
STM32F4xx CMSIS | V2.0.0 | release notes
STM32F4xx HAL | V1.0.0 | release notes
BSP STM324xG-EVAL | V2.0.0 | release notes
BSP STM324x9I-EVAL | V2.0.0 | release notes
BSP STM32F4-Discovery | V2.0.0 | release notes
BSP STM32F401-Discovery | V2.0.0 | release notes
BSP STM32F429-Discovery | V2.0.0 | release notes
BSP Common | V1.0.0 | release notes
BSP ampire480272 | V1.0.0 | release notes
BSP ampire640480 | V1.0.0 | release notes
BSP ili9325 | V1.0.0 | release notes
BSP ili9341 | V1.0.0 | release notes
BSP ov2640 | V1.0.0 | release notes
BSP stmpe1600 | V1.0.0 | release notes
BSP stmpe811 | V1.0.0 | release notes
BSP cs43l22 | V1.0.0 | release notes
BSP ts3510 | V1.0.0 | release notes
BSP wm8994 | V1.0.0 | release notes
BSP l3gd20 | V1.0.0 | release notes
BSP lis302dl | V1.0.0 | release notes
BSP lis3dsh | V1.0.0 | release notes
BSP lsm303dlhc | V1.0.0 | release notes

Middlewares
Name | Version | Release note
--- | --- | ---
STemWin | V5.22 | release notes
STM32 USB Device Library | V2.0.0 | release notes
STM32 USB Host Library | V3.0.0 | release notes
FatFS | R0.10 | [release notes](Middlewares/Third_Party/FatFS/doc/updates.txt
FreeRTOS | V7.6.0 | release notes
LwIP | V1.4.1 | release notes
PolarSSL | V1.2.8 | release notes

Utilities
Name | Version | Release note
--- | --- | ---
CPU | V1.1.0 | release notes
Fonts | V1.0.0 | release notes
Log | V1.0.0 | release notes

## Known Limitations

- STM324x9I-EVAL, STM324xG-EVAL and STM32F429I-Discovery Demonstrations sources will be provided in V1.1.0 release planned very soon
- TrueSTUDIO projects are not provided for few Examples and Applications (7 in total)
- MDK-ARM projects are not provided for 2 Applications (2 in total)

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V6.70.3
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v4.73
  - A software patch is needed to use STM32F401xE devices with MDK-ARM v4.73. If you do not have this patch installed, you can install it from the following folder “-ARM_STM32F401xE_Patch”
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v4.3.0

## Supported Devices and EVAL boards

- STM32F429xx/439xx devices and STM324x9I-EVAL board RevB
- STM32F407xx/417xx devices and STM324xG-EVAL board RevC
- STM32F407xx and STM32F4-Discovery board RevC
- STM32F401xC and STM32F401-Discovery board RevB
- STM32F429xx and STM32F429I-Discovery board RevB
- STM32F401xE and STM32F4xx-Nucleo board RevC

## Backward Compatibility

- None

## Dependencies

- None

For complete documentation on STM32 Microcontrollers , visit: www.st.com

This release note uses up to date web standards and, for this reason, should not be opened with Internet Explorer but preferably with popular browsers such as Google Chrome, Mozilla Firefox, Opera or Microsoft Edge.