Update History
V1.2.10/ 22-November-2021
Main 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-2021
Main 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_HASH_MD5_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()
- HAL_TIM_Encoder_Stop()
- 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
- TIM_UIFREMAP_DISABLE
- TIM_UIFREMAP_ENABLE
- 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
- Add
support to the Receiver Timeout
Interrupt in the
HAL_USART_IRQHandler
- Update
some API desciption
- HAL_USART_Transmit()
/ HAL_USART_Transmit_IT()
- HAL_USART_Receive()
/ HAL_USART_Receive_IT()
- HAL_USART_TransmitReceive()
/ HAL_USART_TransmitReceive_IT()
- HAL_USART_Transmit_DMA() /
HAL_USART_Receive_DMA() /
HAL_USART_TransmitReceive_DMA()
- Update
USART_SetConfig()
API
- Split
HAL_RCC_GetPCLK1Freq()
and HAL_RCC_GetPCLK2Freq() macros
from the USART_DIV_SAMPLING8() macro
- Support
Stop Mode functionalities in the
USART driver
- Add
definition of
USART_ISR_REACK USART, receive
enable acknowledge flag in the HAL
driver
- Add
new flag definition in the LL driver
- LL_USART_ICR_WUCF Wakeup
from Stop mode flag
- LL_USART_ISR_WUF
Wakeup from Stop mode flag
- LL_USART_ISR_REACK
Receive enable acknowledge flag
- LL_USART_CR3_WUFIE
Wakeup from Stop mode interrupt enable
- Add
new definition of the different
event which activates
the wakeup from Stop mode flag
- LL_
USART_WAKEUP_ON_ADDRESS
- LL_USART_WAKEUP_ON_STARTBIT
- LL_USART_WAKEUP_ON_RXNE
- Add
new API in LL driver to support stop
mode
- LL_USART_EnableInStopMode()
to enable the USART in stop mode
- LL_USART_DisableInStopMode()
to disable the USART in stop mode
- LL_USART_IsEnabledInStopMode()
to check if the USART is enabled
or not in the stop mode
- LL_USART_EnableClockInStopMode()
to enable the USART clock in the
stop mode
- LL_USART_DisableClockInStopMode()
to disable the USART clock in the
stop mode
- LL_USART_IsClockEnabledInStopMode()
to check whether USART clock are
enabled or not in the stop mode
- Add
new API in LL driver to manage event
relisted to Wake UP Interrupt Flag
- LL_USART_SetWKUPType()
to select the event type for Wake
UP Interrupt Flag
- LL_USART_GetWKUPType()
to get the event type for
Wake UP Interrupt Flag
- LL_USART_IsActiveFlag_WKUP() to
Check if the USART Wake Up from
stop mode Flag is set or not
- LL_USART_IsActiveFlag_REACK() to
Check if the USART Receive Enable
Acknowledge Flag is set or not
- LL_USART_ClearFlag_WKUP()
Clear Wake Up from stop mode Flag
- Add
new API in LL driver to manage wake
up from stop interruption
- LL_USART_EnableIT_WKUP() to
Enable Wake Up from Stop Mode
Interrupt
- LL_USART_DisableIT_WKUP() to
Disable Wake Up from Stop Mode
Interrupt
- LL_USART_IsEnabledIT_WKUP() to
Check if the USART Wake Up from
Stop Mode Interrupt is enabled or
not
- 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.
- 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"
- 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:
1.
With the following new API's
1.
HAL_I2C_Master_Seq_Transmit_DMA()
2.
HAL_I2C_Master_Seq_Receive_DMA()
3.
HAL_I2C_Slave_Seq_Transmit_DMA()
4.
HAL_I2C_Slave_Seq_Receive_DMA()
3.
Add new I2C transfer options to
easy manage the sequential transfers
1.
I2C_OTHER_FRAME
2.
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
- HAL
Lock/Unlock mecanism update
- LL
ADC update
- Fix
VREFINT/TEMPSENSOR calibration
address registers for
STM32F74x/75x/F76/F77 devices
- Note:
For STM32F72/F73 the issue will be
fixed in next release
- HAL_ADC_Start(),
HAL_ADC_Start_IT() and
HAL_ADC_Start_DMA() update to
prevention from starting ADC2 or
ADC3 once multimode is enabled
- HAL
DFSDM update
- General
updates to be compliant with DFSDM
bits naming used in CMSIS files.
- HAL
CAN update
- Update
possible values list for
FilterActivation parameter in
CAN_FilterTypeDef structure
- CAN_FILTER_ENABLE
instead of ENABLE
- CAN_FILTER_DISABLE
instead of DISABLE
- HAL
CEC update
- Update
HAL CEC State management method:
- Remove
HAL_CEC_StateTypeDef structure parameters
- Add
new defines for CEC states
- HAL
DMA2D update
- Remove
unused DMA2D_ColorTypeDef structure
to be compliant with MISRAC 2012
Rule 2.3
- General
update to use dedicated defines for
DMA2D_BACKGROUND_LAYER and
DMA2D_FOREGROUND_LAYER instead of
numerical values: 0/1.
- HAL/LL
RTC
update
- HAL/
LL drivers
optimization
- HAL
driver: remove unused variables
- LL
driver: getter APIs optimization
- HAL
JPEG update
- Update
parameters type in JPEG_ConfTypeDef
structure to be aligned with 32-bits
- HAL
SPI update
- Overall
rework of the driver for a more
efficient implementation
- Add
the following new macros:
- SPI_CHECK_FLAG()
- SPI_CHECK_IT_SOURCE()
- Add
HAL_SPIEx_FlushRxFifo()
API to flush the SPI FIFO RX.
- Update
HAL_SPI_Abort()
to fix abort issue in SPI TX or Rx
mode only
- Update
HAL_SPI_Transmit()/HAL_SPI_Receive()
API's to fix memory overflow issue.
- HAL
I2S update
- Overall
rework of the driver for a more
efficient implementation
- Add
the following new macros:
- I2S_CHECK_FLAG()
- I2S_CHECK_IT_SOURCE()
- Update
HAL_I2S_Transmit()/HAL_I2S_Receive()
API's to fix memory overflow issue.
- HAL/LL
TIM update
- Move
the following TIM structures from
stm32f4xx_hal_tim_ex.h into
stm32f4xx_hal_tim.h
- TIM_MasterConfigTypeDef
- TIM_BreakDeadTimeConfigTypeDef
- Add
new TIM Callbacks API's:
- HAL_TIM_PeriodElapsedHalfCpltCallback()
- HAL_TIM_IC_CaptureHalfCpltCallback()
- HAL_TIM_PWM_PulseFinishedHalfCpltCallback()
- HAL_TIM_TriggerHalfCpltCallback()
- TIM
API changes for MISRA-C 2012
compliancy:
- Rename
HAL_TIM_SlaveConfigSynchronization
to HAL_TIM_SlaveConfigSynchro
- Rename
HAL_TIM_SlaveConfigSynchronization_IT
to HAL_TIM_SlaveConfigSynchro_IT
- Rename
HAL_TIMEx_ConfigCommutationEvent
to HAL_TIMEx_ConfigCommutEvent
- Rename
HAL_TIMEx_ConfigCommutationEvent_IT
to HAL_TIMEx_ConfigCommutEvent_IT
- Rename
HAL_TIMEx_ConfigCommutationEvent_DMA
to HAL_TIMEx_ConfigCommutEvent_DMA
- Rename
HAL_TIMEx_CommutationCallback to
HAL_TIMEx_CommutCallback
- Rename
HAL_TIMEx_DMACommutationCplt to
TIMEx_DMACommutationCplt
- HAL
UART update
- Overall
rework of the driver for a more
efficient implementation
- Add
the following UART API's in
stm32f7xx_hal_uart_ex.c:
- HAL_RS485Ex_Init()
- HAL_MultiProcessorEx_AddressLength_Set()
- HAL/LL
USB
update
- Rework
USB interrupt handler and improve HS
DMA support in Device mode
- Fix
BCD handling for OTG instance in
device mode
- cleanup
reference to low speed in device
mode
- allow
writing TX FIFO in case of transfer
length is equal to available space
in the TX FIFO
- Fix
Toggle OUT interrupt channel in host
mode
- LL
IWDG update
- Update
LL inline macros to use IWDGx
parameter instead of IWDG instance
defined in CMSIS device
V1.2.6 / 29-June-2018
Main 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()
- Add
new user callbacks:
- HAL_I2C_ListenCpltCallback()
- HAL_I2C_AddrCallback()
- 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
License
Redistribution
and use in source and binary forms, with
or without modification, are permitted
provided that the following conditions
are met:
- Redistributions
of source code must retain the above
copyright notice, this list of
conditions and the following
disclaimer.
- Redistributions
in binary form must reproduce the
above copyright notice, this list of
conditions and the following
disclaimer in the documentation and/or
other materials provided with the
distribution.
- Neither
the name of STMicroelectronics nor the
names of its contributors may be used
to endorse or promote products derived
from this software without specific
prior written permission.
THIS
SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
For complete documentation on STM32
Microcontrollers visit www.st.com/STM32
|