diff --git a/system/Drivers/STM32F4xx_HAL_Driver/README.md b/system/Drivers/STM32F4xx_HAL_Driver/README.md
index 1ec1822722..11c87c4a30 100644
--- a/system/Drivers/STM32F4xx_HAL_Driver/README.md
+++ b/system/Drivers/STM32F4xx_HAL_Driver/README.md
@@ -42,6 +42,7 @@ Tag v1.7.6 | Tag v2.6.3 | Tag v5.4.0_cm4 | Tag v1.24.1 (and following, if any, t
Tag v1.7.7 | Tag v2.6.4 | Tag v5.4.0_cm4 | Tag v1.24.2 (and following, if any, till next tag)
Tag v1.7.8 | Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.0 (and following, if any, till next tag)
Tag v1.7.9 | Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.1 (and following, if any, till next tag)
+Tag v1.7.10 | Tag v2.6.5 | Tag v5.4.0_cm4 | Tag v1.25.2 (and following, if any, till next tag)
The full **STM32CubeF4** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeF4).
diff --git a/system/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html b/system/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html
index b62d5be9a2..3bbb837038 100644
--- a/system/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html
+++ b/system/Drivers/STM32F4xx_HAL_Driver/Release_Notes.html
@@ -31,6 +31,8 @@
+
+
@@ -912,8 +914,7 @@
-
-
+
@@ -945,9 +946,39 @@
-
Update History
+
Update History
+
+
+
VV1.7.10 / 22-October-2020
+
+
+
+
+
Main
+Changes
+
+
+
+
+
+
+
+
+
General updates to fix known defects.
HAL/LL I2C update
+
+
+
+
+
+
+
+
Update to fix hardfault issue with HAL_I2C_Mem_Write_DMA() API:
+Abort the right ongoing DMA transfer when memory write access request
+operation failed: fix typo �hdmarx� replaced by �hdmatx�
+
+
+
1.7.9 / 14-August-2020
-
V1.7.9 / 14-August-2020
Main
@@ -990,7 +1021,7 @@
Remove
non used API for USB device mode.
-
V1.7.8 / 12-February-2020
+
V1.7.8 / 12-February-2020
Main
@@ -1041,7 +1072,7 @@
V1.7.7 / 06-December-2019
+
V1.7.7 / 06-December-2019
Main
Changes
@@ -1120,7 +1151,7 @@
HAL NAND update
Update
HAL_NAND_Write_Page_8b(), HAL_NAND_Write_Page_16b() and
HAL_NAND_Write_SpareArea_16b() to manage correctly the time out
-condition.
HAL SAI update
Optimize SAI_DMATxCplt() and SAI_DMARxCplt() APIs to check on "Mode" parameter instead of CIRC bit in the CR register.
Remove unused SAI_FIFO_SIZE define
Update HAL_SAI_Receive_DMA() programming sequence to be inline with reference manual
V1.7.6 / 12-April-2019
+condition.
HAL SAI update
Optimize SAI_DMATxCplt() and SAI_DMARxCplt() APIs to check on "Mode" parameter instead of CIRC bit in the CR register.
Remove unused SAI_FIFO_SIZE define
Update HAL_SAI_Receive_DMA() programming sequence to be inline with reference manual
V1.7.6 / 12-April-2019
Main
Changes
@@ -1145,7 +1176,7 @@
V1.7.5 / 08-February-2019
+
V1.7.5 / 08-February-2019
Main
Changes
@@ -1537,9 +1568,9 @@
-
V1.7.4 / 02-February-2018
Main
+
V1.7.4 / 02-February-2018
Main
Changes
General updates
-to fix known defects and enhancements implementation
HAL update
Update UNUSED() macro implementation to avoid GCC warning
The warning is detected when the UNUSED() macro is called from C++ file
Update to make RAMFUNC define as generic type instead of HAL_StatusTypdef type.
HAL FLASH update
Update the prototypes of the following APIs after change on RAMFUNC defines
HAL_FLASHEx_StopFlashInterfaceClk()
HAL_FLASHEx_StartFlashInterfaceClk()
HAL_FLASHEx_EnableFlashSleepMode()
HAL_FLASHEx_DisableFlashSleepMode()
HAL SAI update
Update HAL_SAI_DMAStop() and HAL_SAI_Abort() process to fix the lock/unlock audio issue
V1.7.3 / 22-December-2017
Main
+to fix known defects and enhancements implementation
HAL update
Update UNUSED() macro implementation to avoid GCC warning
The warning is detected when the UNUSED() macro is called from C++ file
Update to make RAMFUNC define as generic type instead of HAL_StatusTypdef type.
HAL FLASH update
Update the prototypes of the following APIs after change on RAMFUNC defines
HAL_FLASHEx_StopFlashInterfaceClk()
HAL_FLASHEx_StartFlashInterfaceClk()
HAL_FLASHEx_EnableFlashSleepMode()
HAL_FLASHEx_DisableFlashSleepMode()
HAL SAI update
Update HAL_SAI_DMAStop() and HAL_SAI_Abort() process to fix the lock/unlock audio issue
V1.7.3 / 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
@@ -1571,7 +1602,7 @@
Ensure reset of CIR and CSR
registers when issuing HAL_RCC_DeInit()/LL_RCC_DeInit functions
Update HAL_RCC_OscConfig() to keep backup domain enabled when configuring respectively LSE and RTC clock source
Add new HAL interfaces allowing to control the activation or deactivation of PLLI2S and PLLSAI:
HAL_RCCEx_EnablePLLI2S()
HAL_RCCEx_DisablePLLI2S()
HAL_RCCEx_EnablePLLSAI()
HAL_RCCEx_DisablePLLSAI()
LL RCC update
Add new LL RCC macro
LL_RCC_PLL_SetMainSource()
allowing to configure PLL main clock source
LL FMC / LL FSMC update
Add clear of the PTYP bit to select the PCARD mode in FMC_PCCARD_Init() / FSMC_PCCARD_Init()
-
V1.7.2 / 06-October-2017
Main
+
V1.7.2 / 06-October-2017
Main
Changes
General updates
to fix known defects and enhancements implementation
Fix compilation warning with GCC compiler
Remove Date and version from header files
Update HAL drivers to refer to the new CMSIS bit position defines instead of usage the POSITION_VAL() macro
HAL Generic update
stm32f4xx_hal_def.h file changes:
Update __weak and __packed defined values for ARM compiler
Update __ALIGN_BEGIN and __ALIGN_END defined values for ARM compiler
Fix wrong definition of ADC channel temperature sensor for STM32F413xx and STM32F423xx devices.
HAL DMA update
Update values for the following defines: DMA_FLAG_FEIF0_4 and DMA_FLAG_DMEIF0_4
HAL DSI update
Fix Extra warning with SW4STM32 compiler
Fix DSI display issue when using EWARM w/ high level optimization
Fix MISRAC errors
HAL FLASH update
HAL_FLASH_Unlock() update to return state error when the FLASH is already unlocked
HAL FMPI2C update
Update
Interface APIs headers to remove confusing message about device address
Update
@@ -1602,7 +1633,7 @@
HAL RNG update
HAL_RNG_Init() remove Lock()/Unlock()
HAL MMC update
HAL_MMC_Erase() API: add missing () to fix compilation warning detected with SW4STM32 when extra feature is enabled.
HAL RTC update
HAL_RTC_Init() API: update to force the wait for synchro before setting TAFCR register when BYPSHAD bit in CR register is 0.
HAL SAI update
Update HAL_SAI_DMAStop() API to flush fifo after disabling SAI
HAL I2S update
Update I2S DMA fullduplex process to handle I2S Rx and Tx DMA Half transfer complete callback
HAL TIM update
Update HAL_TIMEx_OCN_xxxx() and HAL_TIMEx_PWMN_xxx() API description to remove support of TIM_CHANNEL_4
LL DMA update
Update to clear DMA flags using WRITE_REG() instead SET_REG() API to avoid read access to the IFCR register that is write only.
LL RTC update
Fix warning with static analyzer
LL USART update
Add assert macros to check USART BaudRate register
LL I2C update
Rename IS_I2C_CLOCK_SPEED()
and IS_I2C_DUTY_CYCLE() respectively to IS_LL_I2C_CLOCK_SPEED() and
- IS_LL_I2C_DUTY_CYCLE() to avoid incompatible macros redefinition.
LL TIM update
Update LL_TIM_EnableUpdateEvent() API to clear UDIS bit in TIM CR1 register instead of setting it.
Update LL_TIM_DisableUpdateEvent() API to set UDIS bit in TIM CR1 register instead of clearing it.
LL USART update
Fix MISRA error w/ IS_LL_USART_BRR() macro
Fix wrong check when UART10 instance is used
V1.7.1 / 14-April-2017
Main
+ IS_LL_I2C_DUTY_CYCLE() to avoid incompatible macros redefinition.
LL TIM update
Update LL_TIM_EnableUpdateEvent() API to clear UDIS bit in TIM CR1 register instead of setting it.
Update LL_TIM_DisableUpdateEvent() API to set UDIS bit in TIM CR1 register instead of clearing it.
LL USART update
Fix MISRA error w/ IS_LL_USART_BRR() macro
Fix wrong check when UART10 instance is used
V1.7.1 / 14-April-2017
Main
Changes
Update CHM UserManuals to support LL drivers
General updates
@@ -1616,7 +1647,7 @@
HAL PWR update
HAL_PWREx_EnterUnderDriveSTOPMode() API: remove check on UDRDY flag
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.7.0 / 17-February-2017
Main
+consideration the ADC number of conversions
Update the defined values for ADC group injected seqencer ranks
V1.7.0 / 17-February-2017
Main
Changes
Add Low Layer drivers allowing performance and footprint optimization
Low
@@ -1642,10 +1673,10 @@
I2S clock input frequency
calculation
to HAL RCC driver.
Update the
HAL I2SEx driver to keep only full duplex feature.
HAL_I2S_Init() API updated to
Fix wrong I2S clock calculation when PCM mode is used.
Return state HAL_I2S_ERROR_PRESCALER when the I2S clock is wrongly configured
-
HAL LTDC update
Optimize HAL_LTDC_IRQHandler() function by using direct register read
Rename the following API's
HAL_LTDC_Relaod() by HAL_LTDC_Reload()
HAL_LTDC_StructInitFromVideoConfig() by HAL_LTDCEx_StructInitFromVideoConfig()
HAL_LTDC_StructInitFromAdaptedCommandConfig() by HAL_LTDCEx_StructInitFromAdaptedCommandConfig()
Add new defines for LTDC layers (LTDC_LAYER_1 / LTDC_LAYER_2)
Remove unused asserts
HAL USBPCDupdate
Flush all TX FIFOs on USB Reset
Remove Lock mechanism from HAL_PCD_EP_Transmit() and HAL_PCD_EP_Receive() API's
LL USBupdate
Enable DMA Burst mode for USB OTG HS
Fix SD card detection issue
LL SDMMCupdate
Add new SDMMC_CmdSDEraseStartAdd, SDMMC_CmdSDEraseEndAdd, SDMMC_CmdOpCondition and SDMMC_CmdSwitch functions
V1.6.0 / 04-November-2016
Main
+
HAL LTDC update
Optimize HAL_LTDC_IRQHandler() function by using direct register read
Rename the following API's
HAL_LTDC_Relaod() by HAL_LTDC_Reload()
HAL_LTDC_StructInitFromVideoConfig() by HAL_LTDCEx_StructInitFromVideoConfig()
HAL_LTDC_StructInitFromAdaptedCommandConfig() by HAL_LTDCEx_StructInitFromAdaptedCommandConfig()
Add new defines for LTDC layers (LTDC_LAYER_1 / LTDC_LAYER_2)
Remove unused asserts
HAL USBPCDupdate
Flush all TX FIFOs on USB Reset
Remove Lock mechanism from HAL_PCD_EP_Transmit() and HAL_PCD_EP_Receive() API's
LL USBupdate
Enable DMA Burst mode for USB OTG HS
Fix SD card detection issue
LL SDMMCupdate
Add new SDMMC_CmdSDEraseStartAdd, SDMMC_CmdSDEraseEndAdd, SDMMC_CmdOpCondition and SDMMC_CmdSwitch functions
V1.6.0 / 04-November-2016
Main
Changes
-
Addsupport ofSTM32F413xx and STM32F423xx devices
General updates to fix known defects and enhancements implementation
HAL CAN update
Update to add the support of 3 CAN management
HAL CRYP update
Update to add the support of AES features
HAL DFSDM update
Add definitions for new external trigger filters
Add definition for new Channels 4, 5, 6 and 7
Add functions and API for Filter state configuration and management
Add new functions:
HAL_DFSDM_BitstreamClock_Start()
HAL_DFSDM_BitstreamClock_Stop()
HAL_DFSDM_BitStreamClkDistribution_Config()
HAL DMA
Add the support of DMA Channels from 8 to 15
Update HAL_DMA_DeInit() function with the check on DMA stream instance
HAL DSI update
Update HAL_DSI_ConfigHostTimeouts() and HAL_DSI_Init() functions to avoid scratch in DSI_CCR register
HAL FLASH update
Enhance FLASH_WaitForLastOperation() function implementation
Add new functions and call backs for Transfer Abort
HAL_SMARTCARD_Abort()
HAL_SMARTCARD_AbortTransmit()
HAL_SMARTCARD_AbortReceive()
HAL_SMARTCARD_Abort_IT()
HAL_SMARTCARD_AbortTransmit_IT()
HAL_SMARTCARD_AbortReceive_IT()
HAL_SMARTCARD_AbortCpltCallback()
HAL_SMARTCARD_AbortTransmitCpltCallback()
HAL_SMARTCARD_AbortReceiveCpltCallback()
HAL TIMupdate
Update HAL_TIMEx_RemapConfig() function to manage TIM internal trigger remap: LPTIM or TIM3_TRGO
HAL UARTupdate
Add Transfer abort functions and callbacks
HAL USARTupdate
Add Transfer abort functions and callbacks
V1.5.2 / 22-September-2016
Main
Changes
HAL I2C update
Fix wrong
@@ -1654,7 +1685,7 @@
Update I2C API's (Polling, IT and DMA interfaces) to manage I2C XferSize and XferCount handle parameters instead of API size parameter to help user to get information of counter in case of error.
Update Abort functionality to manage DMA use
-case
HAL FMPI2C update
Update to disable Own Address before setting the new Own Address configuration:
Update HAL_FMPI2C_Init() to disable FMPI2C_OARx_EN bit before any configuration in OARx registers
HAL CAN update
Update CAN receive processes to set CAN RxMsg FIFONumber parameter
HAL UART update
Update UART handle TxXferCount and RxXferCount parameters as volatile to avoid eventual issue with High Speed optimization
V1.5.1 / 01-July-2016
Main
+case
HAL FMPI2C update
Update to disable Own Address before setting the new Own Address configuration:
Update HAL_FMPI2C_Init() to disable FMPI2C_OARx_EN bit before any configuration in OARx registers
HAL CAN update
Update CAN receive processes to set CAN RxMsg FIFONumber parameter
HAL UART update
Update UART handle TxXferCount and RxXferCount parameters as volatile to avoid eventual issue with High Speed optimization
V1.5.1 / 01-July-2016
Main
Changes
HAL GPIO update
HAL_GPIO_Init()/HAL_GPIO_DeInit() API's: update GPIO_GET_INDEX() macro implementation to support all GPIO's
HAL SPI update
Fix regression issue: retore HAL_SPI_DMAPause() and HAL_SPI_DMAResume() API's
HAL RCC update
Fix FSMC macros compilation warnings with STM32F412Rx devices
HAL DMA update
HAL_DMA_PollFortransfer() API clean up
HAL PPP update(PPP refers to IRDA, UART, USART and SMARTCARD)
Update HAL_PPP_IRQHandler() to add a check on interrupt source before managing the error
@@ -1663,7 +1694,7 @@
HAL QSPI update
Implement
workaround to fix the limitation pronounced in the Errata
sheet 2.1.8 section: In some specific cases, DMA2 data corruption
-occurs when managing AHB and APB2 peripherals in a concurrent way
V1.5.0 / 06-May-2016
+occurs when managing AHB and APB2 peripherals in a concurrent way
V1.5.0 / 06-May-2016
Main
Changes
@@ -1714,7 +1745,7 @@
to provide the possibility to convert VrefInt channel when both
VrefInt and Vbat channels are selected.
HAL SPDIFRXupdate
Overall driver update for wait on flag management optimization
HAL WWDGupdate
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.4.4 / 22-January-2016
+
V1.4.4 / 22-January-2016
Main
Changes
@@ -1926,11 +1957,11 @@
Update the FSMC_NORSRAM_Init() function to use
-BurstAccessMode field properly
V1.4.4 / 11-December-2015
Main
+BurstAccessMode field properly
V1.4.4 / 11-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:
-
UNUSED(hppp);
STM32Fxxx_User_Manual.chm files regenerated for HAL V1.4.3
HAL ETH update
Update HAL_ETH_Init() function to add timeout on the Software reset management
V1.4.2 / 10-November-2015
+
UNUSED(hppp);
STM32Fxxx_User_Manual.chm files regenerated for HAL V1.4.3
HAL ETH update
Update HAL_ETH_Init() function to add timeout on the Software reset management
V1.4.2 / 10-November-2015
Main Changes
@@ -1943,7 +1974,7 @@
UNUSED(hppp);
HAL CORTEX update
Remove duplication for __HAL_CORTEX_SYSTICKCLK_CONFIG() macro
HAL HASH update
Rename HAL_HASH_STATETypeDef to HAL_HASH_StateTypeDef
Rename HAL_HASH_PhaseTypeDef to HAL_HASH_PhaseTypeDef
HAL RCC update
Add new macros __HAL_RCC_PPP_IS_CLK_ENABLED() to check on Clock enable/disable status
Update __HAL_RCC_USB_OTG_FS_CLK_DISABLE() macro to remove the disable for the SYSCFG
Update HAL_RCC_MCOConfig() API to use new defines for the GPIO Speed
Generic update to improve the PLL VCO min value(100MHz): PLLN, PLLI2S and PLLSAI min value is 50 instead of 192
HAL FLASH update
__HAL_FLASH_INSTRUCTION_CACHE_RESET() macro: update to reset ICRST bit in the ACR register after setting it.
Update to support until 15 FLASH wait state (FLASH_LATENCY_15) for STM32F446xx devices
-
HAL CRYP update
Update HAL_CRYP_DESECB_Decrypt() API to fix the inverted pPlainData and pCypherData parameters issue
HAL I2S update
Update HAL_I2S_Init() API to call __HAL_RCC_I2S_CONFIG() macro when external I2S clock is selected
HAL LTDC update
Update HAL_LTDC_SetWindowPosition() API to configure Immediate reload register instead of vertical blanking reload register.
HAL TIM update
Update HAL_TIM_ConfigClockSource() API to check only the required parameters
HAL NAND update
Update HAL_NAND_Read_Page()/HAL_NAND_Write_Page()/HAL_NAND_Read_SpareArea() APIs to manage correctly the NAND Page access
HAL CAN update
Update to use "=" instead of "|=" to clear flags in the MSR, TSR, RF0R and RF1R registers
HAL HCD update
Fix typo in __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE() macro implementation
HAL PCD update
Update HAL_PCD_IRQHandler() API to avoid issue when DMA mode enabled for Status Phase IN stage
LL FMC update
Update the FMC_NORSRAM_Extended_Timing_Init() API to remove the check on CLKDIvison and DataLatency parameters
Update the FMC_NORSRAM_Init() API to add a check on the PageSize parameter for STM32F42/43xx devices
LL FSMC update
Update the FSMC_NORSRAM_Extended_Timing_Init() API to remove the check on CLKDIvison and DataLatency parameters
V1.4.1 / 09-October-2015
+
HAL CRYP update
Update HAL_CRYP_DESECB_Decrypt() API to fix the inverted pPlainData and pCypherData parameters issue
HAL I2S update
Update HAL_I2S_Init() API to call __HAL_RCC_I2S_CONFIG() macro when external I2S clock is selected
HAL LTDC update
Update HAL_LTDC_SetWindowPosition() API to configure Immediate reload register instead of vertical blanking reload register.
HAL TIM update
Update HAL_TIM_ConfigClockSource() API to check only the required parameters
HAL NAND update
Update HAL_NAND_Read_Page()/HAL_NAND_Write_Page()/HAL_NAND_Read_SpareArea() APIs to manage correctly the NAND Page access
HAL CAN update
Update to use "=" instead of "|=" to clear flags in the MSR, TSR, RF0R and RF1R registers
HAL HCD update
Fix typo in __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE() macro implementation
HAL PCD update
Update HAL_PCD_IRQHandler() API to avoid issue when DMA mode enabled for Status Phase IN stage
LL FMC update
Update the FMC_NORSRAM_Extended_Timing_Init() API to remove the check on CLKDIvison and DataLatency parameters
Update the FMC_NORSRAM_Init() API to add a check on the PageSize parameter for STM32F42/43xx devices
LL FSMC update
Update the FSMC_NORSRAM_Extended_Timing_Init() API to remove the check on CLKDIvison and DataLatency parameters
V1.4.1 / 09-October-2015
Main Changes
@@ -1960,7 +1991,7 @@
Update DSI_HS_PM_ENABLE define value
Implement
workaround for the hardware limitation: �The time to activate the clock
-between HS transmissions is not calculated correctly�
V1.4.0 / 14-August-2015
+between HS transmissions is not calculated correctly�
V1.4.0 / 14-August-2015
Main Changes
@@ -1977,7 +2008,7 @@
STM32F469xx and STM32F479xx devices
HAL RTC update
Update HAL_RTCEx_SetWakeUpTimer() and HAL_RTCEx_SetWakeUpTimer_IT() functions to properly check on the WUTWF flag
HAL TIM update
add
new defines TIM_SYSTEMBREAKINPUT_HARDFAULT,
TIM_SYSTEMBREAKINPUT_PVD and TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD,
-applicable only to STM32F410xx devices
V1.3.2 / 26-June-2015
+applicable only to STM32F410xx devices
V1.3.2 / 26-June-2015
Main Changes
@@ -1998,7 +2029,7 @@
HAL FLASH update
FLASH_OB_GetRDP() API update to return uint8_t instead of FlagStatus
__HAL_FLASH_GET_LATENCY() new macro add to get the flash latency
HAL SPI update
Fix the wrong definition of HAL_SPI_ERROR_FLAG literal
HAL I2S update
HAL_I2S_Transmit() API update to check on busy flag only for I2S slave mode
HAL CRC update
__HAL_CRC_SET_IDR() macro implementation change to use WRITE_REG() instead of MODIFY_REG()
HAL DMA2D update
HAL_DMA2D_ConfigLayer() API update to use "=" instead of "|=" to erase BGCOLR and FGCOLR registers before setting the new configuration
HAL HASH update
HAL_HASH_MODE_Start_IT() (MODE stands for MD5, SHA1, SHA224 and SHA36) updates:
Fix processing fail for small input buffers
Update
to unlock the process and call return HAL_OK at the end of HASH
-processing to avoid incorrectly repeating software
Update to properly manage the HashITCounter
Update to call the HAL_HASH_InCpltCallback() at the end of the complete buffer instead of every each 512 bits
__HAL_HASH_GET_FLAG() update to check the right register when the DINNE flag is selected
HAL_HASH_SHA1_Accumulate() updates:
Add a call to the new IS_HASH_SHA1_BUFFER_SIZE() macro to check the size parameter.
Add the following note in API description
* @note Input buffer size in bytes must be a multiple of 4 otherwise the digest computation is corrupted.
HAL RTC update
Update to define hardware independent literals names:
Rename RTC_TAMPERPIN_PC13 by RTC_TAMPERPIN_DEFAULT
Rename RTC_TAMPERPIN_PA0 by RTC_TAMPERPIN_POS1
Rename RTC_TAMPERPIN_PI8 by RTC_TAMPERPIN_POS1
Rename RTC_TIMESTAMPPIN_PC13 by RTC_TIMESTAMPPIN_DEFAULT
Rename RTC_TIMESTAMPPIN_PA0 by RTC_TIMESTAMPPIN_POS1
Rename RTC_TIMESTAMPPIN_PI8 by RTC_TIMESTAMPPIN_POS1
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 PCD update
HAL_PCD_IRQHandler API: fix the bad Configuration of Turnaround Time
HAL HCD update
Update to use local variable in USB Host channel re-activation
LL FMC update
FMC_SDRAM_SendCommand() API: remove the following line: return HAL_ERROR;
LL USB update
USB_FlushTxFifo API: update to flush all Tx FIFO
Update to use local variable in USB Host channel re-activation
V1.3.1 / 25-Mars-2015
+processing to avoid incorrectly repeating software
Update to properly manage the HashITCounter
Update to call the HAL_HASH_InCpltCallback() at the end of the complete buffer instead of every each 512 bits
__HAL_HASH_GET_FLAG() update to check the right register when the DINNE flag is selected
HAL_HASH_SHA1_Accumulate() updates:
Add a call to the new IS_HASH_SHA1_BUFFER_SIZE() macro to check the size parameter.
Add the following note in API description
* @note Input buffer size in bytes must be a multiple of 4 otherwise the digest computation is corrupted.
HAL RTC update
Update to define hardware independent literals names:
Rename RTC_TAMPERPIN_PC13 by RTC_TAMPERPIN_DEFAULT
Rename RTC_TAMPERPIN_PA0 by RTC_TAMPERPIN_POS1
Rename RTC_TAMPERPIN_PI8 by RTC_TAMPERPIN_POS1
Rename RTC_TIMESTAMPPIN_PC13 by RTC_TIMESTAMPPIN_DEFAULT
Rename RTC_TIMESTAMPPIN_PA0 by RTC_TIMESTAMPPIN_POS1
Rename RTC_TIMESTAMPPIN_PI8 by RTC_TIMESTAMPPIN_POS1
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 PCD update
HAL_PCD_IRQHandler API: fix the bad Configuration of Turnaround Time
HAL HCD update
Update to use local variable in USB Host channel re-activation
LL FMC update
FMC_SDRAM_SendCommand() API: remove the following line: return HAL_ERROR;
LL USB update
USB_FlushTxFifo API: update to flush all Tx FIFO
Update to use local variable in USB Host channel re-activation
V1.3.1 / 25-Mars-2015
Main Changes
@@ -2008,7 +2039,7 @@
HAL PWR update
Fix compilation issue with STM32F417xx product: update STM32F17xx by STM32F417xx
HAL SPI update
Remove unused variable to avoid warning with TrueSTUDIO
HAL I2C update
I2C Polling/IT/DMA processes: move the wait loop on busy flag at the top of the processes, to ensure that software not perform any write access to I2C_CR1 register before hardware clearing STOP bit and to avoid also the waiting loop on BUSY flag under I2C/DMA ISR.
Update busy flag Timeout value
I2C Master Receive Processes update to disable ACK before generate the STOP
HAL DAC update
Fix
-V1.3.0 regression issue with DAC software trigger configuration
V1.3.0 / 09-Mars-2015
+V1.3.0 regression issue with DAC software trigger configuration
V1.3.0 / 09-Mars-2015
Main Changes
@@ -2065,7 +2096,7 @@
* @note Transition LSE Bypass to LSE On and LSE On to LSE Bypass are not supported by this macro.
* User should request a
transition to LSE Off first and then LSE On or LSE Bypass.
Add the
-following new macros for PLL source and PLLM selection :
__HAL_RCC_PLL_PLLSOURCE_CONFIG()
__HAL_RCC_PLL_PLLM_CONFIG()
Macros rename:
HAL_RCC_OTGHS_FORCE_RESET() by HAL_RCC_USB_OTG_HS_FORCE_RESET()
HAL_RCC_OTGHS_RELEASE_RESET() by HAL_RCC_USB_OTG_HS_RELEASE_RESET()
HAL_RCC_OTGHS_CLK_SLEEP_ENABLE() by HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE()
HAL_RCC_OTGHS_CLK_SLEEP_DISABLE() by HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE()
HAL_RCC_OTGHSULPI_CLK_SLEEP_ENABLE() by HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE()
HAL_RCC_OTGHSULPI_CLK_SLEEP_DISABLE() by HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE()
Add __HAL_RCC_SYSCLK_CONFIG() new macro to configure the system clock source (SYSCLK)
__HAL_RCC_GET_SYSCLK_SOURCE() updates:
Add new RCC Literals:
RCC_SYSCLKSOURCE_STATUS_HSI
RCC_SYSCLKSOURCE_STATUS_HSE
RCC_SYSCLKSOURCE_STATUS_PLLCLK
RCC_SYSCLKSOURCE_STATUS_PLLRCLK
Update macro description to refer to the literals above
HAL PWR update
Add new define PWR_WAKEUP_PIN2
Add new API to Control/Get VOS bits of CR register
HAL_PWR_HAL_PWREx_ControlVoltageScaling()
HAL_PWREx_GetVoltageRange()
__HAL_PWR_ VOLTAGESCALING_CONFIG(): Implement workaround to cover VOS limitation delay when PLL is enabled after setting the VOS configuration
HAL GPIO update
Add the
+following new macros for PLL source and PLLM selection :
__HAL_RCC_PLL_PLLSOURCE_CONFIG()
__HAL_RCC_PLL_PLLM_CONFIG()
Macros rename:
HAL_RCC_OTGHS_FORCE_RESET() by HAL_RCC_USB_OTG_HS_FORCE_RESET()
HAL_RCC_OTGHS_RELEASE_RESET() by HAL_RCC_USB_OTG_HS_RELEASE_RESET()
HAL_RCC_OTGHS_CLK_SLEEP_ENABLE() by HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE()
HAL_RCC_OTGHS_CLK_SLEEP_DISABLE() by HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE()
HAL_RCC_OTGHSULPI_CLK_SLEEP_ENABLE() by HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE()
HAL_RCC_OTGHSULPI_CLK_SLEEP_DISABLE() by HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE()
Add __HAL_RCC_SYSCLK_CONFIG() new macro to configure the system clock source (SYSCLK)
__HAL_RCC_GET_SYSCLK_SOURCE() updates:
Add new RCC Literals:
RCC_SYSCLKSOURCE_STATUS_HSI
RCC_SYSCLKSOURCE_STATUS_HSE
RCC_SYSCLKSOURCE_STATUS_PLLCLK
RCC_SYSCLKSOURCE_STATUS_PLLRCLK
Update macro description to refer to the literals above
HAL PWR update
Add new define PWR_WAKEUP_PIN2
Add new API to Control/Get VOS bits of CR register
HAL_PWR_HAL_PWREx_ControlVoltageScaling()
HAL_PWREx_GetVoltageRange()
__HAL_PWR_ VOLTAGESCALING_CONFIG(): Implement workaround to cover VOS limitation delay when PLL is enabled after setting the VOS configuration
HAL GPIO update
Add the
new Alternate functions literals related to remap for SPI, USART, I2C, SPDIFRX, CEC and
QSPI
HAL_GPIO_DeInit():
Update to check if GPIO Pin x is already used in EXTI mode on
@@ -2114,7 +2145,7 @@
Update FMC_NORSRAM_Init(), FMC_NORSRAM_DeInit() and FMC_NORSRAM_Extended_Timing_Init() functions
HAL LL USB update
Update USB_OTG_CfgTypeDef structure to support LPM, lpm_enable field added
Update USB_HostInit() and USB_DevInit() functions to support the VBUS Sensing B activation
V1.2.0 / 26-December-2014
+defines
Update FMC_NORSRAM_Init(), FMC_NORSRAM_DeInit() and FMC_NORSRAM_Extended_Timing_Init() functions
HAL LL USB update
Update USB_OTG_CfgTypeDef structure to support LPM, lpm_enable field added
Update USB_HostInit() and USB_DevInit() functions to support the VBUS Sensing B activation
V1.2.0 / 26-December-2014
@@ -2333,7 +2364,7 @@
V1.1.0 / 19-June-2014
+
V1.1.0 / 19-June-2014
Main Changes
@@ -2838,7 +2869,7 @@
V1.0.0 / 18-February-2014
+
V1.0.0 / 18-February-2014
Main Changes
@@ -2848,7 +2879,7 @@
-
First official release
License
+
First official release
License
Redistribution and use in source and binary forms, with or without
diff --git a/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c b/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
index 6d3c81b386..d7fcfd44e4 100644
--- a/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
+++ b/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
@@ -50,11 +50,11 @@
* @{
*/
/**
- * @brief STM32F4xx HAL Driver version number V1.7.9
+ * @brief STM32F4xx HAL Driver version number V1.7.10
*/
#define __STM32F4xx_HAL_VERSION_MAIN (0x01U) /*!< [31:24] main version */
#define __STM32F4xx_HAL_VERSION_SUB1 (0x07U) /*!< [23:16] sub1 version */
-#define __STM32F4xx_HAL_VERSION_SUB2 (0x09U) /*!< [15:8] sub2 version */
+#define __STM32F4xx_HAL_VERSION_SUB2 (0x0AU) /*!< [15:8] sub2 version */
#define __STM32F4xx_HAL_VERSION_RC (0x00U) /*!< [7:0] release candidate */
#define __STM32F4xx_HAL_VERSION ((__STM32F4xx_HAL_VERSION_MAIN << 24U)\
|(__STM32F4xx_HAL_VERSION_SUB1 << 16U)\
diff --git a/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c b/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c
index 5989cdbc2b..3fb6c3cbc4 100644
--- a/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c
+++ b/system/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c
@@ -3043,7 +3043,7 @@ HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAdd
if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart) != HAL_OK)
{
/* Abort the ongoing DMA */
- dmaxferstatus = HAL_DMA_Abort_IT(hi2c->hdmarx);
+ dmaxferstatus = HAL_DMA_Abort_IT(hi2c->hdmatx);
/* Prevent unused argument(s) compilation and MISRA warning */
UNUSED(dmaxferstatus);
diff --git a/system/Drivers/STM32L1xx_HAL_Driver/README.md b/system/Drivers/STM32L1xx_HAL_Driver/README.md
index 74906abb46..238f663f4b 100644
--- a/system/Drivers/STM32L1xx_HAL_Driver/README.md
+++ b/system/Drivers/STM32L1xx_HAL_Driver/README.md
@@ -41,6 +41,7 @@ HAL Driver L1 | CMSIS Device L1 | CMSIS Core | Was delivered in the full MCU pac
Tag v1.4.0 | Tag v2.3.0 | Tag v5.4.0_cm3 | Tag v1.9.0 (and following, if any, till next new tag)
Tag v1.4.1 | Tag v2.3.1 | Tag v5.4.0_cm3 | Tag v1.10.0 (and following, if any, till next new tag)
Tag v1.4.2 | Tag v2.3.1 | Tag v5.4.0_cm3 | Tag v1.10.1 (and following, if any, till next new tag)
+Tag v1.4.3 | Tag v2.3.1 | Tag v5.4.0_cm3 | Tag v1.10.2 (and following, if any, till next new tag)
The full **STM32CubeL1** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeL1).
diff --git a/system/Drivers/STM32L1xx_HAL_Driver/Release_Notes.html b/system/Drivers/STM32L1xx_HAL_Driver/Release_Notes.html
index b88bc19aa3..fb98efc365 100644
--- a/system/Drivers/STM32L1xx_HAL_Driver/Release_Notes.html
+++ b/system/Drivers/STM32L1xx_HAL_Driver/Release_Notes.html
@@ -46,15 +46,35 @@
Purpose
Update History
-
+
Main Changes
Maintenance release
-
Patch release to fix issue in I2C HAL driver
+
General updates to fix known defect.
Contents
+
HAL/LL I2C driver
+
+
Update to fix hardfault issue with HAL_I2C_Mem_Write_DMA() API:
+
+
Abort the right ongoing DMA transfer when memory write access request operation failed: fix typo “hdmarx” replaced by “hdmatx”
+
+
+
+
+
+
+
+
+
Main Changes
+
Maintenance release
+
+
Patch release to fix issue in I2C HAL driver
+
+
Contents
+
HAL I2C driver
Update I2C_MasterReceiveRXNE() static API to avoid set the STOP bit again after the bit clearing by Hardware during the masking operation.
@@ -68,13 +88,13 @@
Contents
-
Main Changes
-
Maintenance release
+
Main Changes
+
Maintenance release
Add new HAL EXTI driver
General updates to fix known defects and enhancements implementation
-
Contents
+
Contents
HAL driver
@@ -267,14 +287,14 @@
Contents
-
Main Changes
-
Maintenance release
+
Main Changes
+
Maintenance release
Add support of HAL callback registration feature
Add several enhancements implementation
Fix known defects to be aligned with others STM32 series
-
Contents
+
Contents
HAL/LL generic
@@ -550,9 +570,9 @@
Contents
-
Main Changes
+
Main Changes
Patch release
-
Contents
+
Contents
HAL/LL generic
@@ -565,9 +585,9 @@
Contents
-
Main Changes
-
Maintenance release
-
Contents
+
Main Changes
+
Maintenance release
+
Contents
HAL/LL generic
@@ -638,8 +658,8 @@
Contents
-
Main Changes
-
Maintenance release
+
Main Changes
+
Maintenance release
First official release supporting the Low Level drivers for the STM32L1xx family:
@@ -648,7 +668,7 @@
Maintenance release
Low Layer drivers APIs are implemented as static inline function in new Inc/stm32l1xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32l1xx_ll_ppp.h file must be included in user code.
-
Contents
+
Contents
Generic updates
@@ -743,9 +763,9 @@
Contents
-
Main Changes
-
Maintenance release
-
Contents
+
Main Changes
+
Maintenance release
+
Contents
Generic update
@@ -794,9 +814,9 @@
Contents
-
Main Changes
-
Maintenance release
-
Contents
+
Main Changes
+
Maintenance release
+
Contents
ADC
@@ -880,13 +900,13 @@
Contents
-
Main Changes
-
Maintenance release
+
Main Changes
+
Maintenance release
Include path changes for compilation under Unix environment
Update drivers to be C++ compliant
-
Contents
+
Contents
CORTEX
@@ -952,12 +972,12 @@
Contents
-
Main Changes
-
Maintenance release
+
Main Changes
+
Maintenance release
Add support of new STM32L1 eXtended devices - STM32l151xDX, STM32l152xDX & STM32l62xDX