Release Notes for  STM32CubeF7 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 HAL (Hardware Abstraction Layer) drivers provided within this package supports the following STM32F756/746/745, STM32F723/33/22/32, STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, and STM32F779xx devices.

Update History

Main Changes

  • General updates to fix known defects and implementation enhancements.
  • Upgrade of USB Device library to new version V2.11.3.
  • Upgrade of USB host library to new version V3.5.2.
  • Upgrade of MbedTLS library to new version V2.16.2 (ST modified 2023-10-24).

  • CMSIS updates
    • Update GCC start-up files to call SystemInit() API @Reset_Handler step: alignment with EWARM and MDK-ARM start-up files.
    • Update ETH bit definitions : Add CRC stripping for Type frames bit definition (CSFT).
  • HAL updates
    • Enhance HAL code quality for MISRA-C Rule-8.13 by adding const qualifiers.
    • HAL Generic
      • Allow redefinition of macro UNUSED(x).
      • Update of HAL_GetTickFreq() API brief.
    • HAL DAC
      • Fix incorrect word ‘surcharged’ in APIs headers.
      • Updated DAC buffer calibration according to Reference Manual.
    • HAL ADC
      • Add a call to UNUSED() macro to avoid the generation of a warning related to the unused argument ‘hadc’.
    • HAL CRC
      • Add filter in HAL_CRCEx_Polynomial_Set() API to exclude even polynomials.
    • HAL RCC
      • Add restriction on the available RCC macros to manage SPI6 peripheral clock.
    • HAL PWR
      • Add a call to UNUSED() macro to avoid the generation of a warning related to the unused argument ‘Regulator’.
    • HAL/LL RTC_BKP
      • Remove macro __HAL_RTC_TAMPER_GET_IT() as it is redundant with macro __HAL_RTC_TAMPER_GET_FLAG() and new alias added into stm32_hal_legacy.h file.
      • Correct misleading note about shadow registers.
    • HAL HASH
      • HAL code quality enhancement for MISRA-C2012 Rule-2.2_c.
      • Fix BusFault issue when data isn’t a multiple of 4 bytes.
    • HAL CRYP
      • Update Crypt/Decrypt IT processes to avoid Computation Completed IRQ fires before the DINR pointer increment.
    • HAL DMA
      • Update state machine implementation in HAL_DMA_Init() API.
    • HAL GPIO
      • Update IS_GPIO_AF() macros to allow TIM3 selection on GPIO alternate function 9 (AF9) and apply Artistic Style fixes.
      • Replace GPIO_Pin_x with GPIO_PIN_x to be compliant with macros definition.
      • Update IS_GPIO_PIN() macro description adding that a PIN combination is a valid parameter.
    • HAL EXTI
      • Optimize computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine() API.
      • Fix the wrong references in the “How to use this driver” section.
    • HAL CORTEX
      • Updated HAL_MPU_ConfigRegion() API to allow the configuration of the MPU registers independently of the value of Enable/Disable field.
      • Add new HAL_MPU_EnableRegion() / HAL_MPU_DisableRegion() APIs.
    • HAL/LL TIM
      • Remove lock management from callback management functions.
      • Improve period configuration parameter check.
      • Improve HAL TIM driver’s operational behavior.
      • Fix typo in PWM asymmetric mode related constants names.
      • Remove multiple volatile reads or writes in interrupt handler for better performance.
      • Assert check for the right channels.
      • Update interrupt flag is cleared when the update event is generated by software.
      • Remove useless check on IS_TIM_ADVANCED_INSTANCE() macro within LL_TIM_BDTR_Init() API to fix Break Filter configuration problem with specific TIM instances.
      • Remove unnecessary change of MOE bitfield in LL_TIM_BDTR_Init() API.
    • HAL LPTIM
      • Remove redundant macro IS_LPTIM_AUTORELOAD().
      • Remove Lock management from callback management functions.
      • Apply same naming rules to clear FLAG related functions.
    • HAL SMBUS
      • Update HAL SMBUS driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte.
      • Update SMBUS_ITErrorHandler() static API to flash TXDR when error occurs in SMBUS IT process.
    • HAL UART
      • Remove lock mecanism from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback() APIs.
      • Disable the Receiver Timeout Interrupt when data reception is completed.
      • Rework of UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior.
      • Update initialization sequence for TXINV, RXINV and TXRXSWAP settings.
      • Fix incorrect gState check in HAL_UART_RegisterRxEventCallback()/HAL_UART_UnRegisterRxEventCallback() APIs to allow user Rx Event Callback registration when a transmit is ongoing.
      • Avoid RTOF flag to be cleared by a transmit process in polling mode.
    • HAL USART
      • Remove lock mecanism from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback() APIs.
    • HAL ETH
      • General updates to clean-up the HAL ETH driver: fix MISRA-C 2012, MCU ASTYLE warnings and remove empty lines.
      • Update on Rx descriptor Tail pointer management to avoid race condition.
      • Add missing system time in different PTP APIs.
      • Rename ETH_TxPacketConfig_t structure to ETH_TxPacketConfigTypeDef.
      • Update ETH_Start_IT() API sequence.
      • Update the PTP configuration state macros and Fix the wrong Doxygen comment descriptions.
      • Fix wrong Ethernet constants definitions.
      • Add condition to get the Timestamp only when it was captured (Check on Last Descriptor and TimeStamp flag set).
      • Replace ETH_RX_BUF_SIZE define in ETH_UpdateDescriptor()/ETH_DMARxDescListInit() APIs by Init.RxBuffLen.
      • Get the latest buffer length received and not the predefined ethernet frame length.
      • Update HAL_ETH_SetMDIOClockRange() API to manage different frequency ranges.
      • Remove multiple volatile reads or writes in interrupt handler for better performance.
      • Move the MMC interrupts disable section from HAL_ETH_Start_IT() API to HAL_ETH_Init() API.
      • Change the way to increment the descriptor index within HAL_ETH_ReleaseTxPacket() API.
      • Update the entry to critical section without enabling unwanted global interrupts.
      • Add support of CRC stripping for Type frames (CSTF) feature.
      • Fix MAC register name to get MAC LPI interrupt.
    • HAL USB
      • Fix added to USB_ClearInterrupts() and USB_HC_Halt() APIs.
      • Remove useless software setting to setup the frame interval at 80%.
      • Add support of hub split transactions.
      • Fix device connection in case battery charging used with HS instance linked to internal FS PHY.
      • Increase timeout value to allow core reset to complete.
      • Improve delay management to set core mode.
    • HAL CAN
      • Improve protection against bad inputs.
      • Clarify pin configuration in driver header by removing open-drain info.
    • HAL SPI
      • Fix driver to don’t update state in case of error: HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT.
      • Update HAL_SPI_TransmitReceive() API to set the bit CRCNEXT in case of one byte transaction.
      • Update SPI IT API to enable interrupts after process unlock.
    • HAL DSI
      • Align DSI Initialization sequence to the recommended ‘Programing procedure overview’ part to avoid DSI read LCD controller register 0x0A error.
    • HAL SMARTCARD
      • Add missing receive enable acknowledge flag for specific part number.
      • Remove lock mecanism from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback() APIs.
    • HAL IRDA
      • Remove lock mecanism from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback() APIs.
    • HAL SPDIFRX
      • Prevent hard fault by checking DMA usage.
      • Tuning of default SPDIFRX timeout.
    • HAL SAI
      • Improve audio quality: avoid potential glitch.
      • Fix incorrect word ‘surcharged’ in APIs headers.
    • HAL/LL I2C
      • Update HAL_I2C_IsDeviceReady() API to support 10_bit addressing mode.
      • Duplicate the test condition after timeout detection to avoid false timeout detection.
      • Update HAL I2C driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte.
      • Update HAL I2C driver to disable all interrupts after end of transaction.
      • Update HAL_I2C_Init() API to clear ADD10 bit in 7 bit addressing mode.
      • Solve Slave No stretch not functional by using HAL Slave interface.
      • Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0.
      • Update I2C_Slave_ISR_IT(), I2C_Slave_ISR_DMA() and I2C_ITSlaveCplt() APIs to prevent the call of HAL_I2C_ListenCpltCallback() API twice.
      • Update I2C_WaitOnRXNEFlagUntilTimeout() API to check I2C_FLAG_AF independently from I2C_FLAG_RXNE.
      • Remove the unusable code in API HAL_I2C_IsDeviceReady() API.
      • Update I2C_WaitOnFlagUntilTimeout() API to handle error case.
      • Update the HAL I2C driver to implement the errata workaround “Last-received byte loss in reload mode”.
      • Update HAL_I2C_Slave_Transmit() API to check if the received NACK is the good one.
      • Update LL_I2C_HandleTranfer() API to prevent undefined behavior of volatile usage before updating the CR2 register.
      • Update HAL_I2C_Master_Abort_IT() API to abort MEM read/write processes.
      • Move the prefetch process in HAL_I2C_Slave_Transmit() API.
    • LL UTILS
      • Fix a note about Ticks parameter.
  • BSP updates
    • BSP Boards
      • STM32F723E-Discovery
        • Update to manage touch screen components (ft6x06 & ft3x67) available on different 32F723EDISCOVERY board revisions in dynamic approach.
      • STM32F769I-Discovery
        • Update to manage lcd controller components (nt35510 & otm8009a) available on different 32F769IDISCOVERY board revisions in dynamic approach.
      • STM32746G-Discovery
        • Update QSPI BSP driver to support W25Q128J QSPI component available on new 32F746GDISCOVERY board revision (C-03).
    • BSP Components
      • otm8009a
        • Add Read_ID() API to support dynamic read ID.
      • nt35510
        • Fix setting of DPRSLCTR register.
        • Add Read_ID() API to support dynamic read ID.
      • lan8742
        • Remove unnecessary Software reset from LAN8742_Init() API.
      • dp83848
        • Remove unnecessary Software reset from DP83848_Init() API.
        • Update DP83848_PHYSCSR_AUTONEGO_DONE bit definition to be aligned with component DataSheet
      • w25q128j
        • First official release of W25Q128J QSPI component driver supported on new 32F746GDISCOVERY board revision (C-03).
  • Middleware updates:
    • Upgrade of USB Device library to new version V2.11.3.
    • Upgrade of USB host library to new version V3.5.2.
    • Upgrade of MbedTLS library to new version V2.16.2_20231024.
  • Cube_Project updates
    • Add syscalls.c files in all SW4STM32 projects: to allow the possibility to compile SW4STM32 projects(compiler version GCC9) with STM32CubeIDE toolchain (compiler version GCC11).
    • Demonstrations
      • Update Readme of STemWin and TouchGFX 32F769IDISCOVERY’s demonstrations.
    • USB Applications
      • Appli USB HID Device: Ensure to disable USB HS PHY PLL during suspend state.
      • USB Device fix first byte missing transmission issue.
      • Improve USB transmit data throughput.
      • Fix stack corruption due to inconsistent type of local variable in MSC_File_Operations() API.
    • MbedTLS Applications
      • Update hardware_rng.c files: rework the mbedtls_hardware_poll() API.
    • LwIP Applications
      • Use RCC_HSE_BYPASS value in SystemClock_Config() API for NUCLEO-F767ZI related projects, and adjust PLL parameters when needed, to comply to technical documentation.
      • Fix Wrong use of DHCP API in application code & ethernet_link_thread.
      • Fix Ethernet low_level_init() API to handle return code from LAN8742_init() and DP83848_init() APIs.
      • Fix mismatch in linker section names between linker file and source file.
      • Fix DeadLock in the transmit output.
      • Adjust iPerf bandwidth higher than 90Mbs.
    • CRC Examples
      • Update CRC LL examples to fix incorrect bytes stream handling.
    • I2C Examples
      • Change I2C interrupt priority to be lower than DMA priority in ‘I2C EEPROM’ and ‘I2C EEPROM FM+’ examples so that DMA interrupt can be serviced if it fires while the CPU is servicing the I2C interrupt.
      • Fix wrong check condition on HAL_TIMOUT this value is no longer returned by the HAL_I2C_IsDeviceReady() API.
    • DMA Examples
      • Fix missing cache maintenance operation and buffer alignment.
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 demonstration project is not provided
  • Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 (“AC5-like Warnings” model).

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.32 minimum (ARM Compiler 5 (“AC5-like Warnings” selected))
    • Note : MDK-ARM 5.38 comes by default with AC6 only. To use it with AC5, please follow the steps available in this AN:
      • https://developer.arm.com/documentation/ka005073/latest/
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Deploy support of new LCD component NT35510.
    • One of the following flags must be defined in the preprocessor options in order to select the target board revision:
      • USE_STM32F769I_DISCO : Applicable for all boards except STM32F769I DISCOVERY REVB03.
      • USE_STM32F769I_DISCO_REVB03 : Applicable only for STM32F769I DISCOVERY w/ MB1166-A09 LCD daughter board connected on.
  • Projects updates
    • STM32F769I-Discovery :
      • All LCD DSI video mode projects : add support of new BSP component NT35510.
      • USB_HOST application : update MPU configuration by adding FMC section.
      • STemWin Demonstration : update touch screen controller initialization order to avoid runtime issue w/ new BSP component NT35510.
  • BSP updates
    • STM32F769I-Discovery BSP Drivers:
      • Update STM32F769I-Discovery BSP drivers to support LCD based on nt35510 component.
    • nt35510 BSP component Drivers:
      • Official release of component drivers for NT35510 in line with STM32Cube BSP drivers development guidelines (UM2298).
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Projects :

  • The STM32CubeF7 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with pre-configured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects
Name Version Release notes
Projects 1.17.1 release notes

Components :

Drivers
Name Version Release note
BSP STM32F769I-Discovery V2.1.0 release notes
BSP nt35510 V1.0.1 release notes

Main Changes

  • General updates to fix known defects and implementation enhancements.
  • HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers
  • 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/STM32F7xx_HAL_Driver/Src and Drivers/STM32F7xx_HAL_Driver/Inc folders.
      • It can be enabled through switch HAL_ETH_MODULE_ENABLED in stm32f7xx_hal_conf.h
    • The legacy HAL Ethernet driver is also present in the release in Drivers/STM32F7xx_HAL_Driver/Src/Legacy and Drivers/STM32F7xx_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 stm32f7xx_hal_conf.h
  • CMSIS updates
    • CMSIS_Device
      • Update gcc start-up files to remove duplication for DMA2_Stream4_IRQHandler.
  • HAL updates

    • 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.
    • TIM_HAL
      • Manage configuration of the Capture/compare DMA request source
      • Add related new exported constants (TIM_CCDMAREQUEST_CC, TIM_CCDMAREQUEST_UPDATE).
      • Create a new macro __HAL_TIM_SELECT_CCDMAREQUEST() allowing to program the TIMx_CR2.CCDS bitfield.
    • LTDC_HAL
      • Update HAL_LTDC_DeInit() to fix MCU Hang up during LCD turn OFF.
    • QSPI_HAL
      • Update HAL_QSPI_Abort() and HAL_QSPI_Abort_IT() APIs to check on QSPI BUSY flag status before executing the abort procedure.
    • DSI_HAL
      • Align DSI ULPS entry and exit sequences with the reference manual.
    • RTC_BKP_HAL
      • 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 TAMPCR register in one single access instead of two.
        • Deactivate selected TAMPER’s interrupt (besides global TAMPER interrupt).
        • Avoid activating global TAMPER interrupt.
        • Avoid modifying user structure sTamper.
        • Avoid overwriting TAMPCR register’s content on successive calls to the function.
    • TIM_LL
      • Update __LL_TIM_CALC_PSC() macro to round up the evaluated value when the fractional part of the division is greater than 0.5.
    • CAN_HAL
      • Removal of never reached code
    • I2C_HAL
      • Timeout issue using HAL MEM interface through FreeRTOS
    • NOR_HAL
      • FMC_WRITE_OPERATION_DISABLE for NOR cause Hardfault for Read operations
    • USB_OTG_HAL
      • PCD: add handling of USB OUT Endpoint disable interrupt
      • PCD: fix device IN endpoint isoc incomplete transfer interrupt handling
      • PCD: fix USB device Isoc OUT Endpoint incomplete transfer interrupt handling
      • Fix handling of ODDFRM bit in OTG_HCCHARx for HCD isochronous IN transactions
      • Fix received data length counting when DMA is enabled.
  • Middlewares
    • Upgrade to use new version of USB Device V2.11.0
      • USB VIDEO Class:
        • Correction of the support of VS_PROBE_CONTROL & VS_COMMIT_CONTROL requets
      • USB AUDIO Class:
        • Correction of the check on AUDIO_TOTAL_BUF_SIZE to avoid vulnerabilities
      • USB HID Class:
        • Modification of some constants names to avoid duplication versus USB host library
      • USB CustomHID Class:
        • Add support of Get Report control request Allow disabling EP OUT prepare receive using a dedicated macros that can be defined in usbd_conf.h application file
        • Add support of Report Descriptor with length greater than 255 bytes
      • USB All Classes:
        • Update all classes to support composite multi-instance using the class id parameter
    • Upgrade to use new version of USB Host V3.4.1
      • HID Class
        • Modify some variables names to avoid duplication versus device for HID class
  • BSP
    • General updates to fix known defects and enhancements implementation
  • Projects
    • General update to align firmware projects with the new HAL ETH driver
    • Applis_Other
      • Replace hard-coded page end address by a variable in EE_VerifyPageFullyErased() to consider both PAGE 0 and PAGE 1 instead of only PAGE 0.
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 demonstration project is not provided
  • Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 (“AC5-like Warnings” model).

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • General updates to fix known defects and enhancements implementation.
  • All source files: update disclaimer to add reference to the new license agreement.
  • Update all firmware projects by adding dedicated MPU configuration to avoid Cortex-M7 speculative access on external memories.
    • Refer to ARM recommendation regarding Cortex-M7 speculative access: Link
    • "Arm recommends that you set those regions to have all of the following attributes with the MPU:
      • Device or Strongly-ordered.
      • Execute Never."
  • CMSIS update
    • Add new atomic register access macros in stm32f7xx.h file.
    • Add LSI maximum startup time datasheet value: LSI_STARTUP_TIME.
    • __FPU_PRESENT defined with 1U instead of 1 to avoid compilation warning.
    • Add “PTPPPSCR” register definition for Ethernet Peripheral.
  • HAL update
    • HAL GPIO
      • Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.
      • Optimize assertion control for GPIO Pull mode in HAL_GPIO_Init
      • Fix unexpected detection by reordering EXTI config.
    • HAL EXTI
      • Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.
    • HAL DMA
      • Update HAL_DMA_IRQHandler() API to set the DMA state before unlocking access to the DMA handle.
      • Manage the case of an invalid value of CallbackID passed to the HAL_DMA_RegisterCallback() API.
    • HAL ADC
      • Update HAL_ADC_ConfigChannel() API to allow the possibility to switch between VBAT and TEMPERATURE channels configurations.
      • Better performance by removing multiple volatile reads or writes in interrupt handler.
    • HAL/LL RNG
      • Update LL_RNG_DeInit() API to avoid “unused variable” warnings.
      • Update HAL_RNG_GenerateRandomNumber() API
        • Update timeout mechanism to avoid false timeout detection in case of preemption.
    • HAL/LL RTC
      • 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.
      • Fix wrong reference to RTCx.
    • HAL LPTIM
      • Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()
    • HAL/LL TIM
      • Update HAL_TIMEx_ConfigBreakInput to use CMSIS TIM1_OR2_BKDF1BK0E_Pos definition instead of its hard coded value.
      • Fix wrong compile switch used in TIM_LL_EC_DMABURST_BASEADDR constant definitions.
    • HAL UART
      • Fix erroneous UART’s handle state in case of error returned after DMA reception start within UART_Start_Receive_DMA().
      • Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback.
      • Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
      • Improve header description of UART_WaitOnFlagUntilTimeout() function
      • Add a check on the UART parity before enabling the parity error interruption.
      • Add const qualifier for read only pointers.
      • Fix wrong cast when computing the USARTDIV value in UART_SetConfig().
    • HAL/LL USART
      • 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.
      • Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
      • Fix compilation warnings generated with ARMV6 compiler.
    • HAL IRDA
      • Improve header description of IRDA_WaitOnFlagUntilTimeout() function
      • Add a check on the IRDA parity before enabling the parity error interrupt.
      • Add const qualifier for read only pointers.
      • Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().
    • HAL SMARTCARD
      • Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function
      • Add const qualifier for read only pointers.
      • Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig().
    • HAL/LL SPI
      • Updated to implement Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode.
      • Updated to fix MISRA-C 2012 Rule-13.2.
      • Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.
    • HAL SMBUS
      • 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 I2C
      • Update I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.
      • Update to handle errors in polling mode.
        • Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.
      • Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA
      • Fix written reserved bit 28 in I2C_CR2 register.
      • Update to fix issue detected due to low system frequency execution (HSI).
    • HAL CAN
      • Update HAL_CAN_Init() API to be aligned with reference manual and to avoid timeout error:
        • Update CAN Initialization sequence to set "request initialization" bit before exit from sleep mode.
    • HAL DSI
      • Update HAL_DSI_Read() to avoid HAL_TIMEOUT when a DSI read command is issued to the panel and the read data is not captured by the DSI Host which returns Packet Size Error.
    • HAL QSPI
      • Fix compilation warning with GCC V9.
      • Update QSPI_WaitFlagStateUntilTimeout_CPUCycle() to manage timeout using CPU cycles method.
    • LL FMC
      • General refactoring and clean-up.
      • Update to avoid “unused variable” warnings.
    • HAL SRAM
      • General refactoring and clean-up.
      • HAL_SRAM_Process: Update to check on the SRAM state before performing operation.
    • HAL NAND
      • General refactoring and clean-up.
    • HAL NOR
      • General refactoring and clean-up.
      • Update address calculation in HAL_NOR_ProgramBuffer() API
      • 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.
      • 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/LL SDMMC
      • Take in 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 a internal to manage the power class and call it before to update speed of bus width.
      • Add new API HAL_MMC_GetCardExtCSDto get the value of the Extended CSD register and populate the ExtCSD field of the MMC handle.
    • HAL SD
      • Update HAL_SD_InitCard() API to add power up waiting time (2ms) before starting the SD initialization sequence.
    • HAL/LL USB update
      • Update in USB_SetCurrentMode() API to improve required wait timing to change core mode.
      • Remove non required 200ms delay during host initialization.
      • Update USB_FlushRxFifo() and USB_FlushTxFifo() APIs by adding check on AHB master IDLE state before flushing the USB FIFO.
      • Update to avoid resetting host channel direction during channel halt.
      • Update to avoid compiler optmization on count variable used for USB HAL timeout loop check.
      • Add missing registres callbacks check for HAL_HCD_HC_NotifyURBChange_Callback() API.
      • Add new HAL_PCD_SetTestMode() API to handle USB device high speed Test modes.
      • Update to set SNAK for EPs not required during device reset.
    • HAL IWDG
      • Add LSI startup time in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT).
  • Projects
    • Update all firmware projects by adding dedicated MPU configuration to avoid Cortex-M7 speculative access on external memories.
      • Refer to ARM recommendation regarding Cortex-M7 speculative access: Link
      • "Arm recommends that you set those regions to have all of the following attributes with the MPU:
        • Device or Strongly-ordered.
        • Execute Never."
    • Examples_FLASH
      • Fix FLASH sector description.
    • Examples_DSI
      • Fixed issue of old data being written in Fifo when exiting DSI ultra low power mode.
    • Applis_MW_ST_USB
      • usbd_conf.c: fix USB FIFO setting in DMA mode
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 demonstration project is not provided
  • Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 (“AC5-like Warnings” model).

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • General updates to fix known defects and enhancements implementation

  • HAL
    • Update hal_def.h to support new ARM compiler Keil V6.
    • Add new defines for ARM compiler V6:
      • __weak
      • __packed
      • __NOINLINE
    • Update HAL TimeBase TIM, RTC alarm and RTC WakeUp templates for more robustness.
      • Update Hal_Init_Tick() API to properly store the priority when using the non-default time base.
    • ‘register’ keyword retired to be compliant with C++17 (already deprecated in C++11).
    • Add License.md and Readme.md files required for GitHub publication.
    • HAL/LL TIM update
      • Support multiple simultaneous DMA requests with different channels:
        • Implement DMA burst state management mechanism.
        • Implement TIM channel state management mechanism.
      • Update HAL_TIM_IC_Stop_DMA implementation to disable the TIM channel before disabling DMA transfer.
      • Update HAL_TIM_xxx_Start- functions to systematically access to the TIMx_SMCR register even if the TIMx instance cannot be used as slave timer.
      • Make TIM_DMADelayPulseCplt callback as a private function.
      • Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters.
      • Correct reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.
      • Update LL_TIM_GetCounterMode() API to return the correct counter mode.
    • HAL LPTIM update
      • Update HAL_LPTIM_Init implementation to configure digital filter for external clock when LPTIM is clocked by an internal clock source.
    • HAL UART update
      • Rework BRR register calculation algorithm in UART_SetConfig() to optimize ROM size.
      • Update HAL_UART_IRQHandler() to handle receiver timeout interruption.
      • Enhance reception for idle services (ReceptionToIdle):
        • Add a new field (HAL_UART_RxTypeTypeDef) to the UART_HandleTypeDef structure to identify the type of ongoing reception.
        • Add UART Reception Event Callback registration.
      • Add reception specific APIs specific to reception for Idle transfer in different modes:
        • HAL_UARTEx_ReceiveToIdle(): Receive an amount of data in blocking mode until either the expected number of data is received or an IDLE event occurs.
        • HAL_UARTEx_ReceiveToIdle_IT(): Receive an amount of data in interrupt mode until either the expected number of data is received or an IDLE event occurs.
        • HAL_UARTEx_ReceiveToIdle_DMA(): Receive an amount of data in DMA mode until either the expected number of data is received or an IDLE event occurs.
      • Update HAL_UART_Receive(), HAL_UART_Receive_IT() and HAL_UART_Receive_DMA() APIs to support the new enhancement of ReceptionToIdle.
      • Update HAL_UART_IRQHandler() to handle receiver timeout interrupt.
      • Update UART receive processes (IT and DMA) to handle the UART receiver’s timeout interrupt.
    • HAL SMARTCARD update
      • Add support for data re-transmission when a NACK is received in SmartCard T=0.
      • Fix typos in the SMARTCARD State definition description.
    • HAL PWR update
      • Update __HAL_PWR_CLEAR_ODRUDR_FLAG() macro in order to be able to set the Enable Internal Wakeup (EIWUP) bit.
    • HAL SPI update
      • Update SPI_DMAReceiveCplt() API to handle efficiently the repeated transfers.
        • Disable TX DMA request only in bidirectional receive mode.
      • Update HAL_SPI_Init() API:
        • 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 the timeout based on a software loop in order to avoid a blocking issue if systick is disabled.
    • HAL RCC update
      • Update HAL_RCCEx_PeriphCLKConfig() to allow PLLI2S configuration independently from peripherals.
    • HAL IRDA update
      • Fix typos in the IRDA State definition description.
    • HAL RTC_BKP update
      • New APIs to subtract or add one hour to the calendar in one single operation without going through the initialization procedure (Daylight Saving):
        • Add HAL_RTC_DST_Add1Hour()
        • HAL_RTC_DST_Sub1Hour()
        • HAL_RTC_DST_SetStoreOperation()
        • HAL_RTC_DST_ClearStoreOperation()
        • HAL_RTC_DST_ReadStoreOperation()
    • HAL CRYP update
      • Update HAL_CRYP_SetConfig() and HAL_CRYP_GetConfig() APIs to set/get the continent of KeyIVConfigSkip correctly.
      • Support of message head no multiple of word for GCM and CCM algorithms.
    • HAL SAI update
      • Update HAL_SAI_Init() API to correct the formula in case of SPDIF is wrong.
      • Update HAL_SAI_IRQHandler() API:
        • Clear interrupt flags: AFSDET, LFSDET and WCKCFG.
      • Update HAL_SAI_Receive_DMA() API to follow the sequence described in the reference manual.
      • 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.
    • HAL GPIO update
      • Update LL/HAL GPIO_TogglePin() APIs to allow multi Pin’s toggling.
    • HAL I2C update
      • Update STM32F745xx, STM32F746xx, STM32F750xx, STM32F756xx headers files to support I2C Fast mode plus.
    • HAL DAC update
      • Update HAL_DACEx_DualStart() API when checking the software trigger with the right values:
        • DAC_TRIGGER_SOFTWARE instead of DAC_CR_TEN1.
        • (DAC_TRIGGER_SOFTWARE << (DAC_CHANNEL_2 & 0x10UL)) instead of DAC_CR_TEN2.
      • Update driver to support dual mode. Two new APIs added:
        • HAL_DACEx_DualStart()
        • HAL_DACEx_DualStop()
    • HAL/LL ADC update
      • 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 HAL ADC driver to add include of the LL ADC driver.
      • Update LL_ADC_REG_Init() API to avoid enabling continuous mode and discontinuous mode simultaneously.
    • 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.
    • HAL UTILS update
      • UTILS_SetFlashLatency() API renamed to LL_SetFlashLatency() and made public.
    • HAL WWDG update
      • Update HAL driver description.
    • HAL IWDG update
      • HAL_IWDG_DEFAULT_TIMEOUT has become configurable via LSI_VALUE (defined in stm32f7xx_hal_conf.h).
    • HAL EXTI update
      • Update macros using __LINE__ as a macro parameter in order to use EXTI_LINE instead to resolve parameter conflicts with standard C usage.
    • HAL IWDG update
      • Update HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.
    • HAL USB update
      • Enhance HAL HCD driver when USB DMA is enabled:
        • Fix ping and data toggle issue.
        • Rework Channel error report management.
  • CMSIS
    • Improve GCC startup files robustness.
    • Protect Vector table modification following SRAM or FLASH preprocessor directive by a generic preprocessor directive : USER_VECT_TAB_ADDRESS.
    • Add License.md and Readme.md files required for GitHub publication.
    • Add PTPPPSCR register to ETH_TypeDef.
  • BSP
    • OTM8009A PWM backlight frequency set to 22.7kHz (outside of audible audio range)
    • Update stm32746g_discovery_lcd.c driver to avoid conflict with stm32746g_discovery_ts.c driver:
      • Remove GPIO PIN 13 (LCD VSYNC) configuration from BSP_LCD_MspInit() API.
  • Projects
    • Update the board name in STM32F723E-Discovery and STM32756G-EVAL SW4STM32 projects.
    • STM32F769I-Discovery BSP Example updated to remove metallic noise and to be able to playback the recorded audio file under MDK-ARM.
    • STM32746G-DISCOVERY USB device CDC_RNDIS_Server SW4STM32 projects fixed.
    • FPU_Fractal SW4STM32 project fixed.
    • Templates MDK-ARM projects migrated to ARM Compiler 6 (AC-5 like warnings).
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 demonstration project is not provided
  • Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 (“AC5-like Warnings” model).

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • 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 GPIO update
      • Update GPIO initialization sequence to avoid unwanted pulse on GPIO Pin’s
    • 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 SDMMC update
      • Fix typo in “FileFormatGroup” parameter in the HAL_MMC_CardCSDTypeDef and HAL_SD_CardCSDTypeDef structures.
      • Fix an improve handle state and error management
      • Rename the defined MMC card capacity type to be more meaningful:
        • Update MMC_HIGH_VOLTAGE_CARD to MMC LOW_CAPACITY_CARD
        • Update MMC_DUAL_VOLTAGE_CRAD to MMC_HIGH_CAPACITY_CARD
    • HAL I2C update
      • Update HAL_I2C_EV_IRQHandler() API to fix I2C send break issue
      • Update HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with I2C memory IT processes
      • Update HAL_I2C_Init() API to force software reset before setting new I2C configuration
      • Update HAL I2C processes to report ErrorCode when wrong I2C start condition 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).
    • HAL HASH update
      • Following interrupt-based APIs have been added.
        • HAL_HASH_SHA1_Accmlt_IT()
        • HAL_HASH_MD5_Accmlt_IT()
        • HAL_HASHEx_SHA224_Accmlt_IT()
        • HAL_HASHEx_SHA256_Accmlt_IT()
    • HAL RCC update
      • Update the HAL_RCC_ClockConfig() and HAL_RCC_DeInit() API to don’t overwrite the custom tick priority
      • Update HAL_RCC_OscConfig() API to don’t return HAL_ERROR if request repeats the current PLL configuration
  • 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.3
      • 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_20200117
    • 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 STM32769I-EVAL and STM32756G-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
    • Add 2 new USB CDC applications running on STM32746G-Discovery boards
      • CDC_ECM_Server
      • CDC_RNDIS_Server
    • Update STM32756G_EVAL Demo to support new NOR flash component: MT28EW128ABA1LPC
    • Update STM32756G_EVAL and STM32F769I_EVAL to support new Camera component: OV5640
    • 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

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 project is not provided

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-LINK
    • Patch for STM32F730xx and STM32F750xx value lines including flashers for external QSPI flash on STM32F7508-DISCO and STM32F7508-DISCO boards are available here:
      • Utilities_Software
      • Note : this patch allows to program correctly internal flash and external QSPI flash . However, “verify” phase after programming is not functional for external QSPI flash on the STM32F7508-DISCO board
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.27.1 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • General updates to fix known defects and enhancements implementation
  • Add support of HAL callback registration feature
  • Add new HAL EXTI driver
  • 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
  • The following changes done on the HAL drivers require an update on the application code based on older HAL versions
    • HAL/LL Generic update
      • 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/STM32F7xx_HAL_Driver/Src and Drivers/STM32f7xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CRYP_MODULE_ENABLED in stm32f7xx_hal_conf.h
        • The legacy HAL CRYP driver is no longer supported.
      • 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
    • 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, SMBUS, UART, USART, IRDA, JPEG, SMARTCARD, LPTIM, LTDC, MDIOS, MMC, NAND, NOR, 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 stm32f7xx_hal_conf.h project configuration file (template file stm32f7xx_hal_conf_template.h available from Drivers/STM32F7xx_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
      • HAL_IS_BIT_SET()/HAL_IS_BIT_CLR() macros implementation update
      • “stdio.h” include updated with “stddef.h”
  • Projects
    • General updates to fix known defects and enhancements implementation
    • Update HAL CRYP examples to be aligned with new HAL CRYP drivers
    • Update HAL I2C examples to be compliant with new I2C API
    • Update GPIO_InfiniteLedToggling_Init LL example on STM32F767ZI-Nucleo board to use GPIO LL Init API instead of LL unitary macros
    • Add a new CORTEXM_Cache example on STM32F769I_EVAL to show: how to do Data-Cache maintenance on a shared memory
    • buffer accessed by 2 masters (CPU and DMA)
    • Add new LwIP Streaming Server application STM32F769I_EVAL to show : how to encode the stream video RGB888 received from the camera
    • to JPEG format using LibJPEG
    • 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()
    • Add a note how to install Dfuse Demo under win8.1 and later in readme.txt file for USB Device DFU Standalone applications
    • Update USB OTG max number of endpoints (6 FS and 9 HS instead of 4 and 7) on HID Standalone applications for USB Device
    • Remove useless setting of ep0_mps in usbd_conf.c file for USB device applications
    • Update MSC_Standalone applications on 746/756/722/508/767/769 devices to fix incorrect total sector number issue
    • Update USB device applications to Force USBD_StringSerial descriptor to 32-bits alignment on USB device mode in file usbd_desc.c files
    • in order to avoid GCC compilation error
    • Update FreeRTOS MPU applications by adding stream_buffer.c file in project source files to avoid compilation error with MDK-ARM
    • Update FreeRTOS_LowPower application on STM32756G_EVAL to manage correctly the low power mode
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 project is not provided

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-LINK
    • Patch for STM32F730xx and STM32F750xx value lines including flashers for external QSPI flash on STM32F7508-DISCO and STM32F7508-DISCO boards are available here:
      • Utilities_Software
      • Note : this patch allows to program correctly internal flash and external QSPI flash . However, “verify” phase after programming is not functional for external QSPI flash on the STM32F7508-DISCO board
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • System Workbench for STM32 (SW4STM32) toolchain V2.7.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Maintenance release
    • Update version of STM32CubeF7GettingStarted.pdf file

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 STM32CubeF7.
    • 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
  • Add support to STM32F7308-DISCO and STM32F7508-DISCO value line discovery boards
    • This STM32F7 FW release provides support of STM32F7308-DISCO and STM32F7508-DISCO value line discovery boards. It comes with several examples, applications and demonstrations to show how to boot from internal, configure the external memories and jump to user application (located on external memory).
  • BSP
    • Add BSP drivers for STM32F7508-DISCO and STM32F7308-DISCO boards
  • Middleware
    • Add new TouchGFX 4.10 stack
    • Update to use STM32 PDM audio software decoding Library V3.1.0
    • Update to use STemWin V5.44
  • Projects
    • Templates
      • Add template projects for STM32F7508-DISCO/STM32F7308-DISCO
        • ExtMem_Boot : Reference Boot code from internal flash with two possible use cases : XiP and BootROM.
          • XiP use case is intended for eXecution in Place from external flash memory (QSPI) .
            • In this case, the user application code shall be linked with the target execution memory address (External QSPI Flash).
          • BootROM use case is intended to demonstrate how to boot from internal flash, configure the external SDRAM memory, copy user application binary from a micro-SD or from QSPI-Flash to the external SDRAM then jump to the user application.
            • In this case, the user application code shall be linked with the target execution memory address (external SDRAM )
            • This use case is supported only on STM32F7508-DISCO
        • Template_Project : Typical template with execution from external memory. Different configurations are available respecting the possibilities offered by the external memory boot:
          • STM32F7508-DISCO:
            • XiP From QSPI, Data on Internal SRAM
            • XiP From QSPI, Data on External SDRAM
            • BootROM : Execution From External SDRAM , Data on Internal SRAM
          • STM32F7308-DISCO:
            • XiP From QSPI, Data on Internal SRAM
            • XiP From QSPI, Data on External PSRAM
    • Examples
      • Add examples for STM32F7508-DISCO/STM32F7308-DISCO
        • Different examples for different peripherals are available using the following configuration : XiP From QSPI, Data on Internal SRAM
        • GPIO example comes with all the possible configurations ( same as for Template project )
        • QSPI example running from internal flash to show how to read and write from the QSPI flash
    • Applications
      • Add applications for STM32F7508-DISCO/STM32F7308-DISCO
        • Different applications are available( Display , LibJPEG, STemWin … ) using the following configuration : XiP From QSPI, Data on Internal SRAM
        • FreeRTOS applications come with all the possible configurations ( same as for Template project )
      • Update applications to refer to the new PDM libraries:
        • This version is not backward compatible with previous V3.0.1 and earlier version, below the list of complete changes requiring updates on User applications:
          • libPDMFilter_CM7_IAR.a updated and renamed to:
            • libPDMFilter_CM7_IAR_wc32.a for EWARM V8.x and later versions.
            • libPDMFilter_CM7_IAR_wc16.a for EWARM V7.80.x and earlier versions.
          • libPDMFilter_CM7_Keil.lib updated and renamed to libPDMFilter_CM7_Keil_wc16.lib for MDK-ARM projects.
          • libPDMFilter_CM7_GCC.a updated and renamed to libPDMFilter_CM7_GCC_wc32 for SW4STM32 projects.
      • Update SW4STM32 applications to be compliant to new version 2.7
    • Demonstrations
      • Add demonstration for STM32F7508-DISCO composed of:
        • Menu Launcher: Executing from internal flash, it configures the external QSPI flash and allows user to jump either to STemWin demonstration or TouchGFX demonstration
        • STemWin demonstration executing from external QSPI flash
        • TouchGFX demonstration executing from external QSPI flash
      • Add STemWin demonstration for STM32F7308-DISCO:
        • STemWin demonstration executing from external QSPI flash. User must rely first on the ExtMem_Boot template configured in XiP mode
      • Add new demonstrations for STemWin and TouchGFX for STM32F769I_EVAL, STM32F769I-Discovery, STM32756G_EVAL, STM32746-Discovery platforms.
      • Update demonstration for STemWin for STM32F723E-Discovery
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Drivers
Name Version Release note
CMSIS V4.5_CM7 release notes
STM32F7xx CMSIS V1.2.3 release notes
STM32F7xx HAL V1.2.6 release notes
BSP STM32F7308-DISCO V1.0.0 release notes
BSP STM32F7508-DISCO V1.0.0 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.2 release notes
BSP STM32756G_EVAL V2.0.3 release notes
BSP STM32F769I-Discovery V2.0.1 release notes
BSP STM32F769I_EVAL V2.0.2 release notes
BSP STM32F723E-Discovery V1.0.2 release notes
BSP Adafruit_Shield V3.0.2 release notes
BSP ampire480272 V1.0.1 release notes
BSP ampire640480 V1.0.1 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.2 release notes
BSP ft5336 V1.0.1 release notes
BSP ft6x06 V1.0.2 release notes
BSP mfxstm32l152 V2.0.1 release notes
BSP mx25l512 V1.0.3 release notes
BSP n25q128a V1.0.1 release notes
BSP n25q512a V1.0.1 release notes
BSP otm8009a V1.0.3 release notes
BSP ov9655 V1.0.1 release notes
BSP rk043fn48h V1.0.1 release notes
BSP s5k5cag V1.0.1 release notes
BSP st7735 V1.1.2 release notes
BSP stmpe811 V2.0.1 release notes
BSP ts3510 V1.0.2 release notes
BSP wm8994 V2.2.1 release notes
BSP adv7533 V1.0.2 release notes
BSP st7789h2 V1.1.2 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.12c release notes ST modified 20171117 release notes
FreeRTOS V9.0.0 release notes ST modified 20180813 release notes
LwIP V2.0.3 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.44 release notes
STM32 PDM audio software decoding Library V3.1.0 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
JPEG V2.0.0 release notes

Known Limitations

  • STemWin demonstration for STM32F7308-DISCO
    • SW4STM32 project is not provided

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-LINK
    • Patch for STM32F730xx and STM32F750xx value lines including flashers for external QSPI flash on STM32F7508-DISCO and STM32F7508-DISCO boards are available here:
      • Utilities_Software
      • Note : this patch allows to program correctly internal flash and external QSPI flash . However, “verify” phase after programming is not functional for external QSPI flash on the STM32F7508-DISCO board
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • System Workbench for STM32 (SW4STM32) toolchain V2.7.0

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevC, STM32F7308-DISCO RevA, STM32F7508-DISCO RevA
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Add support for STM32F730xx and STM32F750xx value line
    • The STM32F730xx and STM32F750xx value line come with only 64KB internal flash.
    • These value line are intended for code execution from external memories.
    • This STM32F7 FW release provide several applications to demonstrate how to boot from internal, configure the external memories and jump to user application (located on external memory) . Two possible use cases are available : XiP and BootROM.
      • XiP use case is intended for eXecution in Place from external flash memory (QSPI or FMC-NOR flash) .
        • In this case, The user application code shall be linked with the target execution memory address (external QSPI or FMC-NOR flash).
      • BootROM use case is intended to demonstrate how to boot from internal flash, configure the external RAM memories (SDRAM or SRAM), copy user application binary from a micro-SD or from QSPI-Flash to the external SDRAM or external SRAM then jump to the user application.
        • In this case, The user application code shall be linked with the target execution memory address (external SDRAM or SRAM).
  • HAL
    • HAL DMA update
      • DMA_CHANNEL_8 to DMA_CHANNEL_15 are also defined in case of STM32F730xx (same features as STM32F733xx line)
    • HAL FLASH update
      • Add support of STM32F730xx with 4 FLash sectors of 16KB each.
      • Add support of STM32F750xx with 2 FLash sectors of 32KB each.
    • HAL GPIO update
      • Add support of STM32F730xx value line : same features as STM32F733xx line
      • Add support of STM32F750xx value line : same features as STM32F756xx line
    • HAL RCC update
      • Add support of STM32F730xx value line : same features as STM32F733xx line
      • Add support of STM32F750xx value line : same features as STM32F756xx line
  • CMSIS
    • Add the support of STM32F730xx and STM32F750xx devices
  • Projects
    • Add Following applications for STM32F756G_EVAL and STM32F723E-Discovery:
      • ExtMem_Boot:
        • This application shows how to boot from internal flash, configure external memories then jump to user application located on external memory
        • User can select QSPI flash , FMC-NOR flash, external SDRAM or external SRAM for code execution.
      • ExtMem_Application\LedToggling:
        • Sample application runing from external flash (QSPI flash or FMC-NOR flash) or external RAM
      • ExtMem_Application\FreeRTOS:
        • Sample FreeRTOS application with execution from external flash (QSPI flash or FMC-NOR flash) or external RAM
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Drivers
Name Version Release note
CMSIS V4.5_CM7 release notes
STM32F7xx CMSIS V1.2.3 release notes
STM32F7xx HAL V1.2.6 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.2 release notes
BSP STM32756G_EVAL V2.0.3 release notes
BSP STM32F769I-Discovery V2.0.1 release notes
BSP STM32F769I_EVAL V2.0.2 release notes
BSP STM32F723E-Discovery V1.0.2 release notes
BSP Adafruit_Shield V3.0.2 release notes
BSP ampire480272 V1.0.1 release notes
BSP ampire640480 V1.0.1 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.2 release notes
BSP ft5336 V1.0.1 release notes
BSP ft6x06 V1.0.2 release notes
BSP mfxstm32l152 V2.0.1 release notes
BSP mx25l512 V1.0.3 release notes
BSP n25q128a V1.0.1 release notes
BSP n25q512a V1.0.1 release notes
BSP otm8009a V1.0.3 release notes
BSP ov9655 V1.0.1 release notes
BSP rk043fn48h V1.0.1 release notes
BSP s5k5cag V1.0.1 release notes
BSP st7735 V1.1.2 release notes
BSP stmpe811 V2.0.1 release notes
BSP ts3510 V1.0.2 release notes
BSP wm8994 V2.2.1 release notes
BSP adv7533 V1.0.2 release notes
BSP st7789h2 V1.1.2 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.12c release notes ST modified 20171117 release notes
FreeRTOS V9.0.0 release notes ST modified 20180813 release notes
LwIP V2.0.3 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.40 release notes
STM32 PDM audio software decoding Library V3.0.1 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
JPEG V2.0.0 release notes

Known Limitations

  • NONE

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
    • Patch for STM32F730xx and STM32F750xx value lines here:
      • Utilities\PC_Software\patch\EWARM
      • Note : this patch allows to program correctly internal flash and external (QSPI flash and FMC-NOR flash). However, “verify” phase after programming is not functional for external FMC-NOR flash on the STM32756G-EVAL board
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + STMicroelectronics.STM32F7xx_DFP.1.0.3.pack
  • Patch for STM32F730xx and STM32F750xx value lines available here:
    • Utilities\PC_Software\patch\MDK-ARM\
    • Note : this patch allows to program correctly internal flash and external flash (QSPI flash and FMC-NOR flash)
  • System Workbench for STM32 (SW4STM32) toolchain V2.5.0 + ST-Link.
    • Note : rely on the STM32CubeProgarmmer to load the external flash application (QSPI flash and FMC-NOR flash)

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32, STM32F730xx, STM32F750xx
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • General updates to fix known defects and enhancements implementation
  • HAL
    • HAL update
      • Add new macro to get variable aligned on 32-bytes, required for cache maintenance purpose
      • Update UNUSED() macro implementation to avoid GCC warning
        • The warning is detected when the UNUSED() macro is called from C++ file
    • HAL SAI update
      • Update HAL_SAI_DMAStop() and HAL_SAI_Abort() process to fix the lock/unlock audio issue
    • HAL PWR update
      • Update HAL_PWR_EnterSLEEPMode() and HAL_PWR_EnterSTOPMode() APIs to ensure that all instructions finished before entering STOP mode.
    • HAL HCD update
      • Add new callback to be used to handle usb device connection/disconnection
        • HAL_HCD_PortEnabled_Callback()
        • HAL_HCD_PortDisabled_Callback()
      • Update to prevent reactivate host interrrupt channel
  • Projects
    • Add new STemWin applications for STM32F769I_EVAL, STM32F769I-Discovery, STM32756G_EVAL and STM32746-Discovery platforms.
    • Improve cache management for all examples and applications using cache maintenance routines.
  • For the complete list of changes, please refer to the release notes of each firmware component

Contents

Drivers
Name Version Release note
CMSIS V4.5_CM7 release notes
STM32F7xx CMSIS V1.2.2 release notes
STM32F7xx HAL V1.2.5 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.2 release notes
BSP STM32756G_EVAL V2.0.3 release notes
BSP STM32F769I-Discovery V2.0.1 release notes
BSP STM32F769I_EVAL V2.0.2 release notes
BSP STM32F723E-Discovery V1.0.2 release notes
BSP Adafruit_Shield V3.0.2 release notes
BSP ampire480272 V1.0.1 release notes
BSP ampire640480 V1.0.1 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.2 release notes
BSP ft5336 V1.0.1 release notes
BSP ft6x06 V1.0.2 release notes
BSP mfxstm32l152 V2.0.1 release notes
BSP mx25l512 V1.0.3 release notes
BSP n25q128a V1.0.1 release notes
BSP n25q512a V1.0.1 release notes
BSP otm8009a V1.0.3 release notes
BSP ov9655 V1.0.1 release notes
BSP rk043fn48h V1.0.1 release notes
BSP s5k5cag V1.0.1 release notes
BSP st7735 V1.1.2 release notes
BSP stmpe811 V2.0.1 release notes
BSP ts3510 V1.0.2 release notes
BSP wm8994 V2.2.1 release notes
BSP adv7533 V1.0.2 release notes
BSP st7789h2 V1.1.2 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.12c release notes ST modified 20171117 release notes
FreeRTOS V9.0.0 release notes ST modified 20180813 release notes
LwIP V2.0.3 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.40 release notes
STM32 PDM audio software decoding Library V3.0.1 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
JPEG V2.0.0 release notes

Known Limitations

  • NONE

Development Toolchains and Compilers

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

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Maintenance release:
    • General update to fix known defects and several implementations enhancement
    • The following changes done on the HAL drivers require an update on the application code based on older HAL versions
      • CAN driver API’s compatibility is broken
        • A new HAL CAN driver has been redesigned with new API’s, to bypass limitation on CAN Tx/Rx FIFO management present with previous HAL CAN driver versions
        • The new HAL CAN driver is the recommended version. il is located as usual in Driver/STM32F7xx_HAL_Driver/Src and Driver/STM32F7xx_HAL_Driver/Inc folders. it can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f7xx_hal_conf.h file.
        • The legacy HAL CAN driver is also present in the package release in Driver/STM32F7xx_HAL_Driver/Src/Legacy and Driver/STM32F7xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons. its usage is not recommended as deprecated. it can however be enabled through switch HAL_CAN_LEGACY_MODULE_ENABLED in stm32f7xx_hal_conf.h file.
      • PDM v3.0.1 break the compatible with previous version and may require an update on the application code
        • The PDM library path is moved into “..PDM” folder
        • 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
    • HAL CAN driver has been redesigned with new API’s.
  • BSP
    • General updates to fix known defects and enhancements implementation
    • General update to support PDM 3.0.1
  • Middleware
    • Update to use mbedTLS V2.6.1 ST modified 20171110
    • Update to use LwIP V2.0.3 ST modified 20171110
    • Update to use FatFS R0.12c ST modified 20171117
    • Update to use PDM Lib version V3.0.1
  • Projects
    • Update CAN examples to support new HAL CAN driver
    • Update FatFs projects to be aligned with new FatFs stack
    • Update LwIP projects to be aligned with new LwIP stack V2.0.3
    • Update projects to be aligned with new PDM Lib version V3.0.1
    • Updtae FreeRTOS MPU application to support MDK-ARM and SW4STM32

Contents

Drivers
Name Version Release note
CMSIS V4.5_CM7 release notes
STM32F7xx CMSIS V1.2.2 release notes
STM32F7xx HAL V1.2.4 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.2 release notes
BSP STM32756G_EVAL V2.0.3 release notes
BSP STM32F769I-Discovery V2.0.1 release notes
BSP STM32F769I_EVAL V2.0.2 release notes
BSP STM32F723E-Discovery V1.0.2 release notes
BSP Adafruit_Shield V3.0.2 release notes
BSP ampire480272 V1.0.1 release notes
BSP ampire640480 V1.0.1 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.2 release notes
BSP ft5336 V1.0.1 release notes
BSP ft6x06 V1.0.2 release notes
BSP mfxstm32l152 V2.0.1 release notes
BSP mx25l512 V1.0.3 release notes
BSP n25q128a V1.0.1 release notes
BSP n25q512a V1.0.1 release notes
BSP otm8009a V1.0.3 release notes
BSP ov9655 V1.0.1 release notes
BSP rk043fn48h V1.0.1 release notes
BSP s5k5cag V1.0.1 release notes
BSP st7735 V1.1.2 release notes
BSP stmpe811 V2.0.1 release notes
BSP ts3510 V1.0.2 release notes
BSP wm8994 V2.2.0 release notes
BSP adv7533 V1.0.2 release notes
BSP st7789h2 V1.1.2 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.12c release notes ST modified 20171117 release notes
FreeRTOS V9.0.0 release notes ST modified 20180813 release notes
LwIP V2.0.3 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.40 release notes
STM32 PDM audio software decoding Library V3.0.1 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
JPEG V2.0.0 release notes

Known Limitations

  • NONE

Development Toolchains and Compilers

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

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Maintenance release
    • Fix known defects and several implementations enhancement
    • Fix Linux compilation issues
    • Remove Date and version
    • 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.
  • Middleware
    • Update to use FatFs r0.12c ST modified 20170710
    • Update to use STemWin V5.40
    • Update to use FreeRTOS V9.0.0 ST modified 20171008
  • Projects
    • Update projects to support new FatFs and STemWin versions
    • Add new FreeRTOS MPU application running on STM32756G_EVAL, only EWARM Toolchain is supported

Contents

Drivers
Name Version Release note
CMSIS V4.5 release notes
STM32F7xx CMSIS V1.2.1 release notes
STM32F7xx HAL V1.2.3 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.2 release notes
BSP STM32756G_EVAL V2.0.2 release notes
BSP STM32F769I-Discovery V2.0.1 release notes
BSP STM32F769I_EVAL V2.0.2 release notes
BSP STM32F723E-Discovery V1.0.2 release notes
BSP Adafruit_Shield V3.0.2 release notes
BSP ampire480272 V1.0.1 release notes
BSP ampire640480 V1.0.1 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.2 release notes
BSP ft5336 V1.0.1 release notes
BSP ft6x06 V1.0.2 release notes
BSP mfxstm32l152 V2.0.1 release notes
BSP mx25l512 V1.0.3 release notes
BSP n25q128a V1.0.1 release notes
BSP n25q512a V1.0.1 release notes
BSP otm8009a V1.0.3 release notes
BSP ov9655 V1.0.1 release notes
BSP rk043fn48h V1.0.1 release notes
BSP s5k5cag V1.0.1 release notes
BSP st7735 V1.1.2 release notes
BSP stmpe811 V2.0.1 release notes
BSP ts3510 V1.0.2 release notes
BSP wm8994 V2.2.0 release notes
BSP adv7533 V1.0.2 release notes
BSP st7789h2 V1.1.2 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.12 release notes ST modified 20170710 release notes
FreeRTOS V9.0.0 release notes ST modified 20180813 release notes
LwIP V2.0.0 release notes ST modified 20161223 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.40 release notes
STM32 PDM audio software decoding Library V2.1.0 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
JPEG V2.0.0 release notes

Known Limitations

  • The USB Host CDC_Standalone application running on STM32F769I_EVAL board and USB Host MSC_RTOS application running on STM32F723E-Discovery are removed from V1.8.0 package due to wrong behavior detected that they will be fixed in next release.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.21 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.14 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Maintenance release
  • Middleware
    • Update to use FreeRTOS V9.0.0 ST modified 20170303
      • Update CMSIS-RTOS drivers to support both CMSIS Core V4.x and V5.x.

Contents

Drivers
Name Version Release note
CMSIS V4.5 release notes
STM32F7xx CMSIS V1.2.0 release notes
STM32F7xx HAL V1.2.1 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.0 release notes
BSP STM32756G_EVAL V2.0.0 release notes
BSP STM32F769I-Discovery V2.0.0 release notes
BSP STM32F769I_EVAL V2.0.0 release notes
BSP STM32F723E-Discovery V1.0.0 release notes
BSP Adafruit_Shield V3.0.0 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.1 release notes
BSP ft5336 V1.0.0 release notes
BSP ft6x06 V1.0.1 release notes
BSP mfxstm32l152 V2.0.0 release notes
BSP mx25l512 V1.0.2 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP otm8009a V1.0.1 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP st7735 V1.1.1 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.1.0 release notes
BSP adv7533 V1.0.1 release notes
BSP st7789h2 V1.1.1 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.11 release notes ST modified 20161223 release notes
FreeRTOS V9.0.0 release notes ST modified 20170303 release notes
LwIP V2.0.0 release notes ST modified 20161223 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.32 release notes
STM32 PDM audio software decoding Library V2.1.0 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
JPEG V2.0.0 release notes

Known Limitations

  • NONE

Development Toolchains and Compilers

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

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Patch release to fix issues in
    • DMA, SD, MMCD and NAND HAL drivers
    • ADC and RTC LL drivers

Contents

Drivers
ame Version Release note
STM32F7xx HAL V1.2.1 release notes

Main Changes

  • Official release to add the support of STM32F722xx, STM32F723xx, STM32F732xx and STM32F733xx devices
  • Add Low Layer drivers under Drivers32F7xx_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 STM32F7xx 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/stm32f7xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f7xx_ll_ppp.h file must be included in user code.
      • Refer to UM1891 for Low Layer presentation and UM1905 for API list
  • General update to fix known defects and several implementations enhancement
  • HAL
    • Add new HAL drivers for MMC and SMBUS
    • Rework of the following HAL drivers requiring update on user application code based on previous HAL drivers versions:
      • HAL SD drivers overall rework for more efficient implementation
        • Note: this driver rework implied:
          • STM32F7xx Evaluation boards and Discovery boards BSP drivers update
          • FatFS Middleware update
          • All SD applications and examples update
      • HAL TIM driver update to add new AutoReloadPreload field in TIM_Base_InitTypeDef structure
      • HAL NAND driver update to
        • Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
        • Add new HAL_NAND_ConfigDevice API
  • BSP
    • Add new BSP drivers for STM32F723E-Discovery boards
    • Update STM32746G-Discovery, STM32756G_EVAL, STM32769I_EVAL, STM32769I-Discovery and Adafruit_Shield BSP drivers to be aligned with the version V1.2.0 of HAL peripheral drivers and escpacially update required by the new HAL SD driver
  • Middleware
    • Update to new build of LibJPEG V8d ST modified 20161118
      • 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.
    • 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
  • Projects
    • Add Examples, Applications and Demonstrations firmware for STM32F722ZE-Nucleo and STM32F723E-Discovery boards
      • new GPS application based on the Nano GPS Click module plugged on Fanout board coming with the STM32F723E-Discovery board
      • support of the IAP over Wifi application based on the ESP8266 module with the STM32F723E-Discovery board
    • Add new mbedTLS applications to replace PolarSSL middleware applications
    • Update overall projects to be aligned with latest version of HAL, BSP and Middleware drivers
    • Note:
      • Demonstrations Firmware for STM32F7x9I_EVAL and STM32F769I-Discovery, provided within this package, don’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
        • Embedded Wizard demonstration module. Free evaluation version of the TARA Systems demonstration, is available at www.embedded-wizard.de/stm32

Contents

Drivers
Name Version Release note
CMSIS V4.5 release notes
STM32F7xx CMSIS V1.2.0 release notes
STM32F7xx HAL V1.2.0 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V2.0.0 release notes
BSP STM32756G_EVAL V2.0.0 release notes
BSP STM32F769I-Discovery V2.0.0 release notes
BSP STM32F769I_EVAL V2.0.0 release notes
BSP STM32F723E-Discovery V1.0.0 release notes
BSP Adafruit_Shield V3.0.0 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.1 release notes
BSP ft5336 V1.0.0 release notes
BSP ft6x06 V1.0.1* release notes
BSP mfxstm32l152 V2.0.0 release notes
BSP mx25l512 V1.0.2 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP otm8009a V1.0.1 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP st7735 V1.1.1 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.1.0 release notes
BSP adv7533 V1.0.1 release notes
BSP st7789h2 V1.1.1 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.11 release notes ST modified 20161223 release notes
FreeRTOS V9.0.0 release notes ST modified 20160930 release notes
LwIP V2.0.0 release notes ST modified 20161223 release notes
MbedTLS V2.6.1 release notes ST modified 20171110 release notes
STemWin V5.32 release notes
STM32 PDM audio software decoding Library V2.1.0 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
JPEG V2.0.0 release notes

Known Limitations

  • NONE

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.70 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.21 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.13 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F756/746/745, STM32F723/33/22/32
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB, STM32F723E-Discovery RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB, STM32F722ZE-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Patch release to add new application for Esp8266 IAP over WiFi on STM32F769I-Discovery board

Contents

  • Projects
    • Esp8266_IAP_Client application project under STM32F769I-Discoveryfolder

Main Changes

  • Fix known defects and several implementations enhancement
  • Add the support of DSI-HDMI adapter for STM32F769I_EVAL and STM32F769I-Discovery BSP drivers and Display projects
  • HAL
    • Fix known defects and several implementation enhancement
  • BSP
    • Update BSP drivers for STM32F769I_EVAL and STM32F769I-Discovery boards to support DSI-HDMI adapter
  • Middleware
    • Update to STemWin V5.32
    • Update to new build of LibJPEG V8d ST modified 20160923
      • Note: The updates made on this new build have impact on application based on previous version LibJPEG V8d ST modified 20141224. For details please refer to its Release Note.
  • Projects
    • Update LCD_DSI examples for the STM32F769I-Discovery and STM32F769I_EVAL boards to support the DSI_HDMI adapter
    • Add new JPEG_EncodingUsingFs_DMA for the STM32F769I_EVAL board
    • Add new FPU_Fractal application for the STM32F769I_EVAL board
    • All STemWin and LibJPEG projects are updated following changes in latest version of respective Middlewares versions
    • Update STM32F746G-Discovery and STM32F7x6G_EVAL boards demonstration firmware to add the support of AVI video files
    • Note:
      • Demonstrations Firmware for STM32F7x9I_EVAL and STM32F769I-Discovery, provided within this package, don’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
        • Embedded Wizard demonstration module. Free evaluation version of the TARA Systems demonstration, is available at www.embedded-wizard.de/stm32

Contents

Drivers
Name Version Release note
CMSIS V4.5 release notes
STM32F7xx CMSIS V1.1.2 release notes
STM32F7xx HAL V1.1.2 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V1.1.0 release notes
BSP STM32756G_EVAL V1.1.0 release notes
BSP STM32F769I-Discovery V1.1.0 release notes
BSP STM32F769I_EVAL V1.1.0 release notes
BSP Adafruit_Shield V2.0.1 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.1 release notes
BSP ft5336 V1.0.0 release notes
BSP ft6x06 V1.0.0 release notes
BSP mfxstm32l152 V2.0.0 release notes
BSP mx25l512 V1.0.0 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP otm8009a V1.0.1 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP st7735 V1.1.1 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.1.0 release notes
BSP adv7533 V1.0.0 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.11 release notes ST modified 20150508 release notes
FreeRTOS V8.2.3 release notes ST modified 20160122 release notes
LwIP V1.4.1 release notes ST modified 20160422 release notes
PolarSSL V1.2.8 release notes ST modified 20150327 release notes
STemWin V5.32 release notes
STM32 PDM audio software decoding Library V2.1.0 release notes
LibJPEG V8d release notes ST modified 20160923 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
JPEG V1.0.0 release notes

Known Limitations

  • NONE

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.70 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.21 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.10 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F723/33/22/32, STM32F756/746/745 devices RevZ
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Patch release to :
    • Fix minor issue in JPEG, DMA and SPI HAL drivers
    • Update JPEG Utility drivers mainly to add encoding preprocessing for color scales YCbCr, Gray Scale and CMYK
      • Caution: Updates made on the jpeg_utils_conf_template file require update on the application code based on JPEG Utility drivers V1.0.0
    • Update typos and comments in stm32f7xx.h and STM32F769I_EVAL, STM32F769I-Discovery, STM32756G_EVAL and STM32746G-Discovery drivers
    • Add one Encoding project example running on STM32F769I_EVAL board

Contents

Drivers
Name Version Release note
STM32F7xx CMSIS V1.1.1 release notes
STM32F7xx HAL V1.1.1 release notes
BSP STM32746G-Discovery V1.1.1 release notes
BSP STM32756G_EVAL V1.1.1 release notes
BSP STM32F769I-Discovery V1.0.1 release notes
BSP STM32F769I_EVAL V1.0.1 release notes
Utilities
Name Version Release note
JPEG V2.0.0 release notes

Main Changes

  • Official release to add the support of STM32F765xx, STM32F767xx, STM32F768xx, STM32F769xx, STM32F777xx, STM32F778xx and STM32F779xx devices
  • Fix known defects and several implementation enhancement
  • HAL
    • Add the support of STM32F765xx, STM32F767xx, STM32F768xx, STM32F769xx, STM32F777xx, STM32F778xx and STM32F779xx devices
      • Add new drivers for DFSDM, DSI, JPEG and MDIO peripherals
    • Enhance HAL delay and Timebase implementation by means of TIM, RTC Alarm or RTC Wakeup usage
    • Almost HAL drivers implementation enhancement requiring update on user application code based on HAL V1.0.4
      • 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
  • BSP
    • Add new BSP drivers for STM32F769I_EVAL and STM32F769I-Discovery boards
    • Align all other BSP drivers with the V1.1.0 of HAL peripheral drivers
    • Update STM32756G_EVAL driver to add new APIs for potentiometer management
  • Middleware
    • Update to STM32 USB Device Library to V2.4.2
    • Update to FreeRTOS V8.2.3
    • Update to new build of LwIP V1.4.1 ST modified 20160422
    • Note: Updated architecture having impact on application based on previous version LwIP V1.4.1 ST modified 20140619
  • Utilities
    • Add new JPEG utility drivers for decoding post processing
  • Projects
    • Add Examples, Applications and Demonstrations firmware for STM32F767ZI-Nucleo, STM32F7x9I_EVAL and STM32F769I-Discovery boards
    • Add new examples for STM32756G_EVAL, STM32F746ZG-Nucleo and STM32F746G-Discovery board (13 in total)
    • All projects are updated following changes in latest version of HAL and Middlewares
    • Note: - Demonstrations Firmware for STM32F7x9I_EVAL and STM32F769I-Discovery, provided within this package, don’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 - Embedded Wizard demonstration module. Free evaluation version of the TARA Systems demonstration, is available at www.embedded-wizard.de/stm32

Contents

Drivers
Name Version Release note
CMSIS V4.5 release notes
STM32F7xx CMSIS V1.1.0 release notes
STM32F7xx HAL V1.1.0 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32746G-Discovery V1.1.0 release notes
BSP STM32756G_EVAL V1.1.0 release notes
BSP STM32F769I-Discovery V1.0.0 release notes
BSP STM32F769I_EVAL V1.0.0 release notes
BSP Adafruit_Shield V2.0.1 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.1 release notes
BSP ft5336 V1.0.0 release notes
BSP ft6x06 V1.0.0 release notes
BSP mfxstm32l152 V2.0.0 release notes
BSP mx25l512 V1.0.0 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP otm8009a V1.0.0 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP st7735 V1.1.1 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.1.0 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.2 release notes
FatFS R0.11 release notes ST modified 20150508 release notes
FreeRTOS V8.2.3 release notes ST modified 20160122 release notes
LwIP V1.4.1 release notes ST modified 20160422 release notes
PolarSSL V1.2.8 release notes ST modified 20150327 release notes
STemWin V5.28 release notes
STM32 PDM audio software decoding Library V2.1.0 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.0 release notes
JPEG V1.0.0 release notes

Known Limitations

  • This version of the STM32Cube_FW_F7 package provides APIs for HW JPEG encoding through the STM32F7xx HAL JPEG driver. HW JPEG encoder requires input data organized in YCbCr blocks thus a pre-processing should applied on the RGB data to be encoded (transform from RGB pixels to YCbCr blocks). Neither encoding pre-processing utility software nor applicative examples are part of this firmware package version. They will be provided in a coming patch release.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.50 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.9 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xx, STM32F723/33/22/32, STM32F756/746/745 devices RevZ
  • Discovery boards: STM32F769I-DISCO RevB, STM32F746G-DISCO RevB
  • Nucleo boards: STM32F767ZI-Nucleo RevB, STM32F746ZG-Nucleo RevB
  • Evaluation boards: STM32F769I-EVAL RevB, STM32756G-EVAL, STM32746G-EVAL RevB

Main Changes

  • Patch release to fix issue in Ethernet HAL driver

Contents

Drivers
Name Version Release note
STM32F7xx HAL V1.0.4 release notes

Main Changes

  • Add the support of the STM32F746ZG NUCLEO144 Board
  • Fix known defects and several enhancement 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.0.2
      • Update HAL_CRYP_DESECB_Decrypt() API to invert pPlainData and pCypherData parameters
  • CMSIS
    • General updates to fix known defects and enhancements implementation
    • system_stm32f7xx.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 BSP drivers for STM32F7xx_Nucleo_144 boards
  • Middleware
    • No changes
  • Projects
    • General updates to fix known defects and enhancements implementation
    • Add 35 projects STM32F746ZG NUCLEO144 board

Contents

Drivers
Name Version Release note
CMSIS V4.5 release notes
STM32F7xx CMSIS V1.0.3 release notes
STM32F7xx HAL V1.0.3 release notes
BSP STM32F7xx-Nucleo 144 V1.0.0 release notes
BSP STM32756G-Discovery V1.1.0 release notes
BSP STM32756G_EVAL V1.0.2 release notes
BSP Adafruit_Shield V2.0.1 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.1 release notes
BSP ft5336 V1.0.0 release notes
BSP mfxstm32l152 V1.3.0 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP st7735 V1.1.1 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.0.0 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.1 release notes
FatFS R0.11 release notes ST modified 20150508 release notes
FreeRTOS V8.2.1 release notes ST modified 20150327 release notes
LwIP V1.4.1 release notes ST modified 20140619 release notes
PolarSSL V1.2.8 release notes ST modified 20150327 release notes
STemWin V5.28 release notes
STM32 PDM audio software decoding Library V2.1.0 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.0 release notes

Known Limitations

  • EWARM projects for PWR_STOP and FMC_SDRAM_LowPower examples are provided with medium size optimization due to a compiler limitation observed with V7.40

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.40 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.14 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.4 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F756/746/745 devices RevZ
  • Discovery board: STM32F746G-DISCO RevB
  • Nucleo board: STM32F746ZG-Nucleo RevB
  • Evaluation boards: STM32756G-EVAL RevB, STM32746G-EVAL RevB

Main Changes

  • Maintenance release to fix known defects and several enhancement implementation
  • HAL
    • General update to fix known defects and several enhancement implementation
  • Middlewares
    • Updated USB Host V3.2.2: Fix known defects and enhancement implementation
  • BSP
    • Update exc7200 BSP component to enhance touch response of the LCD on the MB1063
    • Update stm32756g_eval_ts BSP driver to be aligned with the exc7200 component enhancement
    • Update stm32756g_eval_lcd BSP driver to ensure LCD refresh rate of 60Hz
  • Projects
    • STM32746G-Discovery projects:
      • Update PWR_CurrentConsumption example to disable USB and ETH Phy for better current consumption measurement
      • Update all stm32f7xx_hal_conf.h files for proper ETH PHY support
      • Update all system_stm32f7xx.c files for proper external SDRAM configuration
      • Update demonstration icons and pictures for size optimization
      • Update FreeRTOS based application for Heap size optimization
      • Add new example FMC_SDRAM_DataMemory
    • STM327x6G-EVAL projects:
      • Update LCD based examples and application to be aligned with BSP drivers update
      • Update demonstration icons and pictures for size optimization
      • Update demonstration firmware to enhance the response of the long touch on LCD
      • Update FreeRTOS based application for Heap size optimization

Contents

Drivers
Name Version Release note
CMSIS V4.3 release notes
STM32F7xx CMSIS V1.0.2 release notes
STM32F7xx HAL V1.0.2 release notes
BSP STM32756G-Discovery V1.1.0 release notes
BSP STM32756G_EVAL V1.0.2 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.1 release notes
BSP exc7200 V1.0.1 release notes
BSP ft5336 V1.0.0 release notes
BSP mfxstm32l152 V1.3.0 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.0.0 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.2 release notes
STM32 USB Device Library V2.4.1 release notes
FatFS R0.11 release notes ST modified 20150508 release notes
FreeRTOS V8.2.1 release notes ST modified 20150327 release notes
LwIP V1.4.1 release notes ST modified 20140619 release notes
PolarSSL V1.2.8 release notes ST modified 20150327 release notes
STemWin V5.28 release notes
STM32 PDM audio software decoding Library V2.1.0 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.0 release notes

Known Limitations

  • EWARM projects for PWR_STOP and FMC_SDRAM_LowPower examples are provided with medium size optimization due to a compiler limitation observed with V7.40

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.40 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.14 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.4 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F756/746/745 devices RevZ
  • Discovery board: STM32F746G-DISCO RevB
  • Evaluation boards: STM32756G-EVAL RevB, STM32746G-EVAL

Main Changes

  • Official release of to support the STM32F746G-DISCO board
  • HAL
    • Fix known defects and several enhancement 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
    • Upgrade to FatFS R0.11
  • BSP
    • Add new BPS drivers for STM32F746G_Discovery board
    • Align EVAL BSP drivers with the updated BSP Common, mfxstm32l152 and wm8994 components
  • Projects
    • Add Examples, Applications and Demonstration firmware running on the STM32F746G_DISCO board
    • All projects updated following changes in latest version of HAL and Middlewares
    • Add support of SW4STM32 for the STM327x6G-EVAL demonstration firmware

Contents

Drivers
Name Version Release note
CMSIS V4.3 release notes
STM32F7xx CMSIS V1.0.1 release notes
STM32F7xx HAL V1.0.1 release notes
BSP STM32756G-Discovery V1.1.0 release notes
BSP STM32756G_EVAL V1.0.1 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V4.0.0 release notes
BSP exc7200 V1.0.0 release notes
BSP ft5336 V1.0.0 release notes
BSP mfxstm32l152 V1.3.0 release notes
BSP n25q128a V1.0.0 release notes
BSP n25q512a V1.0.0 release notes
BSP ov9655 V1.0.0 release notes
BSP rk043fn48h V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V2.0.0 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.1 release notes
STM32 USB Device Library V2.4.1 release notes
FatFS R0.11 release notes ST modified 20150508 release notes
FreeRTOS V8.2.1 release notes ST modified 20150327 release notes
LwIP V1.4.1 release notes ST modified 20140619 release notes
PolarSSL V1.2.8 release notes ST modified 20150327 release notes
STemWin V5.28 release notes
STM32 PDM audio software decoding Library V2.1.0 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.0 release notes

Known Limitations

  • EWARM projects for PWR_STOP and FMC_SDRAM_LowPower examples are provided with medium size optimization due to a compiler limitation observed with V7.40

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain 7.40 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.14 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F756/746/745 devices RevZ
  • Discovery board: STM32F746G-DISCO RevB
  • Evaluation boards: STM32756G-EVAL RevB, STM32746G-EVAL

Main Changes

  • First official release of STM32CubeF7 (STM32Cube for STM32F7 Series)

Contents

Drivers
Name Version Release note
CMSIS V4.3 release notes
STM32F7xx CMSIS V1.0.0 release notes
STM32F7xx HAL V1.0.0 release notes
BSP STM32756G_EVAL V1.0.0 release notes
BSP ampire480272 V1.0.0 release notes
BSP ampire640480 V1.0.0 release notes
BSP Common V3.0.0 release notes
BSP exc7200 V1.0.0 release notes
BSP mfxstm32l152 V1.2.0 release notes
BSP n25q512a V1.0.0 release notes
BSP s5k5cag V1.0.0 release notes
BSP stmpe811 V2.0.0 release notes
BSP ts3510 V1.0.1 release notes
BSP wm8994 V1.0.2 release notes
Middlewares
Name Version Release note
STM32 USB Host Library V3.2.0 release notes
STM32 USB Device Library V2.4.0 release notes
FatFS R0.10 release notes ST modified 20141120 release notes
FreeRTOS V8.2.1 release notes ST modified 20150327 release notes
LwIP V1.4.1 release notes ST modified 20140619 release notes
PolarSSL V1.2.8 release notes ST modified 20150327 release notes
STemWin V5.28 release notes
STM32 PDM audio software decoding Library V2.1.0 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.0 release notes

Known Limitations

  • SW4STM32 project is not provided for the STM327x6G-EVAL demonstration
  • EWARM projects for PWR_STOP and FMC_SDRAM_LowPower examples are provided with medium size optimization due to a compiler limitation observed with V7.40

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.40 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.14 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.1.0 + ST-Link.

Supported Devices and EVAL boards

  • Devices: STM32F756/746/745 devices RevZ
  • Discovery board: STM32F746G-DISCO RevB
  • Evaluation boards: STM32756G-EVAL RevB, STM32746G-EVAL