blob: 215114fdb64e879a28c37b5d7007da8a0c13a238 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head>
<meta http-equiv="content-type" content="text/html;
charset=windows-1252"><title>Release Notes for STM32F4xx HAL Drivers</title></head>
<body lang="EN-US" link="blue" vlink="blue">
<div class="WordSection1">
<div>
<p class="MsoNormal" style=""><span style="font-family: &quot;Arial&quot;,sans-serif;"><o:p>&nbsp;</o:p></span></p>
<div align="center">
<table class="MsoNormalTable" style="width: 675pt;" border="0" cellpadding="0" cellspacing="0" width="900">
<tbody>
<tr style="">
<td style="padding: 0in;" valign="top">
<table class="MsoNormalTable" style="width: 675pt;" border="0" cellpadding="0" cellspacing="0" width="900">
<tbody>
<tr style="">
<td style="padding: 0in 5.4pt;" valign="top">
<p class="MsoNormal" style=""><span style="font-size: 8pt; font-family: &quot;Arial&quot;,sans-serif; color: blue;"><a href="../../Release_Notes.html">Back to
Release page</a></span><span style="font-size: 10pt;"><o:p></o:p></span></p>
</td>
</tr>
<tr style="">
<td style="padding: 1.5pt;">
<h1 style="margin-bottom: 0.25in; text-align: center;" align="center"><span style="font-size: 20pt; font-family: &quot;Verdana&quot;,sans-serif; color: rgb(51, 102, 255);">Release
Notes for STM32F4xx HAL Drivers</span><span style="font-size: 20pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></h1>
<p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif; color: black;">Copyright 2017
STMicroelectronics</span><span style="color: black;"><u1:p></u1:p><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif; color: black;"><img id="_x0000_i1044" src="_htmresc/st_logo.png" border="0" height="81" width="109"></span><span style="font-size: 10pt;"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style=""><span style="font-family: &quot;Arial&quot;,sans-serif; display: none;"><o:p>&nbsp;</o:p></span></p>
<table class="MsoNormalTable" style="width: 675pt;" border="0" cellpadding="0" width="900">
<tbody>
<tr style="">
<td style="padding: 0in;" valign="top">
<table class="MsoNormalTable" style="width: 846.25pt;" border="0" cellpadding="0" width="1128">
<tbody>
<tr style="">
<td style="padding: 0in; width: 843.25pt;" valign="top" width="1124">
<h2 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"><font color="#ffffff"><a name="History"></a><span style="font-size: 12pt;">Update
History</span><span style=""><o:p></o:p></span></font></h2><h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.8.1
/ 24-June-2022</span></font></h3>
<blockquote>
<p><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main
Changes<br>
</span></u></b></p>
</blockquote>
<ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"><li><font face="Verdana" size="-1">General updates to fix HAL ETH defects and implementation enhancements.</font></li><li><p><font face="Verdana" size="-1"><strong>HAL</strong>
updates</font></p>
<font face="Verdana" size="-1"> </font>
<ul><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL ETH </strong>update</font></li><ul><li style="font-family: -apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Ubuntu,&quot;Helvetica Neue&quot;,Helvetica,sans-serif; line-height: 1.4;">Remove useless assert_param(IS_ETH_MAC_ADDRESS0123(MacAddr)) from static function ETH_MACAddressConfig().</li><li style="font-family: -apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Ubuntu,&quot;Helvetica Neue&quot;,Helvetica,sans-serif; line-height: 1.4;">Replace hard coded Rx buffer size (1000U) by macro ETH_RX_BUF_SIZE.</li><li style="font-family: -apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Ubuntu,&quot;Helvetica Neue&quot;,Helvetica,sans-serif; line-height: 1.4;">Correct
bit positions when getting MAC and DMA configurations and replace
‘UnicastSlowProtocolPacketDetect’ by ‘UnicastPausePacketDetect’ in the
MAC default configuration structure.</li><li style="font-family: -apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Ubuntu,&quot;Helvetica Neue&quot;,Helvetica,sans-serif; line-height: 1.4;">Ensure a delay of 4 TX_CLK/RX_CLK cycles between two successive write operations to the same register.</li><li style="font-family: -apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Ubuntu,&quot;Helvetica Neue&quot;,Helvetica,sans-serif; line-height: 1.4;">Disable DMA transmission in both HAL_ETH_Stop_IT() and HAL_ETH_Stop() APIs.<br><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;"></span></font></li></ul></ul></li></ul><h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.8.0
/ 11-February-2022</span></font></h3>
<blockquote>
<p><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main
Changes<br>
</span></u></b></p>
</blockquote>
<ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc">
<li><font face="Verdana" size="-1">General updates to fix known defects and implementation enhancements.</font></li>
<li><font face="Verdana" size="-1">All source files: update disclaimer to add reference to the new license agreement.<br>
</font></li>
<li><font face="Verdana" size="-1"><b>The following changes done on the HAL drivers require an update of the application code based on older HAL versions</b></font></li><ul><li><font face="Verdana" size="-1">Rework of HAL Ethernet driver to resolve problems and improve performance (<b>compatibility break</b>).&nbsp;</font></li><li><font face="Verdana" size="-1">A new HAL Ethernet driver has been redesigned with new APIs, to bypass limitations with previous HAL Ethernet driver version.</font></li><li><font face="Verdana" size="-1">The new HAL Ethernet driver is the
recommended version. It is located as usual in
Drivers/STM32F4xx_HAL_Driver/Src and Drivers/STM32F4xx_HAL_Driver/Inc
folders.&nbsp;</font></li><ul><li><font face="Verdana" size="-1">It can be enabled through switch HAL_ETH_MODULE_ENABLED in stm32f4xx_hal_conf.h</font></li></ul><li><font face="Verdana" size="-1">The legacy HAL Ethernet driver is also
present in the release in Drivers/STM32F4xx_HAL_Driver/Src/Legacy and
Drivers/STM32F4xx_HAL_Driver/Inc/Legacy folders for software
compatibility reasons.</font></li><ul><li><font face="Verdana" size="-1">Its usage is not recommended as
deprecated. It can however be enabled through switch
HAL_ETH_LEGACY_MODULE_ENABLED in stm32f4xx_hal_conf.h</font></li></ul></ul>
<li><p><font face="Verdana" size="-1"><strong>HAL</strong>
updates</font></p>
<font face="Verdana" size="-1"> </font>
<ul>
<font face="Verdana" size="-1">
</font>
<li><font face="Verdana" size="-1"><strong>HAL ETH </strong>update </font>
<br><ul>
<li><font face="Verdana" size="-1">Entire receive process reworked.</font></li><li><font face="Verdana" size="-1">Resolve the problem of received data corruption.</font></li><li><font face="Verdana" size="-1">Implement transmission in interrupt mode.</font></li><li><font face="Verdana" size="-1">Handle one interrupt for multiple transmitted packets.</font></li><li><font face="Verdana" size="-1">Implement APIs to handle PTP feature.</font></li><li><font face="Verdana" size="-1">Implement APIs to handle Timestamp feature.</font></li><li><font face="Verdana" size="-1">Add support of receive buffer unavailable.</font></li>
<li><font face="Verdana" size="-1">Update HAL_ETH_IRQHandler() to handle receive buffer unavailable.</font></li>
</ul></li>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL SMBUS</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">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.</font></li>
<ul>
<li><font face="Verdana" size="-1">Add flush on TX register.</font></li>
</ul>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL TIM</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">__LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL LPTIM</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1"> Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL UART</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li>
<li><font face="Verdana" size="-1">Improve header description of UART_WaitOnFlagUntilTimeout() function.</font></li>
<li><font face="Verdana" size="-1">Add a check on the UART parity before enabling the parity error interruption.</font></li>
<li><font face="Verdana" size="-1">Fix typo in UART_IT_TXE bit description.<br>
</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL IRDA </span>update</font></li>
<ul>
<li><font face="Verdana" size="-1">Improve header description of IRDA_WaitOnFlagUntilTimeout() function.</font></li>
<li><font face="Verdana" size="-1">Add a check on the IRDA parity before enabling the parity error interrupt.</font></li>
<li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL SMARTCARD</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function</font></li>
<li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL NOR</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Apply adequate commands according to the command set field value</font></li>
<li><font face="Verdana" size="-1">command set 1 for Micron JS28F512P33</font></li>
<li><font face="Verdana" size="-1">command set 2 for Micron M29W128G and Cypress S29GL128P</font></li>
<li><font face="Verdana" size="-1">Add new command operations:</font></li>
<ul>
<li><font face="Verdana" size="-1">NOR_CMD_READ_ARRAY</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_WORD_PROGRAM</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_BUFFERED_PROGRAM</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_CONFIRM</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_BLOCK_ERASE</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_BLOCK_UNLOCK</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_READ_STATUS_REG</font></li>
<li><font face="Verdana" size="-1">NOR_CMD_CLEAR_STATUS_REG</font></li>
</ul>
<li><font face="Verdana" size="-1">Update some APIs in order to be compliant for memories with different command set, the updated APIs are:</font></li>
<ul>
<li><font face="Verdana" size="-1">HAL_NOR_Init()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_Read_ID()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_ReturnToReadMode()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_Read()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_Program()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_ReadBuffer()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_ProgramBuffer()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_Erase_Block()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_Erase_Chip()</font></li>
<li><font face="Verdana" size="-1">HAL_NOR_GetStatus()</font></li>
</ul>
<li><font face="Verdana" size="-1">Align HAL_NOR_Init() API with core of the function when write operation is disabled to avoid HardFault.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL SDMMC</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Take into account the voltage range in the CMD1 command.</font></li>
<li><font face="Verdana" size="-1">Add new LL function to have correct response for MMC driver.</font></li>
<li><font face="Verdana" size="-1">Update the driver to have all fields correctly initialized.</font></li>
<li><font face="Verdana" size="-1">Add an internal variable to manage the power class and call it before to update speed of bus width.</font></li>
<li><font face="Verdana" size="-1">Add new API to get the value of the Extended CSD register and populate the ExtCSD field of the MMC handle.</font></li>
<li><font face="Verdana" size="-1">In HAL_MMC_InitCard(), call to SDIO_PowerState_ON() moved after
__HAL_MMC_ENABLE() to ensure MMC clock is enabled before the call to
HAL_Delay() from within SDIO_PowerState_ON().</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL DMA</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Manage the case of an invalid value of CallbackID passed to the HAL_DMA_RegisterCallback() API.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL LTDC</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Update HAL_LTDC_DeInit() to fix MCU Hang up during LCD turn OFF.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL I2C</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Update to fix issue detected due to low system frequency execution (HSI).</font></li>
<li><font face="Verdana" size="-1">Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA</font></li>
<li><font face="Verdana" size="-1">Update HAL I2C Master Receive IT process to safe manage data N= 2 and N= 3.</font></li>
<ul>
<li><font face="Verdana" size="-1">Disable RxNE interrupt if nothing to do.</font></li>
</ul>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL USART</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Improve header description of USART_WaitOnFlagUntilTimeout() function.</font></li>
<li><font face="Verdana" size="-1">Add a check on the USART parity before enabling the parity error interrupt.</font></li>
<li><font face="Verdana" size="-1">Add const qualifier for read only pointers.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL/LL ADC</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Update LL_ADC_IsActiveFlag_MST_EOCS() API to get the appropriate flag.</font></li>
<li><font face="Verdana" size="-1">Better performance by removing multiple volatile reads or writes in interrupt handler.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL FMPI2C</span> update <br>
</font></li>
<ul>
<li><font face="Verdana" size="-1">Update to handle errors in polling mode.</font></li>
<ul>
<li><font face="Verdana" size="-1">Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.</font></li>
</ul>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL EXTI</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Update HAL_EXTI_GetConfigLine() API to fix wrong calculation of GPIOSel value.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL QSPI</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Update HAL_QSPI_Abort() and&nbsp;
HAL_QSPI_Abort_IT() APIs to check on QSPI BUSY flag status before
executing the abort procedure.</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL/LL RTC</span> cleanup</font></li>
<ul>
<li><font face="Verdana" size="-1">Use bits definitions from CMSIS Device header file instead of hard-coded values.</font></li>
<li><font face="Verdana" size="-1">Wrap comments to be 80-character long and correct typos.</font></li>
<li><font face="Verdana" size="-1">Move constants RTC_IT_TAMP. from hal_rtc.h to hal_rtc_ex.h.</font></li>
<li><font face="Verdana" size="-1">Gather all instructions related to exiting the "init" mode into new function RTC_ExitInitMode().</font></li>
<li><font face="Verdana" size="-1">Add
new macro
assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper-&gt;Filter,
sTamper-&gt;Trigger)) to check tamper filtering is disabled in case
tamper events are triggered on signal edges.</font></li>
<li><font face="Verdana" size="-1">Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:</font></li>
<ul>
<li><font face="Verdana" size="-1">Write in TAFCR register in one single access instead of two.</font></li>
<li><font face="Verdana" size="-1">Avoid modifying user structure sTamper.</font></li>
</ul>
<li><font face="Verdana" size="-1">Remove functions LL_RTC_EnablePushPullMode() and LL_RTC_DisablePushPullMode() as related to non-supported features.</font></li>
<li><font face="Verdana" size="-1">Remove any reference to non-supported features (e.g., LL_RTC_ISR_TAMP3F).</font></li>
<li><font face="Verdana" size="-1">Remove
useless conditional defines as corresponding features are supported by
all part-numbers (e.g., #if defined(RTC_TAFCR_TAMPPRCH)).</font></li>
</ul>
<li><font face="Verdana" size="-1"><span style="font-weight: bold;">HAL USB OTG</span> update</font></li>
<ul>
<li><font face="Verdana" size="-1">Fix USB_FlushRxFifo() and USB_FlushTxFifo() APIs by adding check on AHB master IDLE state before flushing the USB FIFO</font></li>
<li><font face="Verdana" size="-1">Fix to avoid resetting host channel direction during channel halt</font></li>
<li><font face="Verdana" size="-1">Fix to report correct received amount of data with USB DMA enabled</font></li>
<li><font face="Verdana" size="-1">Fix to avoid compiler optimization on count variable used for USB HAL timeout loop check</font></li>
<li><font face="Verdana" size="-1">Add missing registered callbacks check for HAL_HCD_HC_NotifyURBChange_Callback()</font></li>
<li><font face="Verdana" size="-1">Add new API HAL_PCD_SetTestMode() APIs to handle USB device high speed Test modes</font></li>
<li><font face="Verdana" size="-1">Setting SNAK for EPs not required during device reset</font></li>
<li><font face="Verdana" size="-1">Update USB IRQ handler to enable EP OUT disable</font></li>
<li><font face="Verdana" size="-1">Add support of USB IN/OUT Iso incomplete</font></li>
<li><font face="Verdana" size="-1">Fix USB BCD data contact timeout<br>
<br>
</font></li>
</ul>
</ul>
</li>
</ul>
<h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.7.13
/ 16-July-2021</span></font></h3>
<blockquote>
<p><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main
Changes<br>
</span></u></b></p>
</blockquote>
<ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc"><li>
<p><font face="Verdana" size="-1"><strong>HAL</strong>
updates</font></p>
<font face="Verdana" size="-1"> </font>
<ul><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL EXTI</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update
HAL_EXTI_GetConfigLine()
API to set default
configuration value of
Trigger and GPIOSel
before checking each
corresponding registers.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL GPIO</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update
HAL_GPIO_Init() API to
avoid the configuration
of PUPDR register when
Analog mode is selected.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL DMA</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update
HAL_DMA_IRQHandler() API
to set the DMA state
before unlocking access
to the DMA handle.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL/LL ADC</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update
LL_ADC_DeInit() API to
clear missing SQR3
register.</font></li><li><font face="Verdana" size="-1">Update
LL_ADC_DMA_GetRegAddr()
API to prevent unused
argument compilation
warning.</font></li><li><font face="Verdana" size="-1">Update HAL
timeout mechanism to
avoid false timeout
detection in case of
preemption.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL CAN</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update
HAL_CAN_Init() API to be
aligned with referance
manual and to avoid
timeout error:</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL/LL
RTC_BKP</strong> update </font>
<ul><li><font face="Verdana" size="-1">Update
__HAL_RTC_…(__HANDLE__,
…) macros to access
registers through
(__HANDLE__)-&gt;Instance
pointer and avoid
“unused variable”
warnings.</font></li><li><font face="Verdana" size="-1">Correct month
management in
IS_LL_RTC_MONTH() macro.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL RNG</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update timeout
mechanism to avoid false
timeout detection in
case of preemption.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL QSPI</strong>
update </font>
<ul><li><font face="Verdana" size="-1">ES0305
workaround disabled for
STM32412xx devices.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL I2C</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Update
HAL_I2C_Mem_Write_DMA()
and
HAL_I2C_Mem_Read_DMA()
APIs to initialize
Devaddress, Memaddress
and EventCount
parameters.</font></li><li><font face="Verdana" size="-1">Update to
prevent several calls of
Start bit: </font>
<ul><li><font face="Verdana" size="-1">Update
I2C_MemoryTransmit_TXE_BTF()
API to increment
EventCount.</font></li></ul>
</li><li><font face="Verdana" size="-1">Update to
avoid I2C interrupt in
endless loop: </font>
<ul><li><font face="Verdana" size="-1">Update
HAL_I2C_Master_Transmit_IT(),
HAL_I2C_Master_Receive_IT(),
HAL_I2C_Master_Transmit_DMA()
and
HAL_I2C_Master_Receive_DMA()
APIs to unlock the
I2C peripheral
before generating
the start.</font></li></ul>
</li><li><font face="Verdana" size="-1">Update to use
the right macro to clear
I2C ADDR flag inside
I2C_Slave_ADDR() API as
it’s indicated in the
reference manual.</font></li><li><font face="Verdana" size="-1">Update
I2C_IsAcknowledgeFailed()
API to avoid I2C in busy
state if NACK received
after transmitting
register address.</font></li><li><font face="Verdana" size="-1">Update
HAL_I2C_EV_IRQHandler()
and
I2C_MasterTransmit_BTF()
APIs to correctly manage
memory transfers: </font>
<ul><li><font face="Verdana" size="-1">Add check
on memory mode
before calling
callbacks
procedures.</font></li></ul>
</li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>LL USART</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Handling of
UART concurrent register
access in case of race
condition between Tx and
Rx transfers (HAL UART
and LL LPUART)</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL SMBUS</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Updated
HAL_SMBUS_ER_IRQHandler()
API to return the
correct error code
“SMBUS_FLAG_PECERR” in
case of packet error
occurs.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL/LL SPI</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Updated to fix
MISRA-C 2012 Rule-13.2.</font></li><li><font face="Verdana" size="-1">Update
LL_SPI_TransmitData8()
API to avoid casting the
result to 8 bits.</font></li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL UART</strong>
update </font>
<ul><li><font face="Verdana" size="-1">Fix wrong
comment related to RX
pin configuration within
the description section</font></li><li><font face="Verdana" size="-1">Correction on
UART ReceptionType
management in case of
ReceptionToIdle API are
called from RxEvent
callback</font></li><li><font face="Verdana" size="-1">Handling of
UART concurrent register
access in case of race
condition between Tx and
Rx transfers (HAL UART
and LL LPUART) </font>
<ul><li><font face="Verdana" size="-1">Update CAN
Initialization
sequence to set
"request
initialization" bit
before exit from
sleep mode.</font></li></ul>
</li></ul>
</li><font face="Verdana" size="-1">
</font><li><font face="Verdana" size="-1"><strong>HAL USB</strong>
update </font>
<ul><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1">HAL PCD: add
fix transfer complete
for IN Interrupt
transaction in single
buffer mode</font></li><font face="Verdana" size="-1"> </font><li><font face="Verdana" size="-1">Race condition
in USB PCD control
endpoint receive ISR.</font><br><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;"></span></font></li></ul>
</li></ul>
</li></ul><h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.7.12
/ 26-March-2021</span><span style=""><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 118.5pt; text-indent: -97.5pt;"><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main
Changes</span></u></b><o:p></o:p></p>
<ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><b><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL<o:p></o:p></span></b></li>
<ul type="circle">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><b><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
USART</span></b><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"> update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix typo in
USART_Receive_IT() and
USART_TransmitReceive_IT()
APIs to avoid possible
compilation issues if the
UART driver files are not
included.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.7.11
/ 12-February-2021</span><span style=""><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 118.5pt; text-indent: -97.5pt;"><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main
Changes</span></u></b><o:p></o:p></p>
<ul style="orphans: 2; text-align: start; widows: 2; word-spacing: 0px;" type="disc">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix known defects and
enhancements <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">implementation</span></span><o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added
new&nbsp;<strong><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL
FMPSMBUS extended</span></strong>&nbsp;driver
to support FMPSMBUS fast Mode
Plus.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Removed
“register” keyword to be
compliant with new C++ rules:<o:p></o:p></span></li>
<ul type="circle">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">The register
storage class specifier was
deprecated in C++11 and
removed in C++17.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul type="circle">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix known defects
and enhancements
implementation.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added new
defines for ARM compiler V6:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">__weak<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">__packed<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">__NOINLINE<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated HAL <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TimeBase</span></span>
TIM, RTC alarm and RTC <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WakeUp</span></span>
templates for more robustness<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Hal_Init_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Tick(</span></span>)
API to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">propoerty</span></span>
store the priority when
using the non-default time
base.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
PPP_MODULE_ENABLED for
FMPSMBUS.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL ADC</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated to
add include of the LL ADC
driver.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated the
following APIs to set status
HAL_ADC_STATE_ERROR_INTERNAL
and error code
HAL_ADC_ERROR_INTERNAL when
error occurs:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_Start_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_Start_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADCEx_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">InjectedStart(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADCEx_InjectedStart_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADCEx_MultiModeStart_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_Stop_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
API to check if DMA state is
Busy before calling <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Abort</span></span>()
API to avoid DMA internal
error.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
IS_ADC_CHANNEL to support
temperature sensor for:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">STM32F411xE<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">STM32F413xx<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">STM32F423xx<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Fixed wrong
defined values for:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">LL_ADC_MULTI_REG_DMA_LIMIT_3<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">LL_ADC_MULTI_REG_DMA_UNLMT_3<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added
__LL_ADC_CALC_VREFANALOG_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VOLTAGE(</span></span>)
macro to evaluate analog
reference voltage.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Removed
__LL_ADC_CALC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TEMPERATURE(</span></span>)
macro for STM32F4x9 devices
as the TS_CAL2 is not
available.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL DAC</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">restruction</span></span>
on DAC Channel 2 defines and
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">parametres</span></span>.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DAC_MSPINIT_CB_ID
and HAL_DAC_MSPDEINIT_CB_ID
used instead of
HAL_DAC_MSP_INIT_CB_ID and
HAL_DAC_MSP_DEINIT_CB_ID.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated to
support dual mode:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added two
new APIs:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DualStart(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DualStop(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added
position bit definition to
be used instead of
__DAC_MASK_SHIFT macro<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">__DAC_MASK_SHIFT
macro has been removed.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DAC_Start_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
API to return HAL_ERROR when
error occurs.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DAC_Stop_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
API to not return HAL_ERROR
when DAC is already
disabled.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL CEC</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"> update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API to avoid appending an
extra byte to the end of a
message.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL GPIO</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
IS_GPIO_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AF(</span></span>) to
add missing values for
STM32F401xC and STM32F401xE
devices:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">GPIO_AF3_TIM9<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">GPIO_AF3_TIM10<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">GPIO_AF3_TIM11<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
LL/HAL <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GPIO_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TogglePin(</span></span>)
APIs to allow multi Pin’s
toggling.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API to avoid the
configuration of PUPDR
register when Analog mode is
selected.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL RCC</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OscConfig(</span></span>)
API to add missing checks
and to don’t return
HAL_ERROR if request repeats
the current PLL
configuration.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
IS_RCC_PLLN_VALUE(VALUE)
macro in case of STM32F411xE
device <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">in order to</span></span>
be aligned with reference
manual.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL SD</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"> update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
function <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FindSCR(</span></span>)
to resolve issue of FIFO
blocking when reading.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
read/write functions in DMA
mode <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">in
order to</span></span>
force the DMA direction,
updated functions:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Add the
block size settings in the
initialization functions and
remove it from read/write
transactions to avoid
repeated and inefficient
reconfiguration, updated
functions:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">InitCard(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">GetCardStatus(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigWideBusOperation(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)&nbsp;<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">ReadBlocks(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">WriteBlocks(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL&nbsp;MMC</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"> update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Add the
block size settings in the
initialization function and
remove it from read/write
transactions to avoid
repeated and inefficient
reconfiguration, updated
functions:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">InitCard(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">ReadBlocks(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">WriteBlocks(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
read/write functions in DMA
mode <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">in
order to</span></span>
force the DMA direction,
updated functions:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_ReadBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span class="spelle"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_MMC_WriteBlocks_</span></span><span class="grame"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Deploy new
functions <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MMC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ReadExtCSD(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SDMMC_CmdSendEXTCSD</span></span>
() that read and check the
sectors&nbsp;number of the
device in order to resolve
the issue of wrongly reading
big memory size.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><b><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL NAND
update<o:p></o:p></span></b></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
functions
HAL_NAND_Read_SpareArea_16<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">b(</span></span>)
and
HAL_NAND_Write_SpareArea_16b()
to fix column address
calculation issue.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">LL SDMMC
update</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Update the
definition of
SDMMC_DATATIMEOUT constant <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">in
order to</span></span>
allow the user to redefine
it in his proper
application.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Remove
'register' storage class
specifier from LL SDMMC
driver.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Deploy new
functions <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MMC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ReadExtCSD(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SDMMC_CmdSendEXTCSD</span></span>
() that read and check the
sectors number of the device
in order to resolve the
issue of wrongly reading big
memory size.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL SMBUS</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Support for
Fast Mode Plus to be SMBUS
rev 3 compliant.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Added <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPSMBUSEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnableFastModePlus(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPSMBUSEx_DisableFastModePlus</span></span>()
APIs to manage Fm+.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMBUS_MasterTransmit_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BTF(</span></span>)
, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMBUS_MasterTransmit_TXE</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMBUS_MasterReceive_BTF</span></span>()
APIs to&nbsp;allow stop
generation when <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CurrentXferOptions</span></span>
is different from
SMBUS_FIRST_FRAME and
SMBUS_NEXT_FRAME.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMBUS_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ITError(</span></span>)
API to correct the twice
call of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SMBUS_ErrorCallback</span></span>.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL SPI</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">To avoid
setting the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BaudRatePrescaler</span></span>
in case of Slave Motorola
Mode.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Use the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">bit-mask</span></span>
for SPI configuration.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
Transmit/Receive processes
in half-duplex <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</span></span><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Disable
the SPI instance before
setting BDIOE bit.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Fixed wrong
timeout <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">management</span></span><o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Calculate
Timeout based on a software
loop to avoid blocking issue
if <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Systick</span></span>
is disabled.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
SPDIFRX&nbsp;</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Remove
'register' storage class
specifier from HAL SPDIFRX
driver.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL I2S</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
I2SEx APIs to correctly
support circular <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transfers</span></span><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
I2SEx_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxRxDMACplt(</span></span>)
API to manage DMA circular
mode.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated
HAL_I2SEx_TransmitReceive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
API to set <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmatx</span></span>
(<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transfert</span></span>
callback and half) to NULL.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL SAI</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated to
avoid the incorrect
left/right synchronization.<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Transmit_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
API to follow the sequence
described in the reference
manual for slave
transmitter mode.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API to correct the formula
in case of SPDIF is wrong.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL CRYP</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CRYP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CRYP_GetConfig</span></span>()
APIs to set/get the
continent of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KeyIVConfigSkip</span></span>
correctly.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL EXTI</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">__EXTI_LINE__
is now used instead of
__LINE__ which is a standard
C macro.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL DCMI</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Support of
HAL callback registration
feature for DCMI extended
driver.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL TIM</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_OnePulseN_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_OnePulseN_Stop</span></span>()
APIs (pooling and IT mode)
to take into consideration
all <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OutputChannel</span></span>
parameters.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Corrected
reversed description of
TIM_LL_EC_ONEPULSEMODE One
Pulse Mode.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Updated <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetCounterMode(</span></span>)
API to return the correct
counter mode.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
SMARTCARD</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Fixed
invalid initialization of
SMARTCARD configuration by
removing FIFO mode
configuration as it is not
member of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_InitTypeDef</span></span>
Structure.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Fixed typos
in SMARTCARD State
definition description<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL IRDA</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Fixed typos
in IRDA State definition
description<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">LL USART</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Remove
useless check on maximum BRR
value by removing
IS_LL_USART_BRR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MAX(</span></span>)
macro.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
USART polling and
interruption processes to
fix issues related to
accesses out of user
specified buffer.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL USB</span></strong><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">Enhanced
USB OTG host HAL with USB
DMA is enabled:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">fixed
ping and data toggle
issue,<o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(17, 17, 17);"><span style="font-size: 10.5pt; font-family: &quot;Verdana&quot;,sans-serif;">reworked
Channel error report
management<o:p></o:p></span></li>
</ul>
</ul>
</ul>
</ul>
<h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">V1.7.10
/ 22-October-2020</span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main Changes</span></u></b></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix known defects.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
I2C </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Update
to fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hardfault</span></span>
issue with HAL_I2C_Mem_Write_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
API:<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;
Abort the right ongoing DMA
transfer when memory write
access request operation
failed: fix typo “<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmarx</span></span>”
replaced by “<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmatx”</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.7.9
/ 14-August-2020</span><span style=""><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main Changes</span></u></b></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix known defects and
enhancements <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
I2C </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Update
HAL_I2C_ER_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API to fix acknowledge failure
issue with I2C memory IT
processes<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Add
stop condition generation
when NACK occurs.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Update
I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAXferCplt(</span></span>),
I2C_DMAError() and
I2C_DMAAbort() APIs to fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hardfault</span></span>
issue when <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmatx</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmarx</span></span>
parameters in i2c handle
aren't initialized (NULL
pointer).<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Add
additional check on
hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmtx</span></span>
and hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmarx</span></span>
before resetting DMA Tx/Rx
complete <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">callbacks</span></span><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Update
Sequential transfer APIs to
adjust <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">xfermode</span></span>
condition.<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: rgb(0, 32, 82); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;
Replace hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferCount</span></span>
&lt; MAX_NBYTE_SIZE by
hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferCount</span></span>
&lt;= MAX_NBYTE_SIZE which
corresponds to a case
without reload</span><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;<b>HAL/LL
USB </b>update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;Bug
fix: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USB_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ReadPMA(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USB_WritePMA</span></span>()
by ensuring 16-bits access to
USB PMA memory<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;Bug
fix: correct USB RX count
calculation<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Fix
USB Bulk transfer double
buffer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</span></span><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Remove
register keyword from USB
defined macros as no more
supported by C++ <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">compiler</span></span><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Minor
rework on <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USBD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USBD_Stop</span></span>()
APIs: stopping device will be
handled by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_DeInit</span></span>()
API.<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; Remove
non used API for USB device
mode.<o:p></o:p></span></li>
</ul>
</ul>
<h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.7.8
/ 12-February-2020</span><span style=""><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main Changes</span></u></b></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
new <b>HAL FMPSMBUS</b> and <b>LL
FMPI2C</b> drivers</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix known defects and
enhancements <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL CRYP driver to support block
by block decryption without
reinitializes the IV and KEY for
each call.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 12pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Improve
code quality by fixing
MisraC-2012 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">violations</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
USB </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Add
handling USB host babble error
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Fix
Enabling ULPI interface for
platforms that integrates USB
HS PHY</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Fix
Host data toggling for IN Iso
transfers</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Ensure
to disable USB EP during
endpoint <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">deactivation</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
CRYP </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Update
HAL CRYP driver to support
block by block decryption
without initializing the IV
and KEY at each call.</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
CRYP Handler parameters: "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KeyIVConfig</span></span>"
and "<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SizesSum"</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
CRYP <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">init</span></span>
parameter: "<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KeyIVConfigSkip"</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
I2S </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAStop(</span></span>)
API to be more safe</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add a check
on BSY, TXE and RXNE flags
before disabling the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">I2S</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAStop(</span></span>)
API to fix multi-call transfer
issue(to avoid re-initializing
the I2S for the next
transfer).</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
__HAL_I2SEXT_FLUSH_RX_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DR(</span></span>)
and __HAL_I2S_FLUSH_RX_DR()
macros to flush the
remaining data inside DR
registers.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
define:
HAL_I2S_ERROR_BUSY_LINE_RX</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<h3 style="background: rgb(51, 102, 255) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-right: 500pt;"><font color="#ffffff"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;">V1.7.7
/ 06-December-2019</span><span style=""><o:p></o:p></span></font></h3>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in;"><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main Changes</span></u></b></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix known defects and
enhancements <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">implementation</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
Generic </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetTickFreq(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update to
restore the previous tick
frequency&nbsp;when <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_InitTick</span></span>()
configuration failed.</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
GPIO </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update GPIO
initialization sequence<b> </b>to
avoid unwanted pulse on GPIO <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Pin's</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
EXTI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">General
update to enhance HAL EXTI
driver <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">robustness</span></span>&nbsp;</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
additional assert check on
EXTI config <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">lines</span></span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
compute EXTI line mask
before read/write access
to EXTI registers<br style="">
<!--[if !supportLineBreakNewLine]--><br style="">
<!--[endif]--></span><span style=""><o:p></o:p></span></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update EXTI
callbacks management to be
compliant with reference
manual: only one&nbsp;PR
register for rising and
falling interrupts.</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
parameters&nbsp;in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EXTI_HandleTypeDef</span></span>
structure: merge&nbsp;HAL
EXTI <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RisingCallback</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FallingCallback</span></span>
in only one <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PendingCallback</span></span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Remove
HAL_EXTI_RISING_CB_ID and
HAL_EXTI_FALLING_CB_ID
values from </span><span class="spelle"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="">EXTI_CallbackIDTypeDef</span>
enumeration.</span></span><span style=""><br style="">
<!--[if !supportLineBreakNewLine]--><br style="">
<!--[endif]--><o:p></o:p></span></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"></span>Update
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_EXTI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API to serve interrupts
correctly.<span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
compute EXTI line mask
before handle
EXTI&nbsp;interrupt.</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
support&nbsp;GPIO port
interrupts:</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="orphans: 2; widows: 2; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GPIOSel</span></span>"
parameter in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EXTI_ConfigTypeDef</span></span>
structure</span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL/LL
RCC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PeriphCLKConfig(</span></span>)
API to support PLLI2S
configuration for STM32F42xxx
and STM32F43xxx devices</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ClockConfig(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_DeInit</span></span>()
API to don't overwrite the
custom tick priority</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_RCC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span>)
failure detected with <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gcc</span></span>
compiler and high optimization
level is selected(-03)</span><span style=""><o:p></o:p></span></li>