-
-
-
-
-
- Back to Release page
- |
-
-
-
-Release
-Notes for STM32F7xx HAL Drivers
-Copyright
-2017 STMicroelectronics
-
- |
-
-
-
- The hardware
-abstraction layer (HAL) provides low level drivers and the hardware
-interfacing methods to interact with upper layer (application,
-libraries and stacks). It includes a complete set of ready-to-use
-APIs, that are feature-oriented instead of IP-Oriented to simplify user
-application development.
-
-
-
-
-Update History
- V1.3.0/ 10-June-2022Main Changes
-
-
-
-- General updates to fix
- known defects and enhancements implementation.
- HAL ETH
- Entire receive process reworked.
- Resolve the problem of received data corruption.
- Implement transmission in interrupt mode.
- Handle one interrupt for multiple transmitted packets.
- Implement APIs to handle PTP feature.
- Implement APIs to handle Timestamp feature.
- Add support of receive buffer unavailable.
- Update HAL_ETH_IRQHandler() to handle receive buffer unavailable.
- HAL EXTI
- Fix computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine() API.
- HAL TIM
- 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.
- CEC HAL
- Better performance by removing multiple volatile reads or writes in interrupt handler.
- I2C HAL
- Timeout
- issue using HAL MEM interface through FreeRTOS.
- I2C_IsErrorOccurred does not return error if timeout is detected.
- The ADDRF flag is cleared too early when the restart is received but the direction has changed.
- NOR HAL
- FMC_WRITE_OPERATION_DISABLE
- for NOR cause Hardfault for Read operations.
- UART HAL
- Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs.
- SDMMC HAL
- SDIO_PowerState_ON()
-API call moved after __HAL_MMC_ENABLE() to ensure MMC clock is enabled
-before the call to HAL_Delay() from within SDIO_PowerState_ON().
- 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.
-
-V1.2.10/ 22-November-2021Main Changes
- General updates to fix known defects and enhancements implementation.
- 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 registers 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).
V1.2.9/ 12-February-2021Main Changes
- General updates to fix known defects and enhancements implementation
V1.2.8/ 13-February-2020
- Main Changes
- - General updates to fix known defects and enhancements implementation
- HAL/LL GPIO update
- Update GPIO
- initialization sequence to avoid unwanted pulse on GPIO Pin's
- HAL I2C update
- Update
- HAL_I2C_EV_IRQHandler() API to fix I2C send break issue
- Add
- additional check on hi2c->hdmatx,
- hdmatx->XferCpltCallback, hi2c->hdmarx,
- hdmarx->XferCpltCallback in I2C_Master_SB() API to
- avoid enabling DMA request when IT mode is used.
- Update
- HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with
- I2C memory IT processes
- Add stop
- condition generation when NACK occurs.
- 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
- Add
- new ErrorCode define: HAL_I2C_WRONG_START
- Set ErrorCode
- parameter in I2C handle to HAL_I2C_WRONG_START
- Update I2C_DMAXferCplt(),
- I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx
- and hdmarx parameters in i2c handle aren't initialized (NULL pointer).
- Add
- additional check on hi2c->hdmtx and hi2c->hdmarx before
- resetting DMA Tx/Rx complete callback
-
-- HAL ADC Update
- Add "ADC_INTERNAL_NONE" channel to disable the VBAT & TSVREFE channel.
- HAL DCMI update
- Add DCMI_SyncUnmaskTypeDef structure and HAL_DCMI_ConfigSyncUnmask() API to manage embedded synchronization delimiters unmasks
- HAL EXTI update
- General update to enhance HAL EXTI driver robustness
- Add additional assert check on EXTI config lines
- Update to compute EXTI line mask before read/write access to EXTI registers
- Update EXTI callbacks management to be compliant with reference manual: only one PR register for rising and falling interrupts.
- Update
-parameters in EXTI_HandleTypeDef structure: merge HAL EXTI
-RisingCallback and FallingCallback in only one PendingCallback.
- Remove HAL_EXTI_RISING_CB_ID and HAL_EXTI_FALLING_CB_ID values from EXTI_CallbackIDTypeDef enumeration.
- Update HAL_EXTI_IRQHandler() API to serve interrupts correctly.
- Update to compute EXTI line mask before handle EXTI interrupt.
- Update to support GPIO port interrupts:
- Add new "GPIOSel" parameter in EXTI_ConfigTypeDef structure
- HAL HASH update
- Null pointer on handler "hhash" is now checked before accessing structure member "hhash->Init.DataType" in the following API:
- Following interrupt-based
-APIs have been added. Interrupt mode could allow the MCU to enter
-"Sleep" mode while a data block is being processed. Please refer to the
-"##### How to use this driver #####" section for details about their
-use.
- HAL_HASH_SHA1_Accmlt_IT()
- HAL_HASHEx_SHA224_Accmlt_IT()
- HAL_HASHEx_SHA256_Accmlt_IT()
- Following aliases have been added (just for clarity sake) as they shall be used at the end of the computation of a multi-buffers message and not at the start:
- HAL_HASH_SHA1_Accmlt_End() to be used instead of HAL_HASH_SHA1_Start()
- HAL_HASH_MD5_Accmlt_End() to be used instead of HAL_HASH_MD5_Start()
- HAL_HASH_SHA1_Accmlt_End_IT() to be used instead of HAL_HASH_SHA1_Start_IT()
- HAL_HASH_MD5_Accmlt_End_IT() to be used instead of HAL_HASH_MD5_Start_IT()
- HAL_HASHEx_SHA224_Accmlt_End() to be used instead of HAL_HASHEx_SHA224_Start()
- HAL_HASHEx_SHA256_Accmlt_End() to be used instead of HAL_HASHEx_SHA256_Start()
- HAL_HASHEx_SHA224_Accmlt_End_IT() to be used instead of HAL_HASHEx_SHA224_Start_IT()
- HAL_HASHEx_SHA256_Accmlt_End_IT() to be used instead of HAL_HASHEx_SHA256_Start_IT()
- MISRAC-2012
-rule R.5.1 (identifiers shall be distinct in the first 31 characters)
-constrained the naming of the above listed aliases (e.g.
-HAL_HASHEx_SHA256_Accmlt_End() could not be named HAL_HASHEx_SHA256_Accumulate_End(). Otherwise the name would have conflicted with HAL_HASHEx_SHA256_Accumulate_End_IT()). In order to have aligned names following APIs have been renamed:
- HAL_HASH_MD5_Accumulate() renamed HAL_HASH_MD5_Accmlt()
- HAL_HASH_SHA1_Accumulate() renamed HAL_HASH_SHA1_Accmlt()
- HAL_HASHEx_SHA224_Accumulate() renamed HAL_HASHEx_SHA224_Accmlt()
- HAL_HASHEx_SHA256_Accumulate() renamed HAL_HASHEx_SHA256_Accmlt()
- HASH handler state is no more reset to HAL_HASH_STATE_READY once DMA has been started in the following APIs:
- HAL_HASH_MD5_Start_DMA()
- HAL_HMAC_MD5_Start_DMA()
- HAL_HASH_SHA1_Start_DMA()
- HAL_HMAC_SHA1_Start_DMA()
- HASH phase state is now set to HAL_HASH_PHASE_READY once the digest has been read in the following APIs:
- HASH_IT()
- HMAC_Processing()
- HASH_Start()
- HASH_Finish()
- Case of a large buffer scattered around in memory each piece of which is not necessarily a multiple of 4 bytes in length.
- In
-section "##### How to use this driver #####", sub-section "*** Remarks
-on message length ***" added to provide recommendations to follow in
-such case.
- No modification of the driver as the root-cause is at design-level.
- 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 QSPI update
- Remove Lock mechanism from HAL_QSPI_Init() and HAL_QSPI_DeInit() APIs
- HAL LPTIM update
- Add a polling mechanism to check on LPTIM_FLAG_XXOK flags in different API
- Add LPTIM_WaitForFlag() API to wait for flag set.
- Perform new checks on HAL_LPTIM_STATE_TIMEOUT.
- Workaround to fix MCU slack in sleep mode
- Update __HAL_LPTIM_DISABLE () macro used to disable LPTIM HW instance
- Remove the LPTIM_CR_ENABLE bit clear.
- Add a new API LPTIM_Disable() defined in hal_lptim.c
- Update __HAL_LPTIM_RESET_HANDLE_STATE(__HANDLE__) macro by adding a specific .... when using callback register
- __HAL_LPTIM_ENABLE
- Remove usseless check on LPTIM2 in the LL driver since F7 support only one instance of LPTIM.
- Update the LL_LPTIM_DISABLE() API used to disable LPTIM HW instance
- Move API definition to ll_lptim.c
- HAL TIM update
- Add new macros to enable and disable the fast mode when using the one pulse mode to output a waveform with a minimum delay
- __HAL_TIM_ENABLE_OCxFAST() and __HAL_TIM_DISABLE_OCxFAST().
- Update Encoder interface mode to keep TIM_CCER_CCxNP bits low
- Add TIM_ENCODERINPUTPOLARITY_RISING and TIM_ENCODERINPUTPOLARITY_FALLING definitions to determine encoder input polarity.
- Add IS_TIM_ENCODERINPUT_POLARITY() macro to check the encoder input polarity.
- Update HAL_TIM_Encoder_Init() API
- Replace IS_TIM_IC_POLARITY() macro by IS_TIM_ENCODERINPUT_POLARITY() macro.
- Correct wrong
- instance parameter check in encoder mode
- Replace
- IS_TIM_CC2_INSTANCE by IS_TIM_ENCODER_INTERFACE_INSTANCE in encoder
- interface :
- HAL_TIM_Encoder_Start_IT()
- HAL_TIM_Encoder_Stop_IT()
- Replace
- IS_TIM_DMA_CC_INSTANCE by IS_TIM_ENCODER_INTERFACE_INSTANCE in encoder
- interface in DMA mode :
- HAL_TIM_Encoder_Start_DMA()
- HAL_TIM_Encoder_Stop_DMA()
-
-- Update
- HAL_TIMEx_MasterConfigSynchronization() API to avoid functional errors
- and assert fails when using some TIM instances as input trigger.
- Replace IS_TIM_SYNCHRO_INSTANCE()
- macro by IS_TIM_MASTER_INSTANCE() macro.
- Add IS_TIM_SLAVE_INSTANCE()
- macro to check on TIM_SMCR_MSM bit.
- Provide new
- API to set and clear UIFREMAP
- Add new
- definition for TIM Update Interrupt Flag Remap
- Add new macro
- in HAL driver to enable and desable the Update Interrupt Flag
- Remap
- __HAL_TIM_UIFREMAP_ENABLE()
- __HAL_TIM_UIFREMAP_DISABLE()/__HAL_TIM_GET_UIFCPY
- macro
- Add new
- mecanism to check whether the update interrupt flag (UIF) copy is
- set or not
- Add the
- __HAL_TIM_GET_UIFCPY() macro in the HAL driver
- Add
- LL_TIM_IsActiveUIFCPY() API in the LL driver
- Add new macro
- to check on the Update Interrupt Flag Remap mode
- Remove usseless
- define in the LL driver
- TIMx_AF1_BKINE
- / TIMx_AF1_BKDFBKE / TIMx_AF2_BK2INE / TIMx_AF2_BK2DFBKE /
- TIMx_AF2_BK2INP
- HAL SMARTCARD update
- Update SMARTCARD_SetConfig() API.
- Split HAL_RCC_GetPCLK1Freq() and
-HAL_RCC_GetPCLK2Freq() macros from the BRR calculation.
- HAL IRDA update
- Update IRDA_SetConfig() API
- Split HAL_RCC_GetPCLK1Freq() and
-HAL_RCC_GetPCLK2Freq() macros from the IRDA_DIV_SAMPLING16() macro.
- Update some API desciption
- HAL_IRDA_Transmit() / HAL_IRDA_Transmit_IT()
- HAL_IRDA_Receive() / HAL_IRDA_Receive_IT()
- HAL_IRDA_Transmit_DMA() / HAL_IRDA_Receive_DMA()
- 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
- HAL/LL USART update
- HAL/LL USB update
- Add handling USB host babble error interrupt
- Fix Enabling ULPI interface for platforms that integrates USB HS PHY
- Fix Host data toggling for IN Iso transfers
- Ensure to disable USB EP during endpoint deactivation
-V1.2.7/ 08-February-2019
- Main Changes
-
-- General updates to fix known defects and enhancements implementation
- - General updates to fix CodeSonar compilation warnings
- - General updates to fix SW4STM32 compilation errors under Linux
-
- - General updates to fix the user manual .chm files
-- Add support of HAL callback registration feature
-
-
-
-- Add new HAL EXTI driver
- The following changes done on the HAL drivers require an update on the application code based on older HAL versions
- - Rework of HAL CRYP driver (compatibility break)
-
-- HAL CRYP driver has been redesigned with new API's, to bypass limitations on data Encryption/Decryption management present with previous HAL CRYP driver version.
- The
-new HAL CRYP driver is the recommended version. It is located as usual
-in Drivers/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.
-
+
+
+
+
+
+
+ Release Notes for STM32F7xx HAL Drivers
+
+
+
+
+
+
+
+
+
+Release Notes for STM32F7xx HAL Drivers
+Copyright © 2017 STMicroelectronics
+
+
+
+ Purpose
+ The hardware abstraction layer (HAL) provides low level drivers and the hardware interfacing methods to interact with upper layer (application, libraries and stacks). It includes a complete set of ready-to-use APIs, that are feature-oriented instead of IP-Oriented to simplify user application development.
+
+
+ Update History
+
+
+
+ Main Changes
+
+- 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.
+
-
-
-- HAL/LL Generic update
- Add support of HAL callback registration feature
- The feature disabled by default is available for the following HAL drivers:
- ADC, CAN, CEC, CRYP, DAC, DCMI, DFSDM, DMA2D, DSI, ETH, HASH, HCD, I2C, 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"
-
-
-
+
+
+
+
+
+ Main Changes
+
+- General updates to fix known defects and enhancements implementation.
+- HAL ETH
+
+- Entire receive process reworked.
+- Resolve the problem of received data corruption.
+- Implement transmission in interrupt mode.
+- Handle one interrupt for multiple transmitted packets.
+- Implement APIs to handle PTP feature.
+- Implement APIs to handle Timestamp feature.
+- Add support of receive buffer unavailable.
+- Update HAL_ETH_IRQHandler() to handle receive buffer unavailable.
+
+- HAL TIM
+
+- 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.
+
- - HAL GPIO Update
-
-- HAL_GPIO_TogglePin() API implementation update: to improve robustness
- - HAL_GPIO_DeInit() API update to ensure clear all GPIO EXTI pending interrupts.
-
-
-
-
-
-
- - HAL CRYP update
-
-- The CRYP_InitTypeDef is no more supported, changed by CRYP_ConfigTypedef to allow changing parameters
-using HAL_CRYP_setConfig() API without reinitialize the CRYP IP using the HAL_CRYP_Init() API - New parameters added in the CRYP_ConfigTypeDef structure: B0 and DataWidthUnit
- Input data size parameter is added in the CRYP_HandleTypeDef structure
- Add new APIs to manage the CRYP configuration:
- HAL_CRYP_SetConfig()
- HAL_CRYP_GetConfig()
-
-
-- Add new APIs to manage the Key derivation:
- HAL_CRYPEx_EnableAutoKeyDerivation()
- HAL_CRYPEx_DisableAutoKeyDerivation()
- Add new APIs to encrypt and decrypt data:
- HAL_CRYP_Encypt()
- HAL_CRYP_Decypt()
- HAL_CRYP_Encypt_IT()
- HAL_CRYP_Decypt_IT()
- HAL_CRYP_Encypt_DMA()
- HAL_CRYP_Decypt_DMA()
- Add new APIs to generate TAG:
- HAL_CRYPEx_AESGCM_GenerateAuthTAG()
- HAL_CRYPEx_AESCCM_GenerateAuthTAG()
-
- - HAL I2C update
-
-- I2C API changes for MISRA-C 2012 compliancy:
- Rename HAL_I2C_Master_Sequential_Transmit_IT() to HAL_I2C_Master_Seq_Transmit_IT()
- Rename HAL_I2C_Master_Sequentiel_Receive_IT() to HAL_I2C_Master_Seq_Receive_IT()
- Rename HAL_I2C_Slave_Sequentiel_Transmit_IT() to HAL_I2C_Slave_Seq_Transmit_IT()
- Rename HAL_I2C_Slave_Sequentiel_Receive_DMA() to HAL_I2C_Slave_Seq_Receive_DMA()
- Add support of I2C repeated start feature in DMA Mode:
- With the following new API's
- HAL_I2C_Master_Seq_Transmit_DMA()
- HAL_I2C_Master_Seq_Receive_DMA()
- HAL_I2C_Slave_Seq_Transmit_DMA()
- HAL_I2C_Slave_Seq_Receive_DMA()
- Add new I2C transfer options to easy manage the sequential transfers
- I2C_OTHER_FRAME
- I2C_OTHER_AND_LAST_FRAME
-
- - LL RCC update
-
- - Update LL_RCC_GetSAIClockFreq() API to return the right frequency according to the SAI clock source
-
- - HAL RNG update
-
-- Update to manage RNG error code:
- Add ErrorCode parameter in HAL RNG Handler structure
- - Add HAL_RNG_GetError() API
-
+
+
+
+
+
+
+
+
+
+ Main Changes
+
+- General updates to fix known defects and enhancements implementation
-
- V1.2.6 / 29-June-2018Main Changes - Update to support STM32F730xx and STM32F750xx value lines
- 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
V1.2.5 / 02-February-2018
- Main
-Changes - General updates to fix known defects and enhancements implementation
- 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
V1.2.4 / 22-December-2017
- Main
-Changes - General updates to fix known defects and enhancements implementation
- The following changes done on the HAL drivers require an update on the application code based on older HAL versions
- Rework of HAL CAN driver (compatibility break)
- A
-new HAL CAN driver has been redesigned with new APIs, to bypass
-limitations on CAN Tx/Rx FIFO management present with previous HAL CAN
-driver version.
- The
-new HAL CAN driver is the recommended version. It is located as usual
-in Drivers/STM32F7xx_HAL_Driver/Src and
-Drivers/STM32f7xx_HAL_Driver/Inc folders. It can be enabled through
-switch HAL_CAN_MODULE_ENABLED in stm32f7xx_hal_conf.h
- The
-legacy HAL CAN 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_CAN_LEGACY_MODULE_ENABLED in
-stm32f7xx_hal_conf.h
- HAL update
- Update HAL driver to allow user to change systick period to 1ms , 10 ms or 100 ms :
- Add the following API's :
- HAL_GetTickPrio() : Returns a tick priority.
- HAL_SetTickFreq() : Sets new tick frequency.
- HAL_GetTickFreq() : Returns tick frequency.
- Add HAL_TickFreqTypeDef enumeration for the different Tick Frequencies : 10 Hz , 100 Hz and 1KHz (default).
- HAL CAN update
- Fields of CAN_InitTypeDef structure are reworked:
- SJW
-to SyncJumpWidth, BS1 to TimeSeg1, BS2 to TimeSeg2, TTCM to
-TimeTriggeredMode, ABOM to AutoBusOff, AWUM to AutoWakeUp, NART to
-AutoRetransmission (inversed), RFLM to ReceiveFifoLocked and TXFP to
-TransmitFifoPriority
- HAL_CAN_Init() is split into both HAL_CAN_Init() and HAL_CAN_Start() API's
- HAL_CAN_Transmit()
-is replaced by HAL_CAN_AddTxMessage() to place Tx Request, then
-HAL_CAN_GetTxMailboxesFreeLevel() for polling until completion.
- HAL_CAN_Transmit_IT()
-is replaced by HAL_CAN_ActivateNotification() to enable transmit IT, then
-HAL_CAN_AddTxMessage() for place Tx request.
- HAL_CAN_Receive()
-is replaced by HAL_CAN_GetRxFifoFillLevel() for polling until
-reception, then HAL_CAN_GetRxMessage()
to get Rx message. - HAL_CAN_Receive_IT()
-is replaced by HAL_CAN_ActivateNotification() to enable receive IT, then
-HAL_CAN_GetRxMessage()
in the receivecallback to get Rx message - HAL_CAN_Slepp() is renamed as HAL_CAN_RequestSleep()
- HAL_CAN_TxCpltCallback() is split into HAL_CAN_TxMailbox0CompleteCallback(), HAL_CAN_TxMailbox1CompleteCallback() and HAL_CAN_TxMailbox2CompleteCallback().
- HAL_CAN_RxCpltCallback is split into HAL_CAN_RxFifo0MsgPendingCallback() and HAL_CAN_RxFifo1MsgPendingCallback().
- More complete "How to use the new driver" is detailed in the driver header section itself.
- HAL RCC update
- Add new LL macro
- LL_RCC_PLL_SetMainSource()
- allowing to configure PLL clock source
- Add new HAL macros
- __HAL_RCC_GET_RTC_SOURCE()
- allowing to get the RTC clock source
- __HAL_RCC_GET_RTC_HSE_PRESCALER()
- allowing to get the HSE clock divider for RTC peripheral
- Ensure reset of CIR and CSR
- registers when issuing HAL_RCC_DeInit()/LL_RCC_DeInit functions
- Update HAL_RCC_GetSysClockFreq()
- to avoid risk of rounding error which may leads to a wrong returned
- value.
- Update HAL_RCC_DeInit()
- and LL_RCC_DeInit() APIs to
- Be able to return HAL/LL
- status
- Add checks for HSI, PLL and
- PLLI2S ready before modifying RCC CFGR registers
- Clear all interrupt flags
- Initialize systick interrupt
- period
- HAL DMA update
- Add clean of callbacks in HAL_DMA_DeInit() API
- Fix wrong DMA_FLAG_FEIFO_4 and DMA_FLAGDMAEIFO_4 defines values
- HAL I2C update
- Update Interface APIs headers to remove confusing message about device address
- Update I2C_WaitOnRXNEFlagUntilTimeout() to resolve a race condition between STOPF and RXNE Flags
- Update I2C_TransferConfig() to fix wrong bit management
- LL USART update
- Add assert macros to check USART BaudRate register
- HAL ETH update
- Do{..} While(0) insured in multi statement macros :
- __HAL_ETH_WAKEUP_EXTI_ENABLE_FALLINGRISING_TRIGGER()
- __HAL_ETH_WAKEUP_EXTI_DISABLE_FALLINGRISING_TRIGGER()
- HAL FLASH update
- HAL_FLASH_Unlock() update to return state error when the FLASH is already unlocked
- HAL GPIO update
- Add missing define of GPIO_PIN_2 in GPIOK_PIN_AVAILABLE list
- HAL PCD update
- Do{..} While(0) insured in multi statement macros
- LL UTILS update
- stm32f7xx_ll_utils.h : Update LL_GetPackageType command to return uint32_t instead of uint16_t
- HAL TIM update
- stm32f7xx_hal_tim_ex.c : Update HAL_TIMEx_ConfigBreakDeadTime API to avoid to block timer behavior when
remains in the state HAL_TIM_STATE_BUSY. - stm32f7xx_hal_tim.h :
- Fix __HAL_TIM_SET_PRESCALER() macro
- Fix typos in some exported macros description
- LL FMC update
- HAL_SDRAM_SendCommand() API: Remove the timeout check
- HAL NAND update
- Fix wrong check for NAND status
- V1.2.3 / 25-August-2017
- Main
-Changes - General updates
-to fix known defects and enhancements implementation
- Remove Date and Version from header files
- Update HAL drivers to refer to the new CMSIS bit position defines instead of usage the POSITION_VAL() macro
- HAL CAN update
- Add missing unlock in HAL_CAN_Receive_IT() process
- HAL DCMI update
- HAL DCMI driver clean-up: remove non referenced callback APIs: HAL_DCMI_VsyncCallback() and HAL_DCMI_HsyncCallback()
- HAL DFSDM update
- Fix cast issue on APIs that return signed integer value (uint32_t)
- HAL DMA update
- HAL DMA driver clean-up: remove non referenced callback APIs: HAL_DMA_CleanCallbacks()
- HAL FLASH update
- FLASH_Program_DoubleWord() API: Replace 64-bit accesses with 2 double words operations
- HAL Generic update
- Update assert_param() macro definition to be in line with stm32_ll_utils.c driver
- HAL GPIO update
- GPIOK_PIN_AVAILABLE() assert macro update to allow possibility to configure GPIO_PIN_2
- HAL LTDC update
- Rename HAL_LTDC_LineEvenCallback() API to HAL_LTDC_LineEventCallback()
- HAL PCD update
- Update HAL_PCD_IRQHandler() API to fix transfer issues when USB HS is used with DMA enabled
- HAL RCC update
- Update HAL_RCC_GetOscConfig() API to:
- set PLLR in the RCC_OscInitStruct
- check on null pointer
- Update HAL_RCC_ClockConfig() API to:
- check on null pointer
- optimize code size by updating the handling method of the SWS bits
- update
-to use __HAL_FLASH_GET_LATENCY() flash macro instead of using
-direct register access to LATENCY bits in FLASH ACR register.
- HAL SAI update
- Update HAL_SAI_DMAStop() API to flush fifo after disabling SAI
- HAL TIM update
- Update HAL_TIMEx_ConfigBreakInput() API to support BKINP/BKIN2P polarity bits.
- LL DMA update
- Update
-SET_BIT() access to LIFCR and HIFCR registers by WRITE_REG() to avoid
-read access that is not allowed when clearing DMA flags
- LL I2C update
- Update LL_I2C_Init() API to avoid enabling own address1 when OwnAddress1 parameter value in the I2C_InitStruct is equal to 0.
- LL TIM update
- Update LL_TIM_EnableUpdateEvent() API to clear UDIS bit in CR1 register instead of setting it.
- Update LL_TIM_DisableUpdateEvent() API to set UDIS bit in CR1 register instead of clearing it.
- LL USB update
- Update USB_EP0StartXfer() API to fix transfer issues when USB HS is used with DMA enabled
V1.2.2 / 14-April-2017
- Main
-Changes - General updates
-to fix known defects and enhancements implementation
- HAL CAN update
- Add
- management of overrun error.
- Allow
- possibility to receive messages from the 2 RX FIFOs in parallel via
- interrupt.
- Fix message
- lost issue with specific sequence of transmit requests.
- Handle
- transmission failure with error callback, when NART is enabled.
- Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when
- timeout is reached
V1.2.1 / 24-March-2017
- Main
-Changes - Update CHM UserManuals to support LL drivers
- General updates
-to fix known defects and enhancements implementation
- HAL DMA update
- Update HAL_DMA_Init() function to adjust the compatibility check between FIFO threshold and burst configuration
- HAL MMC update
- Update HAL_MMC_InitCard() function with proper initialization sequence adding a delay after MMC clock enable
- Update MMC_DMAError() function ignore DMA FIFO error as not impacting the data transfer
- HAL SD update
- Update HAL_SD_InitCard() function with proper initialization sequence adding a delay after SD clock enable
- Update SD_DMAError() function ignore DMA FIFO error as not impacting the data transfer
- HAL NAND update
- Update HAL_NAND_Address_Inc() function implementation for proper plane number check
- LL SDMMC update
- Update SDMMC_DATATIMEOUT value with appropriate value needed by reading and writing operations of SD and MMC cards
- LL RTC update
- LL_RTC_TIME_Get() and LL_RTC_DATE_Get() inline macros optimization
- LL ADC update
- Fix wrong ADC group injected sequence configuration
- LL_ADC_INJ_SetSequencerRanks()
-and LL_ADC_INJ_GetSequencerRanks() API's update to take in
-consideration the ADC number of conversions
- Update the defined values for ADC group injected seqencer ranks
V1.2.0 / 30-December-2016
- Main
-Changes - Official release to add the support of STM32F722xx, STM32F723xx, STM32F732xx and STM32F733xx devices
- Add Low Layer drivers allowing performance and footprint optimization
- Low
-Layer drivers APIs provide register level programming: require deep
-knowledge of peripherals described in STM32F7xx Reference Manuals
- Low
-Layer drivers are available for: ADC, 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.
- General updates
-to fix known defects and enhancements implementation
- Add new HAL MMC and SMBUS drivers
- HAL Cortex update
- Move HAL_MPU_Disable() and HAL_MPU_Enable() from stm32f7xx_hal_cortex.h to stm32f7xx_hal_cortex.c
- Clear the whole MPU control register in HAL_MPU_Disable() API
- HAL CRYP update
- HAL DMA update
- Add a check on DMA stream instance in HAL_DMA_DeInit() API
- HAL ETH update
- Fix wrong definitions in driver header file stm32f7_hal_eth.h
- HAL FLASH update
- Support OTP program operation
- Add the support of PCROP feature
- Update the clearing of error flags
- HAL I2C update
- Align driver source code with other STM32 families
- HAL JPEG update
- Update the output data management when HAL_JPEG_Pause() is performed during the last data sending
- HAL RCC update
- Enable PWR only if necessary for LSE configuration in HAL_RCC_OscConfig() API
- Rename RCC_LPTIM1CLKSOURCE_PCLK define to RCC_LPTIM1CLKSOURCE_PCLK1
- Rename RCC_DFSDM1CLKSOURCE_PCLK define to RCC_DFSDM1CLKSOURCE_PCLK2
- HAL SPI update
- Clear RX FIFO at the end of each transaction
- HAL UART update
- Remove USART_CR2_LINEN bit clearing when initializing in synchronous mode
- HAL USB update
- Add support of embedded USB PHY Controller
- Add support of Battery Charging Detector (BCD) feature
- LL SDMMC update
- Add new SDMMC_CmdSDEraseStartAdd, SDMMC_CmdSDEraseEndAdd, SDMMC_CmdOpCondition and SDMMC_CmdSwitch functions
- LL USB update
- Update PENA bit clearing in OTG_HPRT0 register
- The following changes done on the HAL drivers require an update on the
-application code based on older HAL versions
- HAL SD update
- Overall rework of the driver for a more efficient implementation
- Modify initialization API and structures
- Modify Read / Write sequences: separate transfer process and SD Cards state management
- Adding interrupt mode for Read / Write operations
- Update the HAL_SD_IRQHandler function by optimizing the management of interrupt errors
- Refer to the following example to identify the changes: BSP example and USB_Device/MSC_Standalone application
- HAL TIM update
- Add new AutoReloadPreload field in TIM_Base_InitTypeDef structure
- Refer to the TIM examples to identify the changes
- HAL NAND update
- Modify NAND_AddressTypeDef, NAND_DeviceConfigTypeDef and NAND_HandleTypeDef structures fields
- Add new HAL_NAND_ConfigDevice API
V1.1.1 / 01-July-2016
- Main
-Changes - HAL DMA update
- Update HAL_DMA_PollForTransfer() function implementation to avoid early TIMEOUT error.
- HAL JPEG update
- Update HAL_JPEG_ConfigEncoding() function to properly set the ImageHeight and ImageWidth
- HAL SPI update
- Update SPI_DMATransmitReceiveCplt() function to properly handle the CRC and avoid conditional statement duplication
V1.1.0 / 22-April-2016
- Main
-Changes - Official release to add the support of STM32F765xx, STM32F767xx, STM32F768xx, STM32F769xx, STM32F777xx, STM32F778xx and STM32F779xx devices
- General updates
-to fix known defects and enhancements implementation
- Add new HAL drivers for DFSDM, DSI, JPEG and MDIOS peripherals
- Enhance HAL delay and timebase implementation
- Add new
-drivers stm32f7xx_hal_timebase_tim_template.c, stm32f7xx_hal_timebase_rtc_alarm_template.c and
-stm32f7xx_hal_timebase_rtc_wakeup_template.c which override the native HAL time
-base functions (defined as weak) to either use the TIM or the RTC as time base tick source. For
-more details about the usage of these drivers, please refer to HAL\HAL_TimeBase
-examples and FreeRTOS-based applications
- The following changes done on the HAL drivers require an update on the
-application code based on HAL V1.0.4
- HAL UART, USART, IRDA, SMARTCARD, SPI, I2C, QSPI (referenced as PPP here below) drivers
- Add PPP error management during DMA process. This requires the following updates on user application:
- Configure and enable
-the PPP IRQ in HAL_PPP_MspInit() function
- In stm32f7xx_it.c file,
-PPP_IRQHandler()
-function: add a call to
-HAL_PPP_IRQHandler() function
-
- Add and customize
-the Error Callback API: HAL_PPP_ErrorCallback()
- - HAL I2C (referenced as PPP here below) drivers:
-
- Update to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the PPP end of transfer interrupt in the DMA transfer process. This requires the following updates on user application:
- Configure and enable
-the PPP IRQ in HAL_PPP_MspInit() function
-- In stm32f7xx_it.c file,
-PPP_IRQHandler()
-function: add a call to
-HAL_PPP_IRQHandler() function
- - HAL IWDG driver: rework overall driver for better implementation
- Remove HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs
- HAL WWDG driver: rework overall driver for better implementation
-
- Remove HAL_WWDG_Start(), HAL_WWDG_Start_IT(),
-HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs
-
- Update the HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg, uint32_t counter) function and API by removing the "counter" parameter
- HAL QSPI driver: Enhance the DMA transmit process by using PPP TC interrupt instead of waiting on TC flag under DMA ISR. This requires the following updates on user application:
- Configure and enable
-the QSPI IRQ in HAL_QSPI_MspInit() function
- In stm32f7xx_it.c file, QSPI_IRQHandler()
-function: add a call to
-HAL_QSPI_IRQHandler() function
- - HAL CEC driver: Overall driver rework with compatibility break versus previous HAL version
- Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()
-
- Remove
-HAL CEC receive interrupt process function HAL_CEC_Receive_IT()
-and enable the "receive" mode during the Init phase
-
- Rename HAL_CEC_GetReceivedFrameSize() funtion to HAL_CEC_GetLastReceivedFrameSize()
- - Add new HAL APIs: HAL_CEC_SetDeviceAddress() and
-HAL_CEC_ChangeRxBuffer()
-
- Remove the 'InitiatorAddress' field from the CEC_InitTypeDef
-structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function
-
- Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
-
- Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to
-CEC_InitTypeDef structure
- HAL CAN update
- HAL CEC update
- Overall driver rework with break of compatibility with HAL
-V1.0.4
- Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()
- - Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the "Receive" mode enable within the Init phase
-
- Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function
- Add new HAL APIs: HAL_CEC_SetDeviceAddress() and
-HAL_CEC_ChangeRxBuffer()
- Remove the 'InitiatorAddress' field from the CEC_InitTypeDef
-structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function
- Add new parameter 'RxFrameSize' in HAL_CEC_RxCpltCallback() function
- Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to
-CEC_InitTypeDef structure
- - Update driver to implement the new CEC state machine:
- Add new "rxState" field in
-CEC_HandleTypeDef structure to provide the CEC
-state
-information related to Rx Operations
- Rename "state"
-field in CEC_HandleTypeDef structure to "gstate": CEC state information
-related to global Handle management and Tx Operations
-
- Update CEC process
-to manage the new CEC states.
-
- Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC
-state parameters (gState, rxState)
- HAL DMA update
- Add
-new APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback to
-register/unregister the different callbacks identified by
-the enum typedef HAL_DMA_CallbackIDTypeDef
- Add new API HAL_DMA_Abort_IT() to abort DMA transfer under interrupt context
- The new registered Abort callback is called when DMA transfer abortion is completed
- Add the check of
-compatibility between FIFO threshold level and size of the memory burst in the
-HAL_DMA_Init() API
-
- Add new Error Codes:
-HAL_DMA_ERROR_PARAM, HAL_DMA_ERROR_NO_XFER and
-HAL_DMA_ERROR_NOT_SUPPORTED
- Remove all DMA states
-related to MEM0/MEM1 in HAL_DMA_StateTypeDef
- HAL DMA2D update
- Update the
-HAL_DMA2D_DeInit() function to:
-
- Abort transfer in case
-of ongoing DMA2D transfer
-- Reset DMA2D control
-registers
- Update
-HAL_DMA2D_Abort() to disable DMA2D interrupts after stopping transfer
- Optimize
-HAL_DMA2D_IRQHandler() by reading status registers only once
-
- Update
-HAL_DMA2D_ProgramLineEvent() function to:
-
- Return HAL error state
-in case of wrong line value
-- Enable line interrupt
-after setting the line watermark configuration
- Add new HAL_DMA2D_CLUTLoad() and HAL_DMA2D_CLUTLoad_IT()
-functions to start DMA2D CLUT loading
- HAL_DMA2D_CLUTLoading_Abort()
-function to abort the DMA2D CLUT loading
- HAL_DMA2D_CLUTLoading_Suspend()
-function to suspend the DMA2D CLUT loading
- HAL_DMA2D_CLUTLoading_Resume()
-function to resume the DMA2D CLUT loading
- Add new DMA2D dead time
-management:
- HAL_DMA2D_EnableDeadTime()
-function to enable DMA2D dead time feature
- HAL_DMA2D_DisableDeadTime()
-function to disable DMA2D dead time feature
- HAL_DMA2D_ConfigDeadTime()
-function to configure dead time
- Update the name of
-DMA2D Input/Output color mode defines to be more clear for user (DMA2D_INPUT_XXX
-for input layers Colors, DMA2D_OUTPUT_XXX for output framebuffer
-Colors)
-
- - HAL DCMI update
- Rename DCMI_DMAConvCplt
-to DCMI_DMAXferCplt
-
- Update HAL_DCMI_Start_DMA() function to Enable the DCMI peripheral
-
- Add new timeout
-implementation based on cpu cycles for DCMI stop
-
- Add HAL_DCMI_Suspend()
-function to suspend DCMI capture
-
- Add HAL_DCMI_Resume()
-function to resume capture after DCMI suspend
-
- Update lock mechanism
-for DCMI process
-
- Update HAL_DCMI_IRQHandler() function to:
-
- Add error management in
-case DMA errors through XferAbortCallback() and
-HAL_DMA_Abort_IT()
-- Optimize code by using
-direct register read
- Move
-the content of the stm32f7xx_hal_dcmi_ex.c/.h files to common driver
-files (the extension files are kept empty for projects compatibility
-reason)
- HAL FLASH update
- Add the support of Dual BANK feature
- Add __HAL_FLASH_CALC_BOOT_BASE_ADR() macro to calculate the FLASH Boot Base Adress
- Move Flash total sector define to CMSIS header files
- HAL FMC update
- Update FMC_NORSRAM_Init() to remove the Burst access mode configuration
- Update FMC_SDRAM_Timing_Init() to fix initialization issue when configuring 2 SDRAM banks
- HAL HCD update
- Update HCD_Port_IRQHandler() to be compliant with new Time base implementation
- HAL
-I2C update
-
- Add the support of I2C fast mode plus (FM+)
- Update Polling management:
- The Timeout value must be estimated for the overall process duration: the Timeout measurement is cumulative
-- Add the management of Abort service: Abort DMA transfer through interrupt
- In the case of Master Abort IT transfer usage:
- Add new user HAL_I2C_AbortCpltCallback() to inform user of the end of abort process
- A new abort state is defined in the HAL_I2C_StateTypeDef structure
-- Add the management of I2C peripheral errors, ACK
-failure and STOP condition detection during DMA process. This requires the following updates
-on user application:
- Configure and enable the I2C IRQ in HAL_I2C_MspInit() function
- In stm32f7xx_it.c file, I2C_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
- Add and customize the Error Callback API: HAL_I2C_ErrorCallback()
- Refer to the I2C_EEPROM or I2C_TwoBoards_ComDMA project examples usage of the API
- Add the support of I2C repeated start feature:
-
- With the following new APIs
-- HAL_I2C_Master_Sequential_Transmit_IT()
-
- HAL_I2C_Master_Sequential_Receive_IT()
-
- HAL_I2C_Master_Abort_IT()
-
- HAL_I2C_Slave_Sequential_Transmit_IT()
-
- HAL_I2C_Slave_Sequential_Receive_IT()
-
- HAL_I2C_EnableListen_IT()
-
- HAL_I2C_DisableListen_IT()
-
-- HAL_I2C_ListenCpltCallback()
- - Several
-updates on HAL I2C driver to implement the new I2C state machine:
-
- Add new API to get the I2C mode:
-HAL_I2C_GetMode()
-
- Update I2C process to
-manage the new I2C states
- - HAL IWDG update
- Overall rework of the driver for a more efficient implementation
- Remove the following APIs:
- HAL_IWDG_Start()
- HAL_IWDG_MspInit()
- HAL_IWDG_GetState()
- Update implementation:
- HAL_IWDG_Init() : this function insures the configuration and the start of the IWDG counter
- HAL_IWDG_Refresh() : this function insures the reload of the IWDG counter
- Refer to the following example to identify the changes: IWDG_Example
- HAL LPTIM update
- Update HAL_LPTIM_TimeOut_Start_IT() and HAL_LPTIM_Counter_Start_IT( ) APIs
-to configure WakeUp Timer EXTI interrupt to be able to wakeup MCU from low power
-mode by pressing the EXTI line
-
- Update HAL_LPTIM_TimeOut_Stop_IT() and HAL_LPTIM_Counter_Stop_IT( ) APIs to
-disable WakeUp Timer EXTI interrupt
- HAL LTDC update
- Update
-HAL_LTDC_IRQHandler() to manage the case of reload interrupt
- Add LTDC extension driver needed with DSI
- Add HAL_LTDC_SetPitch() function for pitch reconfiguration
- Add new callback API
-HAL_LTDC_ReloadEventCallback()
-
- Add HAL_LTDC_Reload()
-to configure LTDC reload feature
-
- Add new No Reload LTDC
-variant APIs
-- HAL_LTDC_ConfigLayer_NoReload()
-to configure the LTDC Layer according to the specified without reloading
-
- HAL_LTDC_SetWindowSize_NoReload()
-to set the LTDC window size without reloading
-
- HAL_LTDC_SetWindowPosition_NoReload()
-to set the LTDC window position without reloading
-
- HAL_LTDC_SetPixelFormat_NoReload()
-to reconfigure the pixel format without reloading
-
- HAL_LTDC_SetAlpha_NoReload()
-to reconfigure the layer alpha value without reloading
-
- HAL_LTDC_SetAddress_NoReload()
-to reconfigure the frame buffer Address without reloading
-
- HAL_LTDC_SetPitch_NoReload()
-to reconfigure the pitch for specific cases
-
- HAL_LTDC_ConfigColorKeying_NoReload()
-to configure the color keying without reloading
-
- HAL_LTDC_EnableColorKeying_NoReload()
-to enable the color keying without reloading
-
- HAL_LTDC_DisableColorKeying_NoReload()
-to disable the color keying without reloading
-
- HAL_LTDC_EnableCLUT_NoReload()
-to enable the color lookup table without reloading
-
- HAL_LTDC_DisableCLUT_NoReload()
-to disable the color lookup table without
-reloading
- Note:
-Variant functions with �_NoReload� post fix allows to set the LTDC
-configuration/settings without immediate reload. This is useful in case
-when the program requires to modify several LTDC settings (on one or
-both layers) then applying (reload) these settings in one shot by
-calling the function �HAL_LTDC_Reload�
- - HAL NOR update
- Update NOR_ADDR_SHIFT macro implementation
- HAL PCD update
- Update HAL_PCD_IRQHandler() to get HCLK frequency before setting TRDT value
- HAL QSPI update
- Update to manage QSPI error management during DMA process
- Improve the DMA transmit process by using QSPI TC interrupt instead of waiting loop on TC flag under DMA ISR
- These two improvements require the following updates on user application:
- Configure and enable the QSPI IRQ in HAL_QSPI_MspInit() function
- In stm32f7xx_it.c file, QSPI_IRQHandler() function: add a call to HAL_QSPI_IRQHandler() function
- Add and customize the Error Callback API: HAL_QSPI_ErrorCallback()
- Add
-the management of non-blocking transfer abort service: HAL_QSPI_Abort_IT(). In
-this case the user must:
- Add new callback HAL_QSPI_AbortCpltCallback() to inform user at the end of abort process
- A new value of State in the HAL_QSPI_StateTypeDef provides the current state during the abort phase
- Polling management update:
- The Timeout value user must be estimated for the overall process duration: the Timeout measurement is cumulative.
- Refer to the following examples, which describe the changes:
- QSPI_ReadWrite_DMA
- QSPI_MemoryMapped
- QSPI_ExecuteInPlace
- Add two new APIs for the QSPI fifo threshold:
-
- HAL_QSPI_SetFifoThreshold(): configure the FIFO threshold of
-the QSPI
-
- HAL_QSPI_GetFifoThreshold(): give the current FIFO
-threshold
- - Fix wrong data size management in HAL_QSPI_Receive_DMA()
- HAL RCC update
- Update HAL_RCC_PeriphCLKConfig() function to adjust the SystemCoreClock
- Optimize HAL_RCC_ClockConfig() function code
- Optimize internal oscillators and PLL startup times
- HAL RTC update
- Update HAL_RTC_GetTime() with proper 'SubSeconds' and 'SecondFraction' management
- HAL SAI update
- Update SAI state in case of TIMEOUT error within the HAL_SAI_Transmit() / HAL_SAI_Receive()
-
- Update HAL_SAI_IRQHandler:
-
- Add error management in
-case DMA errors through XferAbortCallback() and HAL_DMA_Abort_IT()
-
- Add error management in
-case of IT
- Move
-SAI_BlockSynchroConfig() and SAI_GetInputClock() functions to
-stm32f7xx_hal_sai.c/.h files (extension files are kept empty for
-projects compatibility reason)
- - HAL SPDIFRX update
- Overall driver update for wait on flag management optimization
- HAL SPI update
- Overall driver optimization to improve performance in polling/interrupt mode to reach maximum peripheral frequency
- Polling mode:
-
- Replace the use of SPI_WaitOnFlagUnitTimeout() function by "if"
-statement to check on RXNE/TXE flage while transferring
-data
- - Interrupt mode:
- Minimize access on SPI registers
-
- All modes:
- Add the USE_SPI_CRC switch to minimize the number of statements when CRC calculation is disabled
- Update timeout management to check on global processes
- Update error code management in all processes
- Update DMA process:
-
- Add the management of SPI peripheral errors during DMA process. This requires the following updates in
-the user application:
- Configure and enable the SPI IRQ in HAL_SPI_MspInit() function
- In stm32f7xx_it.c file, SPI_IRQHandler() function: add a call to HAL_SPI_IRQHandler() function
- Add and customize the Error Callback API: HAL_SPI_ErrorCallback()
- Refer to the following example which describe the changes: SPI_FullDuplex_ComDMA
-
- HAL TIM update
- Update HAL_TIM_ConfigOCrefClear() function for proper configuration of the SMCR register
- Add new function HAL_TIMEx_ConfigBreakInput() to configure the break input source
- HAL UART, USART, SMARTCARD and IRDA (referenced as PPP here below) update
-
- Update Polling management:
- The user Timeout value must be estimated for the overall process duration: the Timeout measurement is cumulative
- Update DMA process:
- Update the management of PPP peripheral errors during DMA process. This requires the following updates in user application:
- Configure and enable the PPP IRQ in HAL_PPP_MspInit() function
- In stm32f7xx_it.c file, PPP_IRQHandler() function: add a call to HAL_PPP_IRQHandler() function
- Add and customize the Error Callback API: HAL_PPP_ErrorCallback()
- HAL WWDG update
- Overall rework of the driver for more efficient implementation
- Remove the following APIs:
- HAL_WWDG_Start()
- HAL_WWDG_Start_IT()
- HAL_WWDG_MspDeInit()
- HAL_WWDG_GetState()
- Update implementation:
- HAL_WWDG_Init()
- A new parameter in the Init Structure: EWIMode
- HAL_WWDG_MspInit()
- HAL_WWDG_Refresh()
- This function insures the reload of the counter
- The "counter" parameter has been removed
- HAL_WWDG_IRQHandler()
- HAL_WWDG_EarlyWakeupCallback() is the new prototype of HAL_WWDG_WakeupCallback()
- Refer to the following example to identify the changes: WWDG_Example
V1.0.4 / 09-December-2015
- Main
-Changes - HAL Generic update
- Update HAL
-weak empty callbacks to prevent unused argument compilation warnings with some
-compilers by calling the following line:
-
- HAL ETH update
- Update HAL_ETH_Init() function to add timeout on the Software reset management
V1.0.3 / 13-November-2015
- Main
-Changes - 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
- HAL Generic update
- Update HAL
-weak empty callbacks to prevent unused argument compilation warnings with some
-compilers by calling the following line:
-
- Remove references to STM32CubeMX and MicroXplorer from stm32f7xx_hal_msp_template.c file
- HAL ADC update
- Replace ADC_CHANNEL_TEMPSENSOR definition from ADC_CHANNEL_16 to ADC_CHANNEL_18
- Update HAL ADC driver state machine for code efficiency
- Add new literal: ADC_INJECTED_SOFTWARE_START to be used as possible
-value for the ExternalTrigInjecConvEdge parameter in the ADC_InitTypeDef
-structure to select the ADC software trigger mode.
- HAL CORTEX update
-
- Remove duplication
-for __HAL_CORTEX_SYSTICKCLK_CONFIG() macro
- HAL CRYP update
- Update HAL_CRYP_DESECB_Decrypt() API to fix the inverted pPlainData and pCypherData parameters issue
- HAL FLASH update
- Update OB_IWDG_STOP_ACTIVE definition
- Update OB_RDP_LEVEL_x definition by proper values
- Update FLASH_MassErase() function to consider the voltage range parameter in the mass erase configuration
- HAL RCC update
- update values for LSE Drive capability defines
- update PLLN min value 50 instead of 100
- add RCC_PLLI2SP_DIVx defines for PLLI2SP clock divider
- Update __HAL_RCC_USB_OTG_FS_CLK_DISABLE() macro to remove the disable of the SYSCFG
- Update HAL_RCCEx_GetPeriphCLKFreq() function for proper SAI clock configuration
- HAL SAI update
- update for proper management of the external synchronization input selection
- update of HAL_SAI_Init () funciton
- update definition of SAI_Block_SyncExt and SAI_Block_Synchronization groups
- update SAI_SLOTACTIVE_X defines values
- update HAL_SAI_Init() function for proper companding mode management
- update SAI_Transmit_ITxxBit() functions to add the check on transfer counter before writing new data to SAIx_DR registers
- update SAI_FillFifo() function to avoid issue when the number of data to transmit is smaller than the FIFO size
- update HAL_SAI_EnableRxMuteMode() function for proper mute management
- update SAI_InitPCM() function to support 24bits configuration
- HAL SD update
- update HAL_SD_Get_CardInfo() to properly support high capacity cards
- HAL SPDIFRX update
- update SPDIFRX_DMARxCplt() function implementation to check on circular mode before disabling the DMA
- HAL TIM update
- Update HAL_TIM_ConfigClockSource() function implementation for proper parameters check
- HAL UART update
- Update __HAL_UART_CLEAR_IT macro for proper functionning
- ll FMC update
- add FMC_PAGE_SIZE_512 define
- ll SDMMC update
- update SDMMC_SetSDMMCReadWaitMode() function for proper functionning
V1.0.2 / 21-September-2015
- Main
-Changes - HAL Generic update
- stm32f7xx_hal.conf_template.h: update HSE_STARTUP_TIMEOUT
- stm32f7xx_hal_def.h: update the quotation marks used in #error"USE_RTOS should be 0 in the current HAL release"
- HAL DMA update
- Overall
-driver update for code optimization
- add
-StreamBaseAddress and StreamIndex new fields in the DMA_HandleTypeDef
-structure
-
- add
-DMA_Base_Registers private structure
-
- add static function
-DMA_CalcBaseAndBitshift()
-
- update
-HAL_DMA_Init() function to use the new added static function
-
- update
-HAL_DMA_DeInit() function to optimize clear flag operations
-
- update
-HAL_DMA_Start_IT() function to optimize interrupts enable
-
- update
-HAL_DMA_PollForTransfer() function to optimize check on flags
-
- update
-HAL_DMA_IRQHandler() function to optimize interrupt flag management
- HAL ETH update
- remove duplicated macro IS_ETH_RX_MODE()
- HAL GPIO update
- Rename
-GPIO_SPEED_LOW define to GPIO_SPEED_FREQ_LOW
-
- Rename
-GPIO_SPEED_MEDIUM define to GPIO_SPEED_FREQ_MEDIUM
-
- Rename
-GPIO_SPEED_FAST define to GPIO_SPEED_FREQ_HIGH
-
- Rename
-GPIO_SPEED_HIGH define to GPIO_SPEED_FREQ_VERY_HIGH
- HAL HASH update
- Rename
-HAL_HASH_STATETypeDef to HAL_HASH_StateTypeDef
-
- Rename
-HAL_HASH_PhaseTypeDef to HAL_HASHPhaseTypeDef
- HAL RCC update
- update values for LSE Drive capability defines
- update PLLN/PLLI2SN/PLLSAI VCO min value 100MHz instead of 192MHz
- add __HAL_RCC_MCO1_CONFIG() and __HAL_RCC_MCO2_CONFIG() macros
- update HAL_RCCEx_PeriphCLKConfig() function to reset the Backup domain only if the RTC Clock source selection is modified
- HAL TIM update
- update the implementation of __HAL_TIM_SET_COMPARE() macro
- remove useless assert() in HAL_TIM_PWM_ConfigChannel(), TIM_OC2_SetConfig() and HAL_TIM_PWM_ConfigChannel() functions
- HAL CAN update
- add the clear flag ERRI bit in HAL_CAN_IRQHandler()
- HAL I2S update
- update I2S HAL_I2S_Transmit() API to keep the check on busy flag only for the slave
- HAL QSPI update
- Add __HAL_QSPI_CLEAR_FLAG() before QSPI_Config()
- HAL UART update
- Remove
-enabling of ERR IT source and PE source from HAL_UART_Transmit_IT() and
-remove the corresponding disabling ERR/PE IT from UART_EndTransmit_IT()
- HAL PCD update
- Clean status phase received interrupt when DMA mode enabled
- HAL HCD update
- Update to use local
-variable in USB Host channel re-activation
- ll FMC update
- update the define FMC Write FIFO Disable/Enable: FMC_WRITE_FIFO_DISABLE and FMC_WRITE_FIFO_ENABLE
- remove return HAL_ERROR from FMC_SDRAM_SendCommand() function
V1.0.1 / 25-June-2015
- Main
-Changes - General updates
-to fix known defects and enhancements implementation
- HAL CRC update
- update __HAL_CRC_SET_IDR() macro implementation to use WRITE_REG() instead of MODIFY_REG()
- HAL CEC update
- update timeout management in HAL_CEC_Transmit() and HAL_CEC_Receive() functions
- HAL Cortex update
- update HAL_MPU_ConfigRegion() function to be misra compliant
- HAL ETH update
- Remove
-duplicated IS_ETH_DUPLEX_MODE() and IS_ETH_RX_MODE() macros
- Remove
-illegal space ETH_MAC_READCONTROLLER_FLUSHING macro
- Update
-ETH_MAC_READCONTROLLER_XXX defined values (XXX can be IDLE, READING_DATA and
-READING_STATUS)
- HAL FLASH update
- update FLASH_OB_GetRDP() function to return uint8_t instead of FlagStatus
- update OB_RDP_LEVELx definition
- add __HAL_FLASH_GET_LATENCY() macro
- HAL HASH update
- update
-HASH_DMAXferCplt() and HASHEx_DMAXferCplt() functions to properly
-configure the number of valid bits in last word of the message
- update HAL_HASH_SHA1_Accumulate() function to check on the length of the input buffer
- update
-HAL_HASH_MODE_Start_IT() functions (Mode stands for MD5, SHA1, SHA224 and SHA256 ) to :
- Fix processing
-fail for small input buffers
-
- to unlock
-the process and call return HAL_OK at the end of HASH processing to avoid
-incorrect repeating software
-
- properly to manage
-the HashITCounter efficiency
-
- Update to call the
-HAL_HASH_InCpltCallback() at the end of the complete buffer instead
-of
-every each 512 bits
- update HASH_IT_DINI and HASH_IT_DCI definition
- update __HAL_HASH_GET_FLAG() macro definition
- HAL I2S update
- update HAL_I2S_Transmit() function to ensure the waiting on Busy flag in case of slave mode selection
- HAL RTC update
- update HAL_RTCEx_SetWakeUpTimer() and HAL_RTCEx_SetWakeUpTimer_IT() functions to properly check on WUTWF flag
- rename RTC_TIMESTAMPPIN_PI8 define to RTC_TIMESTAMPPIN_POS1
- rename RTC_TIMESTAMPPIN_PC1 define to RTC_TIMESTAMPPIN_POS2
- update __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG() macro definition
- update __HAL_RTC_TAMPER_GET_IT() macro definition
- update __HAL_RTC_TAMPER_CLEAR_FLAG() macro definition
- update __HAL_RTC_TIMESTAMP_CLEAR_FLAG() macro definition
- update __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG() macro definition
- add RTC_TAMPCR_TAMPXE and RTC_TAMPCR_TAMPXIE defines
- HAL SMARTCARD update
- add SMARTCARD_FLAG_IDLE, SMARTCARD_IT_IDLE and SMARTCARD_CLEAR_IDLEF defines
- HAL UART update
- update HAL_UART_DMAResume() function to clear overrun flag before resuming the Rx transfer
- update UART_FLAG_SBKF definition
- HAL USART update
- update HAL_USART_DMAResume() function to clear overrun flag before resuming the Rx transfer
- LL FMC update
- update NAND timing maximum values
- LL USB update
-
- USB_FlushTxFifo API:
-update to flush all Tx FIFO
-
- Update to use local
-variable in USB Host channel re-activation
-
- V1.0.0 / 12-May-2015
- Main
-Changes - First official release for STM32F756xx/746xx/745xx
-devices
-
-
-
-
-
- For
-complete documentation on STM32 Microcontrollers visit www.st.com/STM32
- |
-
-
- |
-
-
- |
-
-