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>
<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_RCC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OscConfig(</span></span>)
API to don't&nbsp;return
HAL_ERROR if request repeats
the current PLL configuration</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
ADC </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;">LL_ADC_REG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
to fix wrong ADC CR1 register
configuration</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;">The ADC
sequencer length is part
of&nbsp;ADC SQR1
register&nbsp;not of ADC CR1
register</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
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;">Update&nbsp;<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;">Encrypt(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CRYP_Decrypt</span></span>()
APIs&nbsp;to take into
consideration the datatype fed
to the DIN register (1-, 8-,
16-, or 32-bit&nbsp;data) when
padding the last block of the
payload, in case the size of
this last block is less than
128 bits.</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
RNG</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_RNG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API to fix error code
management issue: error code
is assigned
"HAL_RNG_ERROR_CLOCK" in case
of clock error and
"HAL_RNG_ERROR_SEED" in case
of seed error, not the
opposite.</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
DFSDM </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;">DFSDM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetChannelFromInstance(</span></span>)
API to remove unreachable
check condition</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
DMA </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_DMA_Start_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
API to omit the FIFO error</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
FLASH </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;">FLASH_Program_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DoubleWord(</span></span>)
API to fix with EWARM high
level optimization issue</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
QSPI </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;">Remove Lock
mechanism from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_DeInit</span></span>()
APIs</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
HASH </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;">Null pointer
on handler "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hhash</span></span>"
is now checked <b>before</b>
accessing structure member "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hhash</span></span>-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init.DataType</span></span>"
in the following API:</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_HASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;">Following <b>interrupt-based</b>
APIs have been added.
Interrupt mode could allow the
MCU to enter "Sleep" mode
while a data block is being
processed. Please refer to the
"##### How to use this driver
#####" section for details
about their use.</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;">HAL_HASH_SHA1_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">HAL_HASH_MD5_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">HAL_HASHEx_SHA224_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">HAL_HASHEx_SHA256_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">Following <b>aliases</b>
have been added (just <b>for
clarity sake</b>) as they
shall be used at the <b>end</b>
of the computation of a
multi-buffers message and not
at the start:</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;">HAL_HASH_SHA1_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">End(</span></span>)
to be used instead of
HAL_HASH_SHA1_Start()</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;">HAL_HASH_MD5_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">End(</span></span>)
to be used instead of
HAL_HASH_MD5_Start()</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;">HAL_HASH_SHA1_Accmlt_End_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to be used instead of
HAL_HASH_SHA1_Start_IT()</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;">HAL_HASH_MD5_Accmlt_End_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to be used instead of
HAL_HASH_MD5_Start_IT()</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;">HAL_HASHEx_SHA224_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">End(</span></span>)
to be used instead of
HAL_HASHEx_SHA224_Start()</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;">HAL_HASHEx_SHA256_Accmlt_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">End(</span></span>)
to be used instead of
HAL_HASHEx_SHA256_Start()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<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;">HAL_HASHEx_SHA224_Accmlt_End_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to be used instead of
HAL_HASHEx_SHA224_Start_IT()</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;">HAL_HASHEx_SHA256_Accmlt_End_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to be used instead of
HAL_HASHEx_SHA256_Start_IT()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</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;">MISRAC-2012
rule R.5.1&nbsp;(identifiers
shall be distinct in the first
31 characters) constrained the
naming of the above listed
aliases&nbsp;<b>(</b>e.g.
HAL_HASHEx_SHA256_<b>Accmlt</b>_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">End(</span></span>)
could not be named
HAL_HASHEx_SHA256_<b>Accumulate</b>_End().
Otherwise the name would have
conflicted with
HAL_HASHEx_SHA256_<b>Accumulate</b>_End_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)<b>)</b>.
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">In
order to</span></span>
have aligned names following
APIs have been renamed:</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<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;">HAL_HASH_MD5_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Accumulate(</span></span>)
renamed
HAL_HASH_MD5_Accmlt()</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;">HAL_HASH_SHA1_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Accumulate(</span></span>)
renamed
HAL_HASH_SHA1_Accmlt()</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;">HAL_HASHEx_SHA224_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Accumulate(</span></span>)
renamed
HAL_HASHEx_SHA224_Accmlt()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<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;">HAL_HASHEx_SHA256_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Accumulate(</span></span>)
renamed
HAL_HASHEx_SHA256_Accmlt()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
</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;">HASH <b>handler</b>
state is <b>no <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">more</span></span></b>
reset to HAL_HASH_STATE_READY
<b>once DMA has been started</b>
in the following APIs:</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;">HAL_HASH_MD5_Start_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</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;">HAL_HMAC_MD5_Start_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</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;">HAL_HASH_SHA1_Start_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</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;">HAL_HMAC_SHA1_Start_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</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;">HASH <b>phase</b>
state is now set to
HAL_HASH_PHASE_READY <b>once
the digest has been read</b>
in the following APIs:</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;">HASH_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HMAC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Processing(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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;">HASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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;">HASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Finish(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;">Case of a
large buffer scattered around
in memory each piece of which
is <b>not</b> necessarily a <b>multiple
of 4</b> bytes in length.</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;">In section
"##### How to use this
driver #####", sub-section
"*** Remarks on message
length ***" added to provide
recommendations to follow in
such case.</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;">No
modification of the driver
as the root-cause is at
design-level.</span><span style=""><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;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL&nbsp;CAN
</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_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetRxMessage(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
get the correct value for the
RTR&nbsp;(type of frame for
the message that will be
transmitted) field in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CAN_RxHeaderTypeDef</span></span>
structure.</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
DCMI </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;">Add new <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigSyncUnmask(</span></span>)
API to set embedded
synchronization delimiters
unmasks.</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
RTC</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;">Following IRQ
handlers' implementation has
been aligned with the
STM32Cube firmware
specification (in case of
interrupt lines shared by
multiple events, first check
the IT enable bit is set then
check the IT flag is set too):</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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_RTC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AlarmIRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_RTCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">WakeUpTimerIRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_RTCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TamperTimeStampIRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><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;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
WWDG</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;">In "#####
WWDG Specific features #####"
descriptive comment section:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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;">Maximal <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">prescaler</span></span>
value has been corrected (8
instead of 128).</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;">Maximal APB
frequency has been corrected
(42MHz instead of 56MHz) and
possible timeout values
updated.</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
DMA2D </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="circle">
<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 the
following API's to Start DMA2D
CLUT Loading.</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLUTStartLoad(</span></span>)
Start DMA2D CLUT Loading.</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;">HAL_DMA2D_CLUTStartLoad_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
Start DMA2D CLUT Loading
with interrupt enabled.</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;">The following
old wrong services will be
kept in the HAL DCMI driver
for legacy purpose and a
specific Note&nbsp;is added:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLUTLoad(</span></span>)
can be replaced with
HAL_DMA2D_CLUTStartLoad()</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;">HAL_DMA2D_CLUTLoad_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)&nbsp;can
be replaced with
HAL_DMA2D_CLUTStartLoad_IT()</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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigCLUT(</span></span>)
can be omitted as the config
can be performed using
the&nbsp;HAL_DMA2D_CLUTStartLoad()
API.</span><span style=""><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;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
SDMMC </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="circle">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">Fix&nbsp;
typo</span></span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;"> in "<span class="spelle"><span style="font-family: &quot;Calibri&quot;,sans-serif;">FileFormatGroup</span></span>"
parameter&nbsp;in the <span class="spelle"><span style="font-family: &quot;Calibri&quot;,sans-serif;">HAL_MMC_CardCSDTypeDef</span></span>
and <span class="spelle"><span style="font-family: &quot;Calibri&quot;,sans-serif;">HAL_SD_CardCSDTypeDef</span></span>
structures&nbsp;</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 an
improve&nbsp;handle state and
error <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">management</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;">Rename the
defined MMC card capacity type
to be more meaningful:</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 <b>MMC_HIGH_VOLTAGE_CARD</b>&nbsp;to
<b>MMC LOW_CAPACITY_CARD</b></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 <b>MMC_DUAL_VOLTAGE_CRAD</b>
to <b>MMC_HIGH_CAPACITY_CARD</b></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;">Fix
management of peripheral
flags depending on commands
or&nbsp;data <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transfers</span></span></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
defines
"SDIO_STATIC_CMD_FLAGS"
and "SDIO_STATIC_DATA_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAGS"</span></span>&nbsp;</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;">Updates&nbsp;HAL
SD and HAL MMC drivers to
manage the new SDIO static
flags.<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;"></span>Due to
limitation SDIO hardware flow
control indicated in Errata
Sheet:<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;">In 4-bits
bus wide mode, do not use
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
or <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_WriteBlocks</span></span>()
APIs otherwise underrun will
occur and it isn't possible
to activate the flow
control.</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;">Use DMA
mode when using 4-bits bus
wide mode or decrease the
SDIO_CK frequency.</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
UART </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="circle">
<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 UART
polling processes to handle
efficiently the Lock <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mechanism</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Move
the process unlock at the
top of the&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Receive(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_Transmit</span></span>()
API.</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;">Fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation error for clock
higher than <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">172Mhz</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add a
forced cast on
UART_DIV_SAMPLING8() and
UART_DIV_SAMPLING16()
macros.</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;">Remove
useless parenthesis from
UART_DIVFRAQ_SAMPLING8(),
UART_DIVFRAQ_SAMPLING16(),
UART_BRR_SAMPLING8() and
UART_BRR_SAMPLING16() macros
to solve some MISRA
warnings.</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 UART
interruption handler to manage
correctly the overrun <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">interrupt</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API a check on
USART_CR1_RXNEIE bit when an
overrun interrupt occurs.</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;">Fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation error&nbsp;UART9
and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART10</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">In <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API fix UART9 and UART10
clock source when computing
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
values by adding a check on
these instances and setting
clock sourcePCLK2 instead of
PCLK1.</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API</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;">Split
HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Freq(</span></span>)
and HAL_RCC_GetPCLK2Freq()
macros from the
UART_BRR_SAMPLING8() and
UART_BRR_SAMPLING8()
macros&nbsp;</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
USART </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="circle">
<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;">baudrate</span></span>
calculation error for clock
higher than <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">172Mhz</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add a
forced cast on USART_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DIV(</span></span>)
macro.</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;">Remove
useless&nbsp;parenthesis
from USART_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DIVFRAQ(</span></span>)
macro to solve some MISRA
warnings.</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 USART
interruption handler to manage
correctly the overrun <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">interrupt</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API a check on
USART_CR1_RXNEIE bit when an
overrun interrupt occurs.</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;">Fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation error&nbsp;UART9
and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART10</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">In <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API fix UART9 and UART10
clock source when computing
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
values by adding a check on
these instances and setting
clock sourcePCLK2 instead of
PCLK1.</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API</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;">Split
HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Freq(</span></span>)
and HAL_RCC_GetPCLK2Freq()
macros from the USART_BRR()
macro</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
IRDA </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="circle">
<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;">baudrate</span></span>
calculation error for clock
higher than <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">172Mhz</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add a
forced cast on IRDA_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DIV(</span></span>)
macro.</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;">Remove
useless&nbsp;parenthesis
from IRDA_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DIVFRAQ(</span></span>)
macro&nbsp;to solve some
MISRA warnings.</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 IRDA
interruption handler to manage
correctly the overrun <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">interrupt</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API a check on
USART_CR1_RXNEIE bit when an
overrun interrupt occurs.</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;">Fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation error&nbsp;UART9
and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART10</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">In <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API fix UART9 and UART10
clock source when computing
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
values by adding a check on
these instances and setting
clock sourcePCLK2 instead of
PCLK1.</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API</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;">Split
HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Freq(</span></span>)
and HAL_RCC_GetPCLK2Freq()
macros from the IRDA_BRR()
macro</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
SMARTCARD </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="circle">
<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;">baudrate</span></span>
calculation error for clock
higher than <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">172Mhz</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add a
forced cast on SMARTCARD_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DIV(</span></span>)
macro.</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;">Remove&nbsp;useless&nbsp;parenthesis
from SMARTCARD_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DIVFRAQ(</span></span>)
macro&nbsp;to solve some
MISRA warnings.</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
SMARTCARD interruption handler
to manage correctly the
overrun <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">interrupti</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SMARTCARD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API a check on
USART_CR1_RXNEIE bit when an
overrun interrupt occurs.</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span>)
API</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;">Split
HAL_RCC_GetPCLK1<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Freq(</span></span>)
and HAL_RCC_GetPCLK2Freq()
macros from the
SMARTCARD_BRR() macro</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
TIM </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="circle">
<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
macros to enable and disable
the fast mode when using the
one pulse mode to output a
waveform with a minimum <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">delay</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_ENABLE_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OCxFAST(</span></span>)
and __<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_DISABLE_OCxFAST</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
Encoder interface mode to
keep&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TIM_CCER_CCxNP</span></span>
bits <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">low</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;TIM_ENCODERINPUTPOLARITY_RISING
and
TIM_ENCODERINPUTPOLARITY_FALLING
definitions to determine
encoder input polarity.</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
IS_TIM_ENCODERINPUT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">POLARITY(</span></span>)
macro to check&nbsp;the
encoder input polarity.</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_Encoder_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API&nbsp;</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;">Replace
IS_TIM_IC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">POLARITY(</span></span>)
macro by
IS_TIM_ENCODERINPUT_POLARITY()
macro.</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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update TIM
remapping input configuration
in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RemapConfig(</span></span>)
API</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;">Remove
redundant check on
LPTIM_OR_TIM5_ITR1_RMP bit
and replace it by check on
LPTIM_OR_TIM9_ITR1_RMP bit.</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MasterConfigSynchronization(</span></span>)
API to avoid functional errors
and assert fails when using
some TIM instances as input
trigger.</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;">Replace&nbsp;IS_TIM_SYNCHRO_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">INSTANCE(</span></span>)
macro by
IS_TIM_MASTER_INSTANCE()
macro.&nbsp;</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&nbsp;IS_TIM_SLAVE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">INSTANCE(</span></span>)
macro to&nbsp;check on
TIM_SMCR_MSM bit.</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;">Add lacking
TIM input remapping <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">definition</span></span>&nbsp;</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
LL_TIM_TIM11_TI1_RMP_SPDIFRX
and
LL_TIM_TIM2_ITR1_RMP_ETH_PTP.</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 lacking
definition for linked
LPTIM_TIM input trigger <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">remapping</span></span>&nbsp;&nbsp;</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
following <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">definitions
:</span></span>
LL_TIM_TIM9_ITR1_RMP_TIM3_TRGO,
LL_TIM_TIM9_ITR1_RMP_LPTIM,
LL_TIM_TIM5_ITR1_RMP_TIM3_TRGO,
LL_TIM_TIM5_ITR1_RMP_LPTIM,
LL_TIM_TIM1_ITR2_RMP_TIM3_TRGO
and
LL_TIM_TIM1_ITR2_RMP_LPTIM.</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 a new
mechanism in <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;">SetRemap(</span></span>)
API to remap TIM1, TIM9,
and TIM5&nbsp;input
triggers mapped on LPTIM
register.&nbsp;</span><span style=""><o:p></o:p></span></li>
</ul>
</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
LPTIM </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="circle">
<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 polling
mechanism to check
on&nbsp;LPTIM_FLAG_XXOK flags
in different <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API</span></span>&nbsp;</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="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;
</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">LPTIM_WaitForFlag</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">() API to
wait for flag set.</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;">Perform new
checks on
HAL_LPTIM_STATE_TIMEOUT.</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;">Add lacking
definitions of LPTIM input
trigger remapping and its
related&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API</span></span></span><span style=""><o:p></o:p></span></li>
<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;">LL_LPTIM_INPUT1_SRC_PAD_AF,
LL_LPTIM_INPUT1_SRC_PAD_PA4,
LL_LPTIM_INPUT1_SRC_PAD_PB9
and
LL_LPTIM_INPUT1_SRC_TIM_DAC.</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 a new
API LL_LPTIM_SetInput1<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Src(</span></span>)
to access to the LPTIM_OR
register and remap the
LPTIM input trigger.</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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Perform a new
check on indirect EXTI23 line
associated to the LPTIM wake
up <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">timer</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Condition
the use of the LPTIM Wake-up
Timer associated EXTI
line&nbsp;configuration's
macros by&nbsp;EXTI_IMR_MR23
bit in different <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API
:</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE/DDISABLE_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)&nbsp;</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</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;">__HAL_LPTIM_WAKEUPTIMER_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</span></span>)&nbsp;</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</span><span style="">&nbsp;</span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_TimeOut_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">), <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_TimeOut_Stop_IT</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_Counter_Start_IT</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_Counter_Stop_IT</span></span>()
API by adding Enable/Disable
rising edge trigger on
the&nbsp;LPTIM Wake-up Timer
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Exti</span></span>
line.</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
__HAL_LPTIM_WAKEUPTIMER_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
in the end of the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_IRQHandler</span></span>()
API conditioned by
EXTI_IMR_MR23 bit.</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
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 type="circle">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL_I2C_EV_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API to fix I2C send break
issue&nbsp;</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
additional check on
hi2c-&gt;<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;">hdmatx</span></span>-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferCpltCallback</span></span>,
hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmarx</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmarx</span></span>-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferCpltCallback</span></span>
in I2C_Master_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SB(</span></span>)
API to avoid&nbsp;enabling
DMA request&nbsp;when IT
mode is used.</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_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</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&nbsp;stop
condition generation when
NACK occurs.</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_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API to force software reset
before setting new I2C
configuration</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 HAL
I2C processes to report <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
when wrong I2C start condition
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">occurs</span></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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Add
new&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
define: HAL_I2C_WRONG_START</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;Set <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
parameter in&nbsp;I2C handle
to HAL_I2C_WRONG_START</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&nbsp;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>&nbsp;parameters
in i2c handle aren't
initialized (NULL pointer).</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
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&nbsp;DMA
Tx/Rx complete <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">callbacks</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
FMPI2C </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="circle">
<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 HAL
FMPI2C slave interrupt
handling issue with I2C
sequential transfers.</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
FMPI2C_Slave_ISR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and FMPI2C_Slave_ISR_DMA()
APIs to check on STOP
condition and handle it
before clearing the ADDR
flag</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
NAND </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="circle">
<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_NAND_Write_Page_8<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">b(</span></span>),
HAL_NAND_Write_Page_16b()
and&nbsp;
HAL_NAND_Write_SpareArea_16b()
to manage correctly the time
out condition.</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
SAI </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="circle">
<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;">Optimize <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMATxCplt(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_DMARxCplt</span></span>()
APIs to check on "Mode"
parameter instead of&nbsp;CIRC
bit in the CR register.</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;">Remove unused
SAI_FIFO_SIZE define</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Receive_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
programming sequence to be <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">inline</span></span>
with reference manual</span><span style=""><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.6
/ 12-April-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
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 style="margin-top: 0in;" type="circle">
<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 I2C send
break issue in IT <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">processes</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
additional check on
hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmatx</span></span>
and hi2c-&gt;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdmarx</span></span>&nbsp;to
avoid the&nbsp;DMA request
enable when IT mode is used.</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
SPI </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="circle">
<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
implement <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Erratasheet</span></span>:
BSY bit may stay high at the
end of a data transfer in
Slave <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</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;">LL
LPTIM </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="circle">
<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
compilation errors with <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_LPTIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WriteReg(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_LPTIM_ReadReg</span></span>()
macros</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
SDMMC </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="circle">
<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
preprocessing compilation
issue with SDIO
STA&nbsp;STBITERR 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;"><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="circle">
<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;">Updated <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;">WritePacket(</span></span>),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USB_ReadPacket</span></span>()
APIs to prevent compilation
warning with GCC GNU v8.2.0<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;">Rework <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;">EPStartXfer(</span></span>)
API to enable the USB endpoint
before unmasking the TX <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FiFo</span></span>
empty interrupt in case DMA is
not used<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;">USB <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HCD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_Init</span></span>()
APIs updated to avoid enabling
USB DMA feature for OTG FS
instance, USB DMA feature is
available only on OTG HS
Instance<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;">Remove
duplicated line in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hal_hcd.c</span></span>
header file comment <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">section</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;">Rework USB
HAL driver to use instance <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PCD_SPEED_xxx</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HCD_SPEED_xx</span></span>
speeds instead of OTG register
Core speed definition during
the instance <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">initialization</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;">Software
Quality improvement with a fix
of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CodeSonar</span></span>
warning on <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PCD_Port_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
and &nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HCD_Port_IRQHandler</span></span>()
interrupt handlers<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.5
/ 08-February-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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">General
updates to fix <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CodeSonar</span></span>
compilation <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">warnings</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;">General
updates to fix SW4STM32
compilation errors under <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Linux</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;">General
updates to fix the user manual
.chm <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">files</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
support of HAL callback
registration <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><b>HAL
EXTI</b><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span>driver</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="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><b>HAL
SMBUS</b><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span>driver</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;">The
following changes done on the
HAL drivers require an update
on the application code based
on older HAL <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">versions</span></span></span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rework of HAL
CRYP driver<b> (compatibility
break) </b></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL CRYP
driver has been redesigned
with new API's, to bypass
limitations on data
Encryption/Decryption
management present with
previous HAL CRYP driver
version.</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;">The new HAL
CRYP driver is the
recommended version. It is
located as usual in
Drivers/STM32F4xx_HAL_Driver/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Src</span></span>
and
Drivers/STM32f4xx_HAL_Driver/Inc
folders. It can be enabled
through switch
HAL_CRYP_MODULE_ENABLED in
stm32f4xx_hal_conf.h</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;">The legacy
HAL CRYP driver is no longer
supported.</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;">Add new <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AutoReloadPreload</span></span>
field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TIM_Base_InitTypeDef</span></span>
structure&nbsp;to allow the
possibilities to enable or
disable the TIM Auto Reload
Preload.</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<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
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="circle">
<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 support
of <b>HAL callback
registration</b> <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">The feature
disabled by default is
available for the following
HAL drivers:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">ADC,
CAN, CEC, CRYP, DAC,
DCMI, DFSDM, DMA2D, DSI,
ETH, HASH, HCD, I2C,
FMPI2C, SMBUS,<br>
UART, USART, IRDA,
SMARTCARD, LPTIM, LTDC,
MMC, NAND, <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NOR,</span></span>
PCCARD, PCD, QSPI, RNG,</span></b><span style=""><br>
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">RTC,
SAI, SD, SDRAM, SRAM,
SPDIFRX, SPI, I2S, TIM,
</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">and<b> WWDG</b></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;">The feature
may be enabled individually
per HAL <i>PPP</i> driver
by setting the corresponding
definition USE_HAL_<i>PPP</i>_REGISTER_CALLBACKS
to&nbsp;1U in
stm32f4xx_hal_conf.h project
configuration file (template
file
stm32f4xx_hal_conf_template.h
available <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">from&nbsp;
Drivers</span></span>/STM32F4xx_HAL_Driver/Inc)</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;">Once <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">enabled
,</span></span> the user
application may resort to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_RegisterCallback</span></span>()
to register specific
callback function(s) and
unregister it(them) with <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_<i>PPP</i>_UnRegisterCallback</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;">General
updates to fix MISRA 2012
compilation <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">errors</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Replace <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetUID(</span></span>)
API by HAL_GetUIDw0(),
HAL_GetUIDw1() and
HAL_GetUIDw2()</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;">HAL_IS_BIT_SET()/HAL_IS_BIT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLR(</span></span>)
macros implementation update</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;">"<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">stdio.h</span></span>"
include updated with "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">stddef.</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">h</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
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GPIO&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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 missing
define for SPI3 alternate
function "GPIO_AF5_SPI3" for
STM32F401VE 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;">Remove
"GPIO_AF9_TIM14" from defined
alternate function list for
STM32F401xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TogglePin(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) reentrancy
robustness improvement</span><span style=""><o:p></o:p></span></li>
<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_GPIO_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API update
to avoid potential pending
interrupt after call</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
GPIO_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">INDEX(</span></span>)
API for more compliance with
STM32F412Vx/STM32F412Rx/STM32F412Cx
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
GPIO_BRR registers with
Reference Manual regarding
registers and bit definition
values</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="circle">
<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;">The <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CRYP_InitTypeDef</span></span>
</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">is no more
supported, changed by <span class="spelle"><b><span style="font-family: &quot;Verdana&quot;,sans-serif;">CRYP_ConfigTypedef</span></b></span>
to allow changing parameters
using <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>)
API without reinitialize the
CRYP IP using the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CRYP_Init</span></span>()
API</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;">New
parameters added in the <span class="spelle"><b><span style="font-family: &quot;Verdana&quot;,sans-serif;">CRYP_ConfigTypeDef</span></b></span>
structure: <b>B0</b> and <span class="grame"><b><span style="font-family: &quot;Verdana&quot;,sans-serif;">DataWidthUnit</span></b></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;">Input data
size parameter is added in the
<span class="spelle"><b><span style="font-family: &quot;Verdana&quot;,sans-serif;">CRYP_HandleTypeDef</span></b></span>
structure</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 APIs
to manage the CRYP
configuration:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;<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>)</span><span style=""><o:p></o:p></span></li>
<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_CRYP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;">Add new APIs
to manage the Key derivation:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_CRYPEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableAutoKeyDerivation(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYPEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableAutoKeyDerivation(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;">Add new APIs
to encrypt and decrypt data:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_CRYP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Encypt(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Decypt(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYP_Encypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYP_Decypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYP_Encypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYP_Decypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;">Add new APIs
to generate TAG:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_CRYPEx_AES<b>GCM</b>_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GenerateAuthTAG(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_CRYPEx_AES<b>CCM</b>_Generago</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">teAuthTAG(</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
LPTIM </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="circle">
<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;">Remove
useless LPTIM Wakeup EXTI
related macros from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_TimeOut_Start_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
API</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
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 style="margin-top: 0in;" type="circle">
<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;">I2C API
changes for MISRA-C 2012
compliancy:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rename
HAL_I2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to
HAL_I2C_Master_Seq_Transmit_IT()</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;">Rename
HAL_I2C_Master_Sequentiel_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to
HAL_I2C_Master_Seq_Receive_IT()</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;">Rename
HAL_I2C_Slave_Sequentiel_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to
HAL_I2C_Slave_Seq_Transmit_IT()
</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;">Rename
HAL_I2C_Slave_Sequentiel_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
to
HAL_I2C_Slave_Seq_Receive_DMA()</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;">SMBUS defined
flags are removed as not used
by the HAL I2C driver</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">I2C_FLAG_SMBALERT</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;">I2C_FLAG_TIMEOUT</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;">I2C_FLAG_PECERR</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;">I2C_FLAG_SMBHOST</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;">I2C_FLAG_SMBDEFAULT</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add support
of I2C repeated start feature
in DMA Mode:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">With the
following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Master_Seq_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Master_Seq_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Slave_Seq_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Slave_Seq_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new I2C
transfer options to easy
manage the sequential <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transfers</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">I2C_FIRST_AND_NEXT_FRAME</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">I2C_LAST_FRAME_NO_STOP</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">I2C_OTHER_FRAME</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">I2C_OTHER_AND_LAST_FRAME</span><span style="font-size: 10pt;"><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
FMPI2C</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="circle">
<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;">I2C API
changes for MISRA-C 2012
compliancy:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rename
HAL_FMPI2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to
HAL_FMPI2C_Master_Seq_Transmit_IT()</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;">Rename
HAL_FMPI2C_Master_Sequentiel_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to
HAL_FMPI2C_Master_Seq_Receive_IT()</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;">Rename
HAL_FMPI2C_Master_Sequentiel_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
to
HAL_FMPI2C_Master_Seq_Transmit_DMA()
</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;">Rename
HAL_FMPI2C_Master_Sequentiel_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
to
HAL_FMPI2C_Master_Seq_Receive_DMA()</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;">Rename
FMPI2C_CR1_DFN to
FMPI2C_CR1_DNF for more
compliance with Reference
Manual regarding registers and
bit definition <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">naming</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add support
of I2C repeated start feature
in DMA Mode:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">With the
following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Master_Seq_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Master_Seq_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Slave_Seq_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Slave_Seq_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</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
FLASH </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="circle">
<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;">FLASH_OB_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetRDP(</span></span>)
API to return the correct RDP
level</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 class="grame"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL&nbsp;
RCC</span></b></span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</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="circle">
<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;">Remove GPIOD
CLK macros for STM32F412Cx
devices (X = D)</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;">Remove GPIOE
CLK macros for
STM32F412Rx\412Cx devices: (X
= E)</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;">Remove
GPIOF/G CLK macros for
STM32F412Vx\412Rx\412Cx
devices (X= F or G)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_RCC_GPIO<b>X</b>_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</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;">__HAL_RCC_GPIO<b>X</b>_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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;">__HAL_RCC_GPIO<b>X</b>_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</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;">__HAL_RCC_GPIO<b>X</b>_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLED(</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;">__HAL_RCC_GPIO<b>X</b>_FORCE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</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
RNG </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="circle">
<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
manage RNG error code: </span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
parameter in HAL RNG Handler
structure</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;">LL
ADC </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="circle">
<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
__LL_ADC_CALC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TEMPERATURE(</span></span>)
helper macro to calculate the
temperature (unit: degree
Celsius) from ADC conversion
data of internal temperature
sensor.</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 ADC
channels configuration issues
on STM32F413xx/423xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">To allow
possibility to switch
between VBAT and TEMPERATURE
channels <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">configurations</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">), <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_Start_IT</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_ADC_Start_DMA</span></span>()
update to prevention from
starting ADC2 or ADC3 once
multimode is enabled</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
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DFSDM&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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 be compliant with
DFSDM bits naming used in
CMSIS files.</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
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CAN&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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
possible values list for <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FilterActivation</span></span>
parameter in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CAN_FilterTypeDef</span></span>
structure</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">CAN_FILTER_ENABLE
instead of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE</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;">CAN_FILTER_DISABLE
instead of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE</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
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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
CEC State management method:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_StateTypeDef</span></span>
structure <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">parameters</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
defines for CEC <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">states</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
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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 clean of
callbacks in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span>)
API</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
DMA2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">D&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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;">Remove unused
DMA2D_ColorTypeDef structure
to be compliant with MISRAC
2012 Rule 2.3</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
update to use dedicated
defines for
DMA2D_BACKGROUND_LAYER and
DMA2D_FOREGROUND_LAYER instead
of numerical values: 0/1.</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
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DSI&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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 read
multibyte issue: remove extra
call to __HAL_UNLOCK__ from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DSI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ShortWrite(</span></span>)
API.</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
RTC </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; text-align: start; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<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;">HAL/ LL <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">drivers</span></span>
optimization</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL driver:
remove unused <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">variables</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;">LL driver:
getter APIs optimization</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
PWR </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="square">
<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;">Remove the
followings API's as feature
not supported by
STM32F469xx/479xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableWakeUpPinPolarityRisingEdge(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableWakeUpPinPolarityRisingEdge(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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
SPI </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="square">
<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_SPI_StateTypeDef</span></span>
structure to add new state:
HAL_SPI_STATE_ABORT</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
TIM </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="square">
<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;">AutoReloadPreload</span></span>
field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TIM_Base_InitTypeDef</span></span>
structure</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Refer to
the TIM examples to identify
the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">changes</span></span><b>
</b></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;">Move the
following TIM structures from
stm32f4xx_hal_tim_ex.h into
stm32f4xx_hal_tim.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">TIM_MasterConfigTypeDef</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TIM_BreakDeadTimeConfigTypeDef</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;">Add new TIM
Callbacks API's:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PeriodElapsedHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_TIM_IC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">CaptureHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_TIM_PWM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PulseFinishedHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TriggerHalfCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;">TIM API
changes for MISRA-C 2012
compliancy:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_SlaveConfigSynchronization</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_SlaveConfigSynchro</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_SlaveConfigSynchronization_IT</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_SlaveConfigSynchro_IT</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_ConfigCommutationEvent</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_ConfigCommutEvent</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_ConfigCommutationEvent_IT</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_ConfigCommutEvent_IT</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_ConfigCommutationEvent_DMA</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_ConfigCommutEvent_DMA</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_CommutationCallback</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_CommutCallback</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_DMACommutationCplt</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TIMEx_DMACommutationCplt</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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="square">
<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;">Rework USB
interrupt handler and improve
HS DMA support in Device <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</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;">Fix BCD
handling <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">fr</span></span> OTG
instance in device <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</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;">cleanup
reference to low speed in
device mode</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;">allow writing
TX FIFO in case of transfer
length is equal to available
space in the TX <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FIFO</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;">Fix Toggle
OUT interrupt channel in host
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</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;">Update USB
OTG max number of endpoints (6
FS and 9 HS instead of 5 and
8)</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 USB
OTG IP to enable internal
transceiver when starting USB
device after committee BCD <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">negotiation</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;">LL
IWDG </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="square">
<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 LL
inline macros to use <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IWDGx</span></span>
parameter instead of IWDG
instance defined in CMSIS <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">device</span></span></span><span style=""><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.4
/ 02-February-2018</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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&nbsp;</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="square">
<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="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UNUSED(</span></span>)
macro implementation to avoid
GCC warning</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">The warning
is detected when the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UNUSED(</span></span>)
macro is called from C++
file</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 to
make RAMFUNC define as generic
type instead of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypdef</span></span>
type.</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
FLASH </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="square">
<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&nbsp;prototypes of the
following APIs after change on
RAMFUNC <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">defines</span></span>&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">StopFlashInterfaceClk(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">StartFlashInterfaceClk(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableFlashSleepMode(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_FLASHEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableFlashSleepMode(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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
SAI </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="square">
<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_SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAStop(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Abort</span></span>()
process to fix the lock/unlock
audio issue</span><span style=""><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.3
/ 22-December-2017</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">The
following changes done on the
HAL drivers require an update
on the application code based
on older HAL <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">versions</span></span></span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rework of
HAL CAN driver
(compatibility break)&nbsp;</span></b><b><span style=""><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">A new HAL
CAN driver has been
redesigned with new APIs, to
bypass limitations on CAN
Tx/Rx FIFO management
present with previous HAL
CAN driver version.</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;">The new HAL
CAN driver is the
recommended version. It is
located as usual in
Drivers/STM32F4xx_HAL_Driver/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Src</span></span>
and
Drivers/STM32f4xx_HAL_Driver/Inc
folders. It can be enabled
through switch
HAL_CAN_MODULE_ENABLED in
stm32f4xx_hal_conf.h</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;">The legacy
HAL CAN driver is also
present in the release in
Drivers/STM32F4xx_HAL_Driver/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Src</span></span>/Legacy
and
Drivers/STM32F4xx_HAL_Driver/Inc/Legacy
folders for software
compatibility reasons. Its
usage is not recommended as
deprecated.&nbsp;It can
however be enabled through
switch
HAL_CAN_LEGACY_MODULE_ENABLED
in stm32f4xx_hal_conf.h</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&nbsp;</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="square">
<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
driver to allow user to change
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">systick</span></span>
period to 1ms, 10 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ms</span></span>
or 100 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ms :</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 the
following <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API's
:</span></span>&nbsp;&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">GetTickPrio(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):
Returns a 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 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;">): Sets
new tick&nbsp;frequency.</span><span style=""><o:p></o:p></span></li>
<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;">GetTickFreq(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):
Returns tick frequency.</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;">Add <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TickFreqTypeDef</span></span>
enumeration for the
different Tick Frequencies:
10 Hz, 100 Hz and 1KHz
(default).</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
CAN </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="square">
<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;">Fields of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CAN_InitTypeDef</span></span>
structure are reworked:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">SJW to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SyncJumpWidth</span></span>,
BS1 to TimeSeg1, BS2 to
TimeSeg2, TTCM to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TimeTriggeredMode</span></span>,
ABOM to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AutoBusOff</span></span>,
AWUM to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AutoWakeUp</span></span>,
NART to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AutoRetransmission</span></span>
(inversed), RFLM to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ReceiveFifoLocked</span></span>
and TXFP to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TransmitFifoPriority</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is split
into both <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_Init</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_Start</span></span>()
API's</span><span style=""><o:p></o:p></span></li>
<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_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Transmit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is replaced
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_AddTxMessage</span></span>()
to place Tx Request, then <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_GetTxMailboxesFreeLevel</span></span>()
for polling until completion.</span><span style=""><o:p></o:p></span></li>
<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_CAN_Transmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is replaced
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_ActivateNotification</span></span>()
to enable transmit IT, then <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_AddTxMessage</span></span>()
for place Tx request.</span><span style=""><o:p></o:p></span></li>
<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_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Receive(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is replaced
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_GetRxFifoFillLevel</span></span>()
for polling until reception,
then <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_GetRxMessage</span></span>()
<br>
to get Rx message.</span><span style=""><o:p></o:p></span></li>
<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_CAN_Receive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is replaced
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_ActivateNotification</span></span>()&nbsp;to
enable receive IT, then <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_GetRxMessage</span></span>()<br>
in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">receivecallback</span></span>
to get Rx message</span><span style=""><o:p></o:p></span></li>
<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_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Slepp(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is renamed
as <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_RequestSleep</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TxCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is split
into
HAL_CAN_TxMailbox0CompleteCallback(),
HAL_CAN_TxMailbox1CompleteCallback()
and&nbsp;HAL_CAN_TxMailbox2CompleteCallback().</span><span style=""><o:p></o:p></span></li>
<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_CAN_RxCpltCallback</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> is split
into HAL_CAN_RxFifo0<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MsgPendingCallback(</span></span>)
and
HAL_CAN_RxFifo1MsgPendingCallback().</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;">More complete
"How to use the new driver" is
detailed in the driver header
section itself.</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
FMPI2C </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="square">
<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
option
FMPI2C_LAST_FRAME_NO_STOP for
the sequential transfer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">management</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">This option
allows to manage a restart
condition after several call
of the same master
sequential interface.&nbsp;</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
RCC&nbsp;</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="square">
<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 HAL <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">macros</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_RCC_GET_RTC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SOURCE(</span></span>)
allowing to get the RTC
clock source</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;">__HAL_RCC_GET_RTC_HSE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PRESCALER(</span></span>)
allowing to get the HSE
clock divider for RTC
peripheral</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;">Ensure reset
of CIR and CSR registers when
issuing <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;">DeInit(</span></span>)/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_RCC_DeInit</span></span>
functions</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 <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>)&nbsp;to
keep backup domain enabled
when configuring
respectively&nbsp;LSE and RTC
clock source</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 HAL
interfaces allowing to control
the activation or deactivation
of PLLI2S and PLLSAI:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL_RCCEx_EnablePLLI2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">S(</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;">HAL_RCCEx_DisablePLLI2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">S(</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnablePLLSAI(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisablePLLSAI(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">LL
RCC</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 LL
RCC macro </span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">LL_RCC_PLL_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetMainSource(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) allowing
to configure PLL main clock
source</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;">LL
FMC / LL FSMC </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="square">
<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 clear of
the PTYP bit to select the
PCARD mode in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FMC_PCCARD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
/ <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FSMC_PCCARD_Init</span></span>()</span><span style=""><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.2
/ 06-October-2017</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix
compilation&nbsp;warning with
GCC <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">compiler</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;">Remove
Date and version
from&nbsp;header <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">files</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;">Update
HAL drivers to refer to the
new&nbsp;CMSIS bit position
defines instead of usage the
POSITION_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VAL(</span></span>)
macro</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="square">
<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;">stm32f4xx_hal_def.h
file changes:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
__weak and __packed defined
values for&nbsp;ARM compiler</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
__ALIGN_BEGIN and
__ALIGN_END defined values
for&nbsp;ARM <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">compiler</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;">stm32f4xx_ll_system.h
file:
add&nbsp;LL_SYSCFG_REMAP_SDRAM
define</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
ADC </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="square">
<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 wrong
definition of ADC channel
temperature sensor for
STM32F413xx and STM32F423xx
devices.</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
DMA </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="square">
<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&nbsp;values
for the following defines:
DMA_FLAG_FEIF0_4 and
DMA_FLAG_DMEIF0_4&nbsp;</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
DSI </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="square">
<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 Extra
warning with SW4STM32 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">compiler</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;">Fix DSI
display issue when using EWARM
w/ high level <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">optimization</span></span>&nbsp;</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
MISRAC&nbsp;errors</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
FLASH </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="square">
<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_FLASH_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Unlock(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
return state error when the
FLASH is already unlocked</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
FMPI2C&nbsp;</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="square">
<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
Interface APIs headers to
remove confusing message about
device <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">address</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;">Update
FMPI2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitOnRXNEFlagUntilTimeout(</span></span>)
to resolve a race condition
between STOPF and RXNE Flags</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
FMPI2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TransferConfig(</span></span>)
to fix wrong bit management.</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 code
comments to use DMA stream
instead of DMA <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">channel</span></span><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
PWR </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="square">
<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_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableWakeUpPin(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update
description to add support of
PWR_WAKEUP_PIN2 and
PWR_WAKEUP_PIN3</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
NOR </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="square">
<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 the
support of STM32F412Rx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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
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 style="margin-top: 0in;" type="square">
<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
Interface APIs headers to
remove confusing <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mesage</span></span>
about device <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">address</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;">Update
I2C_MasterReceive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RXNE(</span></span>)
and I2C_MasterReceive_BTF()
static APIs to fix bad
Handling of NACK in I2C master
receive process.</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
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="square">
<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_RCC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetOscConfig(</span></span>)
API to:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">set PLLR in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RCC_OscInitStruct</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;">check on
null <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pointer</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 <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>)
API to:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">check on
null <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pointer</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;">optimize&nbsp;code
size by updating the
handling method of the SWS <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">bits</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;">update to <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">use&nbsp;
_</span></span>_HAL_FLASH_GET_LATENCY()
flash macro instead of using
direct register access
to&nbsp;LATENCY bits in
FLASH ACR register.</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 <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;">DeInit(</span></span>)
&nbsp;and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_RCC_DeInit</span></span>()
APIs to</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Be able to
return HAL/LL status</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 checks
for HSI, PLL and PLLI2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">S
&nbsp;ready</span></span>
before modifying RCC CFGR
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;">Clear all
interrupt <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">falgs</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;">Initialize
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">systick</span></span>
interrupt <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">period</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 <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;">GetSysClockFreq(</span></span>)
to avoid risk of rounding
error which may leads to a
wrong returned value.</span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin: 4.5pt 0in 4.5pt 1in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoListParagraph" style="margin: 4.5pt 0in 4.5pt 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;"><o:p>&nbsp;</o:p></span></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
RNG </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="square">
<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_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) remove
Lock()/Unlock()</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
MMC </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="square">
<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_MMC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Erase(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)
API:&nbsp;add missing () to
fix&nbsp;compilation warning
detected with SW4STM32 when
extra feature is enabled.</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
RTC </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="square">
<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_RTC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API: update
to force the wait for synchro
before setting TAFCR register
when BYPSHAD bit in CR
register is 0.</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
SAI </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="square">
<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_SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAStop(</span></span>)
API to flush <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">fifo</span></span>
after disabling&nbsp;SAI</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
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="square">
<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 I2S
DMA fullduplex process to
handle I2S Rx and Tx DMA Half
transfer complete <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">callback</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
TIM </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="square">
<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_TIMEx_OCN_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">xxxx(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_PWMN_xxx</span></span>()
API description&nbsp;to remove
support of TIM_CHANNEL_4</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;">LL
DMA </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="square">
<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
clear DMA flags using WRITE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">REG(</span></span>)
instead SET_REG() API to avoid
read access to the IFCR
register that is write only.</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;">LL
RTC </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="square">
<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 warning
with static <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">analyzer</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;">LL
USART </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="square">
<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 assert
macros to check USART <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BaudRate</span></span>
register</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;">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 style="margin-top: 0in;" type="square">
<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;">Rename
IS_I2C_CLOCK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPEED(</span></span>)
and IS_I2C_DUTY_CYCLE()
respectively to
IS_LL_I2C_CLOCK_SPEED() and
IS_LL_I2C_DUTY_CYCLE() to
avoid incompatible macros
redefinition.</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;">LL
TIM </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="square">
<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;">LL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnableUpdateEvent(</span></span>)
API to clear UDIS bit in TIM
CR1 register instead of
setting it.</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 <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;">DisableUpdateEvent(</span></span>)
API to set UDIS bit in TIM CR1
register instead of clearing
it.</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;">LL
USART </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="square">
<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 MISRA
error w/ IS_LL_USART_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BRR(</span></span>)
macro</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 wrong
check when UART10 instance is
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">used</span></span></span><span style=""><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.1
/ 14-April-2017</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
CHM <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UserManuals</span></span>
to support LL <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">drivers</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="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
CAN </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="square">
<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
management of&nbsp;overrun
error.&nbsp;</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;">Allow
possibility to receive
messages from the 2 RX FIFOs
in parallel via interrupt.</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&nbsp;message
lost issue with specific
sequence of transmit requests.</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;">Handle
transmission failure with
error callback, when NART is
enabled.</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
__HAL_CAN_CANCEL_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRANSMIT(</span></span>)
call to abort transmission
when timeout is reached</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
PWR </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="square">
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnterUnderDriveSTOPMode(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API: remove
check on UDRDY flag</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">LL
ADC </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="square">
<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 wrong ADC
group injected sequence <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">configuration</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">LL_ADC_INJ_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetSequencerRanks(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LL_ADC_INJ_GetSequencerRanks</span></span>()
API's update to take in
consideration the ADC number
of conversions</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&nbsp;defined values for
ADC group injected <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">seqencer</span></span>
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ranks</span></span>&nbsp;</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.0
/ 17-February-2017</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
Low Layer drivers allowing
performance and footprint <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">optimization</span></span></span></b></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Low Layer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">drivers</span></span>
APIs provide register level
programming: require deep
knowledge of peripherals
described in STM32F4xx
Reference Manuals</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="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Low Layer
drivers are available for:
ADC,&nbsp;Cortex, CRC, DAC,
DMA, DMA2D, EXTI, GPIO, I2C,
IWDG, LPTIM, PWR, RCC, RNG,
RTC, SPI, TIM, USART, WWDG
peripherals and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">additionnal</span></span>
Low Level Bus, System and
Utilities APIs.</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;">Low Layer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">drivers</span></span>
APIs are implemented as static
inline function in new<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><i>Inc/stm32f4xx_ll_ppp.h</i><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>files
for PPP peripherals, there is
no configuration file and each<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><i>stm32f4xx_ll_ppp.h</i><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>file
must be included in user code.</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;">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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix&nbsp;extra
warnings with GCC <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">compiler</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;">HAL
drivers&nbsp;clean up: remove
double casting 'uint32_t' and '<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">U</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<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><b>HAL
MMC</b><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>driver</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;">The
following changes done on the
HAL drivers require an update
on the application code based
on older HAL <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">versions</span></span></span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 SD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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;">Overall
rework of the driver for a
more
efficient&nbsp;implementation</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Modify
initialization API and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">structures</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;">Modify
Read / Write sequences:
separate transfer process
and SD Cards state <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">management</span></span>&nbsp;</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;">Adding
interrupt mode for Read /
Write operations</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_SD_IRQHandler</span></span>
function by optimizing the
management of interrupt <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">errors</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;">Refer to
the following example to
identify the changes: BSP
example and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USB_Device</span></span>/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MSC_Standalone</span></span>
application</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 NAND</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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;">Modify <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NAND_AddressTypeDef</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NAND_DeviceConfigTypeDef</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NAND_HandleTypeDef</span></span>
structures <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">fields</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_NAND_ConfigDevice</span></span>
API</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL DFSDM</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
support of Multichannel
Delay feature</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DFSDM_ConfigMultiChannelDelay</span></span>
API</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="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">The
following APIs are moved
to internal static
functions: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DFSDM_ClockIn_SourceSelection</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DFSDM_ClockOut_SourceSelection</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DFSDM_DataInX_SourceSelection</span></span>
(X=0,2,4,6), <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DFSDM_BitStreamClkDistribution_Config</span></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 class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;specific
callback API to manage I2S
full duplex end of transfer
process:</span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxCpltCallback(</span></span>)
and
HAL_I2S_RxCpltCallback()
API's will be replaced
with only
HAL_I2SEx_TxRxCpltCallback()
API.&nbsp;</span><span style=""><o:p></o:p></span></li>
</ul>
</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
</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="square">
<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;">Modifiy</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> default <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_Delay</span></span>
implementation to guarantee
minimum <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">delay</span></span>&nbsp;</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
Cortex</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="square">
<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;">Move <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_MPU_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Disable(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_MPU_Enable</span></span>()
from stm32f4xx_hal_cortex.h to
stm32f4xx_hal_cortex.c</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;">Clear the
whole MPU control register
in&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_MPU_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Disable(</span></span>)
API</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
FLASH</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="square">
<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;">IS_FLASH_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ADDRESS(</span></span>)
macro update to support OTP
range</span><span style=""><o:p></o:p></span></li>
<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;">FLASH_Program_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DoubleWord(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): Replace
64-bit accesses with 2
double-words operations</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;">LL
GPIO</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><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="square">
<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
IS_GPIO_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PIN(</span></span>)
macro implementation to be
more safe</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;">LL
RCC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><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="square">
<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
IS_RCC_PLLQ_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VALUE(</span></span>)
macro implementation: the
minimum accepted&nbsp;value is
2 instead of 4</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;">Rename
RCC_LPTIM1CLKSOURCE_PCLK
define to
RCC_LPTIM1CLKSOURCE_PCLK1</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
compilation issue w/
__HAL_RCC_USB_OTG_FS_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</span></span>)
and
__HAL_RCC_USB_OTG_FS_IS_CLK_DISABLED()
macros for STM32F401xx 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;">Add the
following&nbsp;is clock
enabled macros for STM32F401xx
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;__HAL_RCC_SDIO_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</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;">__HAL_RCC_SPI4_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</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;">__HAL_RCC_TIM10_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</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;">Add the
following&nbsp;is clock
enabled macros for STM32F410xx
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;__HAL_RCC_CRC_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</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;">__HAL_RCC_RNG_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</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 <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;">DeInit(</span></span>)
to reset the RCC clock
configuration to the default
reset state.</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;">Remove macros
to configure BKPSRAM from
STM32F401xx devices&nbsp;</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 to
refer to <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AHBPrescTable[</span></span>]
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">APBPrescTable</span></span>[]
tables defined in
system_stm32f4xx.c file
instead of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">APBAHBPrescTable</span></span>[]
table.</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
FMPI2C</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
FMPI2C_FIRST_AND_NEXT_FRAME
define in&nbsp;Sequential
Transfer Options</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
ADC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_ADCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">InjectedConfigChannel(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update the
external trigger injected
condition</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
DMA </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update to
check compatibility between
FIFO threshold level and size
of the memory burst&nbsp;</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
QSPI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">QSPI_HandleTypeDef</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> structure:
Update transfer parameters on
uint32_t instead of uint16_t</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
UART/USART/IrDA/SMARTCARD </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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA Receive
process; the code has been
updated to clear the USART
OVR&nbsp;flag before
enabling&nbsp;DMA receive
request.</span><span style=""><o:p></o:p></span></li>
<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;">UART_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
manage correctly USART6
instance that is not available
on STM32F410Tx devices</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
CAN </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove Lock
mechanism from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_Transmit_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_Receive_IT</span></span>()
processes</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
TIM </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
__HAL_TIM_MOE_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UNCONDITIONALLY(</span></span>)
macro to disable Master output
without check on TIM channel
state.&nbsp;</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIMEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigBreakDeadTime(</span></span>)
to fix TIM BDTR register
corruption.</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
I2C </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_I2C_Master_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Transmit(</span></span>)
and HAL_I2C_Slave_Transmit()
to avoid sending extra
bytes&nbsp;at the end of the
transmit processes</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
HAL_I2C_Mem_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Read(</span></span>)
API to fix wrong check on
misused parameter “Size”</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
I2C_MasterReceive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RXNE(</span></span>)
and I2C_MasterReceive_BTF()
static APIs to enhance Master
sequential reception process.</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
SPI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 transfer
abort APIs&nbsp;and associated
callbacks in interrupt <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_SPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Abort(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_SPI_Abort_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_SPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;"><span style="widows: 1; float: none; word-spacing: 0px;"><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><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;specific
callback API to manage I2S
full duplex end of transfer
process:</span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxCpltCallback(</span></span>)
and HAL_I2S_RxCpltCallback()
API's will be replaced with
only
HAL_I2SEx_TxRxCpltCallback()
API.&nbsp;</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update I2S
Transmit/Receive polling
process to manage&nbsp;Overrun
and Underrun errors</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Move
the&nbsp;I2S clock input
frequency calculation&nbsp;to
HAL RCC driver.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update the
HAL I2SEx driver to keep only
full duplex feature.</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;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API updated to</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 wrong
I2S clock calculation when
PCM mode is used.</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;">Return
state&nbsp;HAL_I2S_ERROR_PRESCALER&nbsp;when
the I2S clock is wrongly <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">configured</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
LTDC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt;">Optimize <span class="spelle"><span style="font-family: &quot;Segoe&quot;,UI;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Segoe&quot;,UI;">IRQHandler(</span></span>)
function by using direct
register read</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;">Rename the
following <span class="grame"><span style="font-family: &quot;Segoe&quot;,UI;">API's</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt;">HAL_LTDC_</span></span><span class="grame"><span style="font-size: 10pt;">Relaod(</span></span><span style="font-size: 10pt;">) by <span class="spelle"><span style="font-family: &quot;Segoe&quot;,UI;">HAL_LTDC_Reload</span></span>()&nbsp;</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 10pt;">HAL_LTDC_</span></span><span class="grame"><span style="font-size: 10pt;">StructInitFromVideoConfig(</span></span><span style="font-size: 10pt;">) by <span class="spelle"><span style="font-family: &quot;Segoe&quot;,UI;">HAL_LTDCEx_StructInitFromVideoConfig</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 class="spelle"><span style="font-size: 10pt;">HAL_LTDC_</span></span><span class="grame"><span style="font-size: 10pt;">StructInitFromAdaptedCommandConfig(</span></span><span style="font-size: 10pt;">) by <span class="spelle"><span style="font-family: &quot;Segoe&quot;,UI;">HAL_LTDCEx_StructInitFromAdaptedCommandConfig</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;">Add new
defines for LTDC layers
(LTDC_LAYER_1 / LTDC_LAYER_2)</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;">Remove unused
<span class="grame"><span style="font-family: &quot;Segoe&quot;,UI;">asserts</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
USB</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <b>PCD</b>
</span></span><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="square">
<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;">Flush all TX
FIFOs on USB Reset</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;">Remove Lock
mechanism from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_EP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Transmit(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_EP_Receive</span></span>()
API's</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">LL
USB</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><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="square">
<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;">Enable DMA
Burst mode for USB OTG HS</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="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix SD card
detection <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">issue</span></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;">LL
SDMMC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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;">SDMMC_CmdSDEraseStartAdd</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SDMMC_CmdSDEraseEndAdd</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SDMMC_CmdOpCondition</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SDMMC_CmdSwitch</span></span>
functions</span><span style=""><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.6.0
/ 04-November-2016</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span><span style="">support of</span><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><b><span style="">STM32F413xx
and&nbsp;STM32F423xx</span></b><span style="">
devices</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;">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;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
CAN</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 add
the support of 3 CAN <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">management</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="widows: 1; float: none; word-spacing: 0px;"><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><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 add
the support of AES <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">features</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
DFSDM</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
definitions for new external
trigger <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">filters</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="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
definition for new Channels
4, 5, 6 and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">7</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="widows: 1; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
functions and API for Filter
state configuration and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">management</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="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
functions:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_DFSDM_BitstreamClock_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_DFSDM_BitstreamClock_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Stop(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_DFSDM_BitStreamClkDistribution_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Config(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)&nbsp;</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;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
DMA</span></b></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add the
support of DMA Channels from
8 to 15</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="widows: 1; float: none; word-spacing: 0px;"><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_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span>)
function with the check on
DMA stream instance</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
DSI</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;update</span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<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_DSI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigHostTimeouts(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_Init</span></span>()
functions to avoid scratch in
DSI_CCR register</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
FLASH</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="circle">
<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;">Enhance <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitForLastOperation(</span></span>)
function implementation</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
__HAL_FLASH_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
macro implementation</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
GPIO</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
specific alternate functions
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">definitions</span></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
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 style="margin-top: 0in;" type="circle">
<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 I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAError(</span></span>)
function implementation to
ignore DMA FIFO error</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
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="circle">
<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;">Enhance
HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
implementation to test on
PCM_SHORT and PCM_LONG
standards</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
IRDA</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="circle">
<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
functions and call backs for
Transfer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Abort</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Abort(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortTransmit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortReceive(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_Abort_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_AbortTransmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_AbortReceive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortTransmitCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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_IRDA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortReceiveCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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
PCD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><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="square">
<ul style="margin-top: 0in;" type="circle">
<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_PCD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetRxCount(</span></span>)
&nbsp;function implementation</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
RCC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
__HAL_RCC_HSE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
macro implementation</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="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;<span style="widows: 1; float: none; word-spacing: 0px;"></span></span></span><span style="">__HAL_RCC_LSE_<span class="grame">CONFIG(</span>)
macro implementation</span><o:p></o:p></span></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
SMARTCARD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<ul style="margin-top: 0in;" type="square">
<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
functions and call backs for
Transfer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Abort</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Abort(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortTransmit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortReceive(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_Abort_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_AbortTransmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_AbortReceive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortTransmitCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<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;">HAL_</span><span class="apple-converted-space"><span style="">&nbsp;</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">AbortReceiveCpltCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
TIM</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><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_TIMEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RemapConfig(</span></span>)
function to manage TIM
internal trigger remap:
LPTIM or TIM3_TRGO</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
UART<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
Transfer abort functions and
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">callbacks</span></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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
USART<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
Transfer abort functions and
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">callbacks</span></span></span></span><span style=""><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.5.2
/ 22-September-2016</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
I2C</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 wrong
behavior in consecutive
transfers in case of single
byte transmission
(Master/Memory Receive <br>
interfaces)</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
HAL_I2C_Master_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
/
HAL_I2C_Master_Receive_DMA()/
HAL_I2C_Slave_Transmit_DMA() <br>
and
HAL_I2C_Slave_Receive_DMA() to
manage addressing phase
through interruption instead
of polling</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
a&nbsp;check on I2C handle
state at start of all I2C
API's to ensure that I2C is <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ready</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update I2C
API's (Polling, IT and DMA
interfaces) to manage I2C <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferSize</span></span>
and&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferCount</span></span>
handle parameters instead of
API size parameter to help
user to get information of
counter in case of
error.&nbsp;</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update Abort
functionality to manage DMA
use <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">case</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
FMPI2C</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
disable Own Address<span style="widows: 1; float: none; word-spacing: 0px;"></span><span style="">
before&nbsp;setting the </span><span style="widows: 1; float: none; word-spacing: 0px;">new Own
Address</span><span style="widows: 1; float: none; word-spacing: 0px;">
configuration:</span><o:p></o:p></span></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL_FMPI2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
to disable FMPI2C_OARx_EN
bit before any
configuration in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OARx</span></span>
registers</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;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
CAN </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update CAN
receive processes to set CAN
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxMsg</span></span>
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FIFONumber</span></span>
parameter</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
UART </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update&nbsp;UART
handle </span><span class="spelle"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="">TxXferCount</span>
and RxXferCount <span style="widows: 1; float: none; word-spacing: 0px;"></span></span><span style="">parameters
as volatile to avoid
eventual&nbsp;issue with <span class="grame">High Speed</span>
optimization &nbsp;</span><o:p></o:p></span></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.5.1
/ 01-July-2016</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
GPIO</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_GPIO_Init</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">()/<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;">DeInit(</span></span>)
API's:
update&nbsp;GPIO_GET_INDEX()
macro implementation to
support all GPIO's</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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
SPI</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix
regression issue:
retore&nbsp;<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;">DMAPause(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SPI_DMAResume</span></span>()&nbsp;<span style="widows: 1; float: none; word-spacing: 0px;"></span><span style="">API's</span><span style="widows: 1; float: none; word-spacing: 0px;">
<o:p></o:p></span></span></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
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="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix FSMC
macros compilation warnings
with STM32F412Rx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></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="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
DMA </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PollFortransfer(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API clean
up <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;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
PPP </span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PPP refers to
IRDA, UART, USART and SMARTCARD)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: rgb(31, 73, 125); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><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_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
to add a check on interrupt
source before managing the
error</span></span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
QSPI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Implement
workaround to fix the
limitation&nbsp;</span><span style="">pronounced
<span style="widows: 1; float: none; word-spacing: 0px;">in
the&nbsp;Errata
sheet&nbsp;2.1.8 section:
In some specific cases,
DMA2 data corruption
occurs when managing AHB
and APB2 peripherals in a
concurrent <span class="grame">way</span></span></span><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.5.0
/ 06-May-2016</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="widows: 1; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span><span style="">support of</span><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><b><span style="">STM32F412cx,
STM32F412rx, STM32F412vx and
STM32F412zx&nbsp;</span></b><span style="">devices</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;">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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
new HAL driver for <b>DFSDM </b><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">peripheral</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;">Enhance
HAL delay and time base
implementation:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
drivers
stm32f4xx_hal_timebase_rtc_alarm_template.c
and
stm32f4xx_hal_timebase_rtc_wakeup_template.c
which override the native HAL
time base functions (defined
as weak) to either use the RTC
as time base tick source. For
more details about the usage
of these drivers, please refer
to HAL\<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TimeBase_RTC</span></span>
examples&nbsp;<span style="widows: 1; float: none; word-spacing: 0px;">and
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FreeRTOS</span></span>-based
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">applications</span></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;">The
following changes done on the
HAL drivers require an update
on the application code based
on HAL V1.4.4</span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL UART,
USART, IRDA, SMARTCARD, SPI,
I2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">C,FMPI</span></span>2C,
QSPI<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">(referenced
as<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><i>PPP</i><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>here
below)<span class="apple-converted-space"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></i></span>drivers</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 PPP
error management during DMA
process. This requires the
following updates
on&nbsp;user application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the PPP IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>stm32f4xx_it.c
file,<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function:<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>add
a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_IRQHandler</span></span>()
function</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 and
customize the Error
Callback API: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCallback(</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;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL I2C</span></i><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">, FMPI2C </span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">(referenced
as<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><i>PPP</i><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>here
below)<span class="apple-converted-space"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></i></span>drivers:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
avoid waiting on<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>STOPF/BTF/AF
flag under DMA ISR by using
the<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>PPP
end of transfer interrupt in
the DMA transfer process.<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>This
requires the following
updates on&nbsp;user
application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the PPP IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>stm32f4xx_it.c
file,<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function:<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>add
a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_IRQHandler</span></span>()
function</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;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL I2C </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">driver:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">I2C
transfer processes IT
update: NACK during
addressing phase is managed
through I2C Error
interrupt&nbsp;instead of
HAL&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">state</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL IWDG<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">driver:
rework overall driver for
better implementation</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span>),<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IWDG_MspInit</span></span>()
and<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IWDG_GetState</span></span>()&nbsp;APIs</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL WWDG<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">driver:
rework overall driver for
better implementation</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span>),<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_Start_IT</span></span>(),<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_MspDeInit</span></span>()
and<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_GetState</span></span>()
APIs&nbsp;</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&nbsp;</span><span class="spelle"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">Refresh(</span></span><span class="spelle"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">WWDG_HandleTypeDef</span></span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;"> *<span class="spelle"><span style="font-family: &quot;Calibri&quot;,sans-serif;">hwwdg</span></span>,
uint32_t counter)
&nbsp;function and API
&nbsp;by removing the
&nbsp;"counter" parameter</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL QSPI
driver:<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Enhance
the DMA transmit process
by&nbsp;using&nbsp;PPP TC
interrupt instead of waiting
on TC flag under DMA
ISR.&nbsp;This requires the
following updates on&nbsp;user
application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the QSPI&nbsp;IRQ
in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>stm32f4xx_it.c
file,<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function:<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>add
a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_IRQHandler</span></span>()
function</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL CEC
driver:<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;Overall
driver rework with
compatibility break versus
previous HAL version</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove HAL
CEC polling Process
functions: <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;">Transmit(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_Receive</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;">Remove HAL
CEC receive interrupt
process function&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_Receive_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and enable the "receive"
&nbsp;mode during the Init
phase</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;">Rename&nbsp;<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;">GetReceivedFrameSize(</span></span>)
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">funtion</span></span>
to&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_GetLastReceivedFrameSize</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 HAL
APIs: <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;">SetDeviceAddress(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_ChangeRxBuffer</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;">Remove
the&nbsp;'<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">InitiatorAddress</span></span>'
field from the&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_InitTypeDef</span></span>
structure&nbsp;and manage
it&nbsp;as a parameter in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_Transmit_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
function</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
parameter '<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxFrameSize</span></span>'
in <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;">RxCpltCallback(</span></span>)
function</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;">Move CEC Rx
buffer pointer&nbsp;from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_HandleTypeDef</span></span>
structure to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_InitTypeDef</span></span>
structure</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
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="square">
<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_RCC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ClockConfig(</span></span>)
function to adjust the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SystemCoreClock</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;">Rename macros
and Literals:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">RCC_PERIPHCLK_CK48&nbsp;by&nbsp;RCC_PERIPHCLK_C<b>L</b>K48</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;">IS_RCC_CK48CLKSOURCE&nbsp;by
IS_RCC_C<b>L</b>K48CLKSOURCE</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;">RCC_CK48CLKSOURCE_PLLSAIP
by RCC_C<b>L</b>K48CLKSOURCE_PLLSAIP</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;">RCC_SDIOCLKSOURCE_CK48
by RCC_SDIOCLKSOURCE_C<b>L</b>K48</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;">RCC_CK48CLKSOURCE_PLLQ
by RCC_C<b>L</b>K48CLKSOURCE_PLLQ</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 <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;">GetPeriphCLKConfig(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_PeriphCLKConfig</span></span>()
functions to support TIM <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Prescaler</span></span>
for STM32F411xx 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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PeriphCLKConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API: update
to fix the RTC clock
configuration issue</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
CEC </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="square">
<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;">Overall
driver rework with&nbsp;break
of compatibility with HAL
V1.4.4</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove the
HAL CEC polling Process: <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;">Transmit(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_Receive</span></span>()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<ul style="margin-top: 0in;" type="square">
<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;">Remove the
HAL CEC receive interrupt
process (<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_Receive_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>))
and manage the "Receive"
mode enable within the Init
phase</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;">Rename <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;">GetReceivedFrameSize(</span></span>)
function to&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_GetLastReceivedFrameSize</span></span>()
function</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 HAL
APIs: <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;">SetDeviceAddress(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_ChangeRxBuffer</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;">Remove
the&nbsp;'<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">InitiatorAddress</span></span>'
field from the&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_InitTypeDef</span></span>
structure&nbsp;and manage
it&nbsp;as a parameter in
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CEC_Transmit_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
function</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
parameter '<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxFrameSize</span></span>'
in <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;">RxCpltCallback(</span></span>)
function</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;">Move CEC Rx
buffer pointer&nbsp;from <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_HandleTypeDef</span></span>
structure to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_InitTypeDef</span></span>
structure<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 driver
to implement the new CEC state
machine:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;"<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</span></span>"<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>field
in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_HandleTypeDef</span></span>
structure to provide the<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>CEC<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>state
information related to Rx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Rename
"state" field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CEC_HandleTypeDef</span></span>
structure to "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gstate</span></span>":
CEC<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>state
information related to
global Handle management and
Tx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Update CEC
process to manage the new
CEC states.</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
__HAL_CEC_RESET_HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">STATE(</span></span>)
macro to handle the new CEC
state parameters (<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gState</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</span></span>)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
UART, USART, SMARTCARD and
IRDA </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">(referenced
as <i>PPP</i> here below)<i> </i><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">update</span></span></span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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
Polling management:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">The user
Timeout value&nbsp;must be
estimated for the overall
process duration: <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">the</span></span>
Timeout measurement is
cumulative</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 DMA
process:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
management of PPP peripheral
errors during DMA process.
This requires the following
updates in user application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the PPP IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_IRQHandler</span></span>()
function</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 and
customize the Error
Callback API: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCallback(</span></span>)</span><span style=""><o:p></o:p></span></li>
</ul>
</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
FMC</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
to remove the Burst access
mode configuration</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FMC_SDRAM_Timing_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
to fix initialization issue
when configuring 2 SDRAM banks</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
HCD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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;">HCD_Port_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
to unmask disconnect IT only
when the port is disabled</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
I2C/FMPI2C</span></b><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</span></i><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="square">
<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="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>Polling
management:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">The Timeout
value must be estimated for
the overall process
duration: <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">the</span></span>
Timeout measurement is
cumulative</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;">Add the
management of Abort
service:&nbsp;Abort DMA
transfer through <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">interrupt</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">In the case
of Master Abort IT transfer
usage:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;new
user HAL_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AbortCpltCallback(</span></span>)
to inform user of the end
of abort process</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;">A new
abort state is defined in
the<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>HAL_I2C_StateTypeDef<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>structure</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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add the
management of I2C peripheral
errors, ACK failure and STOP
condition detection during DMA
process. This requires the
following updates on user
application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the I2C IRQ in
HAL_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to
HAL_I2C_IRQHandler()
function</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 and
customize the Error Callback
API: HAL_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCallback(</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;">Refer to
the I2C_EEPROM or
I2C_TwoBoards_ComDMA project
examples usage of the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API</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;">NACK error
during addressing phase is
returned through interrupt
instead of previously through
I2C transfer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API's</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;">I2C
addressing phase is updated to
be managed using interrupt
instead of&nbsp;polling (Only
for HAL I2C driver)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
static functions to manage
I2C SB, ADDR and ADD10 flags</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
SPI<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></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; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<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;">Overall
driver optimization to improve
performance in
polling/interrupt mode to
reach maximum peripheral <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">frequency</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Polling
mode:</span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Replace
the use of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitOnFlagUnitTimeout(</span></span>)
function by "if" statement
to check on RXNE/TXE <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">flage</span></span>
while transferring data</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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;Interrupt
mode:</span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Minimize
access on SPI <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">registers</span></span></span><span style="font-size: 13.5pt;"><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;">All modes:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 the
USE_SPI_CRC switch to
minimize the number of
statements when CRC
calculation is <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">disabled</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;">Update&nbsp;timeout
management to check on
global <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">processes</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;">Update
error code management in
all processes</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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update DMA
process:<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 the
management of SPI peripheral
errors during DMA process.
This requires the following
updates in the user
application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the SPI IRQ in
<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;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SPI_IRQHandler</span></span>()
function</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 and
customize the Error
Callback API: <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;">ErrorCallback(</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;">Refer to
the following example
which describe the
changes: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_FullDuplex_ComDMA</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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix
regression in polling mode:<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
preparing data to transmit
in case of slave mode in <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;">TransmitReceive(</span></span>)
and&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SPI_Transmit</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;">Add to
manage properly the overrun
flag at the end of a <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;">TransmitReceive(</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;">Fix
regression in interrupt mode:<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 wait
on TXE flag in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_CloseTx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ISR(</span></span>)
and in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_CloseTxRx_ISR</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;">Add to
manage properly
the&nbsp;overrun flag in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_CloseRxTx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ISR(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_CloseRx_ISR</span></span>()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
DMA2D<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></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="square">
<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
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span>)
function to:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Abort
transfer in case of ongoing
DMA2D transfer</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Reset DMA2D
control <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">registers</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Abort(</span></span>)
to disable DMA2D interrupts
after stopping transfer</span><span style="font-size: 13.5pt;"><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;">Optimize
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
by reading status registers
only once</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
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ProgramLineEvent(</span></span>)
function to:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Return HAL
error state in case of wrong
line <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">value</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;">Enable line
interrupt after setting the
line watermark <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">configuration</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;">Add new
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLUTLoad(</span></span>)
and<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>HAL_DMA2D_CLUTLoad_IT()<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span>functions
to start DMA2D CLUT loading</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL_DMA2D_CLUTLoading_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Abort(</span></span>)
function to abort the DMA2D
CLUT loading</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;">HAL_DMA2D_CLUTLoading_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Suspend(</span></span>)
function to suspend the
DMA2D CLUT loading</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;">HAL_DMA2D_CLUTLoading_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Resume(</span></span>)
function to resume the DMA2D
CLUT loading</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;">Add new DMA2D
dead time management:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnableDeadTime(</span></span>)
function to enable DMA2D
dead time feature</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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DisableDeadTime(</span></span>)
function to disable DMA2D
dead time feature</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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigDeadTime(</span></span>)
function to configure dead
time</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 the
name of DMA2D Input/Output
color mode defines to be <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">more
clear</span></span> for
user (DMA2D_INPUT_XXX for
input layers Colors,
DMA2D_OUTPUT_XXX for output
framebuffer Colors)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<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
LTDC<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></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; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<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_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
to manage the case of reload
interrupt</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
callback API <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ReloadEventCallback(</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Reload(</span></span>)
to configure LTDC reload
feature</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 No
Reload LTDC variant <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">APIs</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_LTDC_ConfigLayer_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
configure the LTDC Layer
according to the specified
without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_SetWindowSize_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to set
the LTDC window size without
reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_SetWindowPosition_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to set
the LTDC window position
without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_SetPixelFormat_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
reconfigure the pixel format
without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_SetAlpha_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
reconfigure the layer alpha
value without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_SetAddress_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
reconfigure the frame buffer
Address without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_SetPitch_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
reconfigure the pitch for
specific cases</span><span style=""><o:p></o:p></span></li>
<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_LTDC_ConfigColorKeying_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
configure the color keying
without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_EnableColorKeying_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to enable
the color keying without
reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_DisableColorKeying_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
disable the color keying
without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_EnableCLUT_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to enable
the color lookup table
without reloading</span><span style=""><o:p></o:p></span></li>
<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_LTDC_DisableCLUT_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoReload(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) to
disable the color lookup
table without reloading</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Note:</span></u></i><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Variant
functions with “_<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NoReload</span></span>”
post fix allows to set the
LTDC configuration/settings
without immediate reload.
This is useful in case when
the program requires to
modify several LTDC settings
(on one or both layers) then
applying (reload) these
settings in one shot by
calling the function “<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Reload</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
RTC<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
timeout implementation based
on <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">cpu</span></span>
cycles
for&nbsp;ALRAWF,&nbsp;ALRBWF
and WUTWF flags</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<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
SAI<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 SAI
state in case of TIMEOUT error
within the<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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;">Transmit(</span></span>)
/ <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Receive</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;">Update <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_IRQHandler</span></span>:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 error
management in case DMA
errors through <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferAbortCallback(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Abort_IT</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 error
management in case of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT</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;">Move <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BlockSynchroConfig(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_GetInputClock</span></span>()
functions to
stm32f4xx_hal_sai.c/.h files
(extension files are kept
empty for projects
compatibility reason)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<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
DCMI<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DCMI_DMAConvCplt</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DCMI_DMAXferCplt</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;">Update<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_Start_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
function to&nbsp;Enable the
DCMI peripheral</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
timeout implementation based
on <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">cpu</span></span>
cycles for DCMI <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">stop</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Suspend(</span></span>)
function to suspend DCMI
capture</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Resume(</span></span>)
function to resume capture
after DCMI suspend</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 lock
mechanism for DCMI process</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function to:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 error
management in case DMA
errors through <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferAbortCallback(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Abort_IT</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;">Optimize
code by using direct
register <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">read</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
<i>DMA</i></span></b><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</span></i><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="square">
<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 APIs
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RegisterCallback(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_UnRegisterCallback</span></span>
to register/unregister the
different callbacks identified
by the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">enum</span></span>
typedef <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_CallbackIDTypeDef</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 API <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Abort_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to abort DMA transfer under
interrupt context</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">The new
registered Abort callback is
called when DMA transfer
abortion is <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">completed</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;">Add the check
of compatibility between FIFO
threshold level and size of
the memory burst in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API</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 Error
Codes: HAL_DMA_ERROR_PARAM,
HAL_DMA_ERROR_NO_XFER and
HAL_DMA_ERROR_NOT_SUPPORTED</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;">Remove all
DMA states related to
MEM0/MEM1 in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_StateTypeDef</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
IWDG</span></b><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</span></i><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="square">
<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;">Overall
rework of the driver for a
more
efficient&nbsp;implementation</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove the
following APIs:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetState(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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
implementation:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): this
function insures the
configuration and the
start of the IWDG counter</span><span style=""><o:p></o:p></span></li>
<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_IWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Refresh(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): this
function insures the
reload of the IWDG counter</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;">Refer to
the following example to
identify the changes: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Example</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
LPTIM</span></b><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</span></i><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="square">
<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_LPTIM_TimeOut_Start_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_Counter_Start_IT</span></span>(
) APIs to configure <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WakeUp</span></span>
Timer EXTI interrupt to be
able to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">wakeup</span></span>
MCU from low power mode by
pressing the EXTI line. </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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_TimeOut_Stop_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LPTIM_Counter_Stop_IT</span></span>(
) APIs to disable <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WakeUp</span></span>
Timer EXTI interrupt.&nbsp;</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
NOR</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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
NOR_ADDR_SHIFT macro <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>
<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
PCD</span></b><span class="apple-converted-space"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><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="square">
<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_PCD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
to get HCLK frequency before
setting TRDT value</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
QSPI</span></b><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</span></i><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; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<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
manage QSPI error management
during DMA <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">process</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;">Improve the
DMA transmit process by using
QSPI TC interrupt instead of
waiting loop on TC flag under
DMA ISR</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;">These two
improvements require the
following updates on user
application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the QSPI IRQ in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_IRQHandler</span></span>()
function</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 and
customize the Error Callback
API: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCallback(</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;">Add the
management of non-blocking
transfer abort service:&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_Abort_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>).
In this case the user must:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
callback <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AbortCpltCallback(</span></span>)
to inform user at the end of
abort process</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;">A new value
of State in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_StateTypeDef</span></span>
provides the current state
during the abort <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">phase</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;">Polling
management update:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">The Timeout
value user must be estimated
for the overall process
duration: <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">the</span></span>
Timeout measurement is
cumulative.&nbsp;</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;">Refer to the
following examples, which
describe the changes:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">QSPI_ReadWrite_DMA</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">QSPI_MemoryMapped</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">QSPI_ExecuteInPlace</span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; widows: 1; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 two new
APIs for the QSPI <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">fifo</span></span>
threshold:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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_QSPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetFifoThreshold(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):
configure the FIFO threshold
of the QSPI</span><span style=""><o:p></o:p></span></li>
<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_QSPI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetFifoThreshold(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): give the
current FIFO threshold</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;">Fix wrong
data size management in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_QSPI_Receive_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
ADC</span></b><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span></i><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="square">
<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
__HAL_ADC_PATH_INTERNAL_VBAT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
macro&nbsp;for STM32F42x and
STM32F43x devices to
provide&nbsp;the possibility
to convert <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VrefInt</span></span>
channel when both <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VrefInt</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Vbat</span></span>
channels are selected.</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
SPDIFRX<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></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="square">
<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;">Overall <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">driver</span></span>
update for wait on flag
management optimization<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</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
WWDG<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span></span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Overall
rework of the driver for more
efficient implementation</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove the
following APIs:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Start(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_WWDG_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">MspDeInit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetState(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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
implementation:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">A&nbsp;new
parameter in the Init
Structure:&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EWIMode</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Refresh(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">This
function insures the
reload of the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">counter</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;">The
"counter" parameter has
been <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">removed</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_WWDG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EarlyWakeupCallback(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) is the
new prototype of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_WakeUpCallback</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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Refer to the
following example to identify
the changes: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Example</span></span></span><span style=""><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.4.4
/ 22-January-2016</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="square">
<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<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">stm32f4xx_hal_conf_template.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Optimize
HSE Startup Timeout value
from 5000ms to 100 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ms</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
define LSE_STARTUP_TIMEOUT</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
define USE_SPI_CRC for code
cleanup when the CRC
calculation is disabled.</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
drivers to support MISRA C
2004 rule <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">10.6</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
template&nbsp;driver to
configure <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">timebase</span></span>
using <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TIMER :</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="">s</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">tm32f4xx_hal_timebase_tim_template.c</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
CAN </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Transmit(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_CAN_Transmit_IT</span></span>()
functions to&nbsp;unlock
process when all Mailboxes are
busy</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
DSI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetPHYTimings(</span></span>)
functions to use the correct
mask</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
UART </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">Several
update on HAL UART driver to
implement the new UART state
machine:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART_HandleTypeDef</span></span>
structure: "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</span></span>",
UART state information
related to Rx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Rename
"state" field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART_HandleTypeDef</span></span>
structure by "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gstate</span></span>":
UART state information
related to global Handle
management and Tx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Update UART
process to manage the new
UART states.</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
__HAL_UART_RESET_HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">STATE(</span></span>)
macro to handle the new UART
state parameters (<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gState</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</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
UART_BRR_SAMPLING16() and
UART_BRR_SAMPLING8() Macros to
fix wrong <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation.</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
IRDA </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">Several
update on HAL IRDA driver to
implement the new UART state
machine:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_HandleTypeDef</span></span>
structure: "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</span></span>",
IRDA state information
related to Rx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Rename
"state" field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART_HandleTypeDef</span></span>
structure by "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gstate</span></span>":
IRDA state information
related to global Handle
management and Tx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Update IRDA
process to manage the new
UART states.</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
__HAL_IRDA_RESET_HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">STATE(</span></span>)
macro to handle the new IRDA
state parameters (<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gState</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</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;">Removal of
IRDA_TIMEOUT_VALUE define</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 IRDA_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BRR(</span></span>)
Macro to fix wrong <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation</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
SMARTCARD </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">Several
update on HAL SMARTCARD driver
to implement the new UART
state machine:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
field in&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD_HandleTypeDef</span></span>
structure: "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</span></span>",
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARDstate</span></span>
information related to Rx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Rename
"state" field in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UART_HandleTypeDef</span></span>
structure by "<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gstate</span></span>":
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARDstate</span></span>
information related to
global Handle management and
Tx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Operations</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;">Update&nbsp;SMARTCARD
process to manage the new
UART states.</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
__HAL_SMARTCARD_RESET_HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">STATE(</span></span>)
macro to handle the
new&nbsp;SMARTCARD state
parameters (<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">gState</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">rxState</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
SMARTCARD_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BRR(</span></span>)
macro to fix wrong <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">baudrate</span></span>
calculation</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL&nbsp;
RCC</span></b></span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
</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="square">
<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
default define value for HSI
calibration
"RCC_HSICALIBRATION_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DEFAULT"</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;">Optimize
Internal oscillators and PLL
startup <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">timeout</span></span>&nbsp;</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
avoid the disable for HSE/LSE
oscillators before setting the
new RCC HSE/LSE configuration
and add the following notes in
<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 description:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoNormal" style=""><span style="font-size: 10pt;">&nbsp;</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;*
@note&nbsp;&nbsp; Transitions LSE
Bypass to LSE On and LSE On to LSE
Bypass are not</span><span style="font-size: 10pt;"> <br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; supported by this
API. User should request a
transition to LSE Off</span><span style="font-size: 10pt;"> <br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; first and then LSE
On or LSE Bypass.</span><span style="font-size: 10pt;"> <br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; *
@note&nbsp;&nbsp; Transition HSE
Bypass to HSE On and HSE On to HSE
Bypass are not</span><span style="font-size: 10pt;"> <br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; supported by this
API. User should request a
transition to HSE Off</span><span style="font-size: 10pt;"> <br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; first and then HSE
On or HSE Bypass.</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></p>
<ul type="disc">
<ul type="circle">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Optimize
the&nbsp;<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>)
API implementation.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<ul type="disc">
<li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
DMA2D </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Abort(</span></span>)
Function to end current DMA2D
transfer properly</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
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PollForTransfer(</span></span>)
function to add poll for
background CLUT loading (layer
0 and layer 1).</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
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PollForTransfer(</span></span>)
to set the corresponding <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
in case of error occurrence</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
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigCLUT(</span></span>)
function to fix wrong CLUT
size and color mode settings</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;">Removal of
useless macro __HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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;">Update
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Suspend(</span></span>)
to manage correctly the case
where no transfer is on going</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
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Resume(</span></span>)&nbsp;to
manage correctly the case
where no transfer is on going</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
HAL_DMA2D_Start_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
to enable all required
interrupts before enabling the
transfer.</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
HAL_DMA2D_CLUTLoad_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
Function to allow loading a
CLUT with interruption model.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
to manage the following
cases&nbsp;:</span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;"><br style="">
<!--[if !supportLineBreakNewLine]--><br style="">
<!--[endif]--><o:p></o:p></span></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">CLUT
transfer <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">complete</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">CLUT access
error</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Transfer
watermark <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">reached</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
Callback APIs:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LineEventCallback(</span></span>)
to signal a transfer
watermark reached event</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLUTLoadingCpltCallback(</span></span>)
to signal a CLUT loading
complete event <o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul type="disc">
<ul type="circle">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Miscellaneous
Improvement:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
"HAL_DMA2D_ERROR_CAE" new
define for CLUT Access error
management.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add </span><span style="font-size: 7pt;"><span style="font-size-adjust: none; font-stretch: normal;">&nbsp;<span class="grame">&nbsp;&nbsp;&nbsp;</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">“</span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">assert_param</span></span>”
used for parameters check is
now done on the top of the
exported functions : before
locking the process using
__HAL_LOCK</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p>&nbsp;</o:p></span></p>
<ul type="square">
<li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
I2C&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add support
of I2C repeated start feature:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">With the
following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Master_Sequential_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Master_Abort_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Slave_Sequential_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_Slave_Sequential_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_EnableListen_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_DisableListen_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt;">Add new
user callbacks:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ListenCpltCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AddrCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
generate STOP condition when a
acknowledge failure error is <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">detected</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Several
update on HAL I2C driver to
implement the new I2C state
machine:&nbsp;</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new API
to get the I2C mode:
HAL_I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetMode(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update I2C
process to manage the new
I2C states.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix wrong <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">behaviour</span></span>
in single byte <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transmission</span></span>&nbsp;</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update I2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitOnFlagUntilTimeout(</span></span>)&nbsp;to
manage the NACK feature.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update&nbsp;&nbsp;I</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">2C
transmission process to
support the case data size
equal 0</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<ul type="square">
<li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
FMPI2C </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add support
of FMPI2C repeated start
feature:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">With the
following new API's</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Master_Sequential_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Master_Sequential_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Master_Abort_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Slave_Sequential_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_Slave_Sequential_Receive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_EnableListen_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_DisableListen_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt;">Add new
user callbacks:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ListenCpltCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_FMPI2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AddrCallback(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Several
update on HAL I2C driver to
implement the new I2C state
machine:&nbsp;</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new API
to get the FMPI2C mode:
HAL_FMPI2C_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetMode(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
FMPI2C process to manage the
new FMPI2C states.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul type="square">
<li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
SPI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style="font-size: 10pt;"> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Major Update
to improve performance in
polling/interrupt mode to
reach max frequency:</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Polling <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode
:</span></span></span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Replace
use of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitOnFlagUnitTimeout(</span></span>)
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">funnction</span></span>
by "if" statement to check
on RXNE/TXE <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">flage</span></span>
while transferring data.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Use API
data pointer instead of
SPI handle data pointer.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Use a <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Goto</span></span>
implementation instead of
"<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">if..</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">else</span></span>"
statements.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
</ul>
<ul type="square">
<ul type="square">
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt;">Interrupt
mode<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Minimize
access on SPI registers.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Split the
SPI modes into dedicated
static functions to
minimize checking
statements under <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>):</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">1lines/2lines
modes</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">8 bit/
16 bits data formats</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">CRC
calculation
enabled/disabled.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt;">Remove
waiting loop under ISR
when <span class="grame">closing
&nbsp;the</span>
communication.<o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">All
modes:&nbsp;&nbsp;</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Adding
switch USE_SPI_CRC to
minimize number of
statements when CRC
calculation is disabled.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
Timeout management to
check on global process.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
Error code management in
all processes.</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<li class="MsoNormal" style=""><span style="font-size: 10pt;">Add note to
the max frequencies reached in
all modes.<o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt;">Add note
about Master Receive mode <span class="grame">restrictions :</span><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: rgb(0, 32, 82);"><span style="font-size: 10pt;">Master
Receive mode restriction:<br>
&nbsp;&nbsp;&nbsp;<span class="grame">&nbsp;&nbsp;
(</span>#) In Master
unidirectional receive-only
mode (MSTR =1, BIDIMODE=0,
RXONLY=0) or <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bidirectional receive mode
(MSTR=1, BIDIMODE=1,
BIDIOE=0), to ensure that
the SPI <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
does not initiate a new
transfer the following
procedure has to be
respected:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(##) <span class="spelle">HAL_SPI_DeInit</span>()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(##) <span class="spelle">HAL_SPI_Init</span>()
</span><span style="font-size: 10pt; font-family: &quot;Arial&quot;,sans-serif;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul type="square">
<li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
SAI&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style="font-size: 10pt;"> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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 for
proper management of the
external synchronization input
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">selection</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Init</span></span>
() <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">funciton</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;">update
definition of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_Block_SyncExt</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_Block_Synchronization</span></span>
groups</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
SAI_SLOTACTIVE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">X
&nbsp;defines</span></span>
values</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&nbsp;<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>)
function for proper <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">companding</span></span>
mode management</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_Transmit_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ITxxBit(</span></span>)
functions to add the check on
transfer counter before
writing new data to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAIx_DR</span></span>
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;">Update <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FillFifo(</span></span>)
function to avoid issue when
the number of data to transmit
is smaller than the FIFO size</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 <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;">EnableRxMuteMode(</span></span>)
function for proper mute
management</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">InitPCM(</span></span>)
function to support 24bits
configuration</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
ETH </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">Removal of
ETH MAC debug register <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">defines</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
FLASH </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">FLASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MassErase(</span></span>)
function to apply correctly
voltage range parameter</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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
I2S </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><b><span style=""> </span></b><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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 I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMATxCplt(</span></span>)
and I2S_DMARxCplt() to manage
properly <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FullDuplex</span></span>
mode without any risk of
missing data.</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">LL
FMC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<b> <o:p></o:p></b></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
function to use <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BurstAccessMode</span></span>
field properly</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">LL
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FSMC&nbsp;
</span></span></span></b><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span></span><span style=""> </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></b></li>
<ul style="margin-top: 0in;" type="square">
<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;">FSMC_NORSRAM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
function to use <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BurstAccessMode</span></span>
field properly</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoNormal" style=""><span style="font-size: 10pt;"><br style="">
<!--[if !supportLineBreakNewLine]--><br style="">
<!--[endif]--><o:p></o:p></span></p>
<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.4.4
/ 11-December-2015</span><span style=""><o:p></o:p></span></font></h3>
<p class="MsoNormal" style=""><b><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">Main Changes</span></u></b><span style="font-size: 10pt;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<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="square">
<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
weak empty callbacks to
prevent unused argument
compilation warnings with some
compilers by calling the
following line:</span><span style=""> <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">UNUSED(</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">hppp</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">);</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;">STM32Fxxx_User_Manual.chm
files regenerated for HAL
V1.4.3</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
ETH</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_ETH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
function to add timeout on the
Software reset management</span><span style=""><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.4.2
/ 10-November-2015</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">One
change done on the HAL CRYP
requires an update on the
application code based on HAL
V1.4.1</span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_CRYP_DESECB_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Decrypt(</span></span>)
API to&nbsp;invert <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pPlainData</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pCypherData</span></span>
parameters</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
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="square">
<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
weak empty callbacks to
prevent unused argument
compilation warnings with some
compilers by calling the
following line:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 12pt;"><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">UNUSED(</span></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">hppp</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">);</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
CORTEX </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="square">
<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;">Remove
duplication for
__HAL_CORTEX_SYSTICKCLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
macro</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
HASH </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="square">
<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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_STATETypeDef</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_StateTypeDef</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_PhaseTypeDef</span></span>
to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_PhaseTypeDef</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
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="square">
<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
macros __HAL_RCC_<i>PPP</i>_IS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED(</span></span>)
to check on Clock
enable/disable status</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
__HAL_RCC_USB_OTG_FS_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
macro to remove the disable
for the SYSCFG</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 <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;">MCOConfig(</span></span>)
API to use new defines for the
GPIO Speed</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;">Generic
update to improve the
PLL&nbsp;VCO min
value(100MHz): PLLN, PLLI2S
and PLLSAI min value is 50
instead of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">192</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
FLASH </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="square">
<li class="MsoNormal" style="color: rgb(2, 3, 2); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_FLASH_INSTRUCTION_CACHE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)
macro: update to&nbsp;<span style="text-align: start; float: none; word-spacing: 0px;"></span><span style="">reset
&nbsp;</span><span style="text-align: start; float: none; word-spacing: 0px;">ICRST </span><span style="text-align: start; float: none; word-spacing: 0px;">bit in
the ACR register after
setting it.</span></span></span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(2, 3, 2); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
support until 15 FLASH wait
state (FLASH_LATENCY_15) for
STM32F446xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></span>
</span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL CRYP&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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_CRYP_DESECB_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Decrypt(</span></span>)
API to fix the inverted <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pPlainData</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pCypherData</span></span>
parameters issue</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
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="square">
<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;">Init(</span></span>)
API&nbsp;to call
__HAL_RCC_I2S_CONFIG() macro
when external I2S clock is
selected</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
LTDC </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="square">
<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_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetWindowPosition(</span></span>)
API&nbsp;to configure
Immediate&nbsp;reload&nbsp;register
instead of vertical blanking
reload register.</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
TIM </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="square">
<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_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigClockSource(</span></span>)
API to&nbsp;check only the
required parameters</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
NAND </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="square">
<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_NAND_Read_Page()/HAL_NAND_Write_Page()/HAL_NAND_Read_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SpareArea(</span></span>)
APIs to manage correctly the
NAND Page access</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
CAN </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="square">
<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 use
"=" instead of "|=" to clear
flags in the MSR, TSR, RF0R
and RF1R registers</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
HCD </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="square">
<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 typo in
__HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)
macro implementation</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
PCD </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="square">
<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_PCD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
API to avoid issue
when&nbsp;DMA mode enabled for
Status Phase IN stage</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;">LL
FMC </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="square">
<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;">FMC_NORSRAM_Extended_Timing_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API to remove the check
on&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLKDIvison</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DataLatency</span></span>
parameters</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;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API to add a check on the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PageSize</span></span>
parameter for STM32F42/43xx
devices</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;">LL
FSMC </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="square">
<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;">FSMC_NORSRAM_Extended_Timing_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
API to remove the check
on&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CLKDIvison</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DataLatency</span></span>
parameters</span><span style=""><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.4.1
/ 09-October-2015</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
DSI </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="square">
<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 TCCR
register&nbsp;assigned value
in&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigHostTimeouts(</span></span>)
function</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 WPCR
register&nbsp;assigned value
in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetSlewRateAndDelayTuning</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetSlewRateAndDelayTuning</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetLowPowerRXFilter</span></span>()
/ <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetSDD</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetLanePinsConfiguration</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetPHYTimings</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_ForceTXStopMode</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_ForceRXLowPower</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_ForceDataLanesInRX</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetPullDown</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DSI_SetContentionDetectionOff</span></span>()
functions</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
DSI_HS_PM_ENABLE define <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">value</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;">Implement
workaround for the hardware
limitation: “The time to
activate the clock between HS
transmissions is not
calculated <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">correctly”</span></span></span><span style=""><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.4.0
/ 14-August-2015</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
support of<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><b>STM32F469xx</b><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">, <b>STM32F479xx</b>,
<b>STM32F410Cx, STM32F410Rx
</b>and<b> STM32F410</b></span></span><span class="grame"><b><span style="font-family: &quot;Verdana&quot;,sans-serif;">Tx&nbsp;</span></b></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">
devices</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;">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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
new HAL drivers for <b>DSI&nbsp;</b>and<b>&nbsp;LPTIM
</b>peripherals</span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
ADC </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="square">
<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;">Rename
ADC_CLOCKPRESCALER_PCLK_DIV2
define to
ADC_CLOCK_SYNC_PCLK_DIV2</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;">Rename
ADC_CLOCKPRESCALER_PCLK_DIV4
define to
ADC_CLOCK_SYNC_PCLK_DIV4</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;">Rename
ADC_CLOCKPRESCALER_PCLK_DIV6
define to
ADC_CLOCK_SYNC_PCLK_DIV6</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;">Rename
ADC_CLOCKPRESCALER_PCLK_DIV8
define to
ADC_CLOCK_SYNC_PCLK_DIV8 </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
CORTEX </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="square">
<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 specific
API for MPU management</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MPU_Region_InitTypeDef</span></span>
structure</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
function <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_MPU_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigRegion(</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
DMA </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="square">
<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;">Overall <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">driver</span></span>
update for code optimization</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">StreamBaseAddress</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">StreamIndex</span></span>
new fields in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA_HandleTypeDef</span></span>
structure</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA_Base_Registers</span></span>
private <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">structure</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 static
function <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CalcBaseAndBitshift(</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;">update <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
function to use the new
added static function</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span>)
function to optimize clear
flag operations</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Start_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
function to optimize
interrupts enable</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PollForTransfer(</span></span>)
function to optimize check
on flags</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function to optimize
interrupt flag management</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
FLASH </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="square">
<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_FLASH_Program_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
function by removing the
pending flag clear</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_FLASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function to improve erase
operation procedure</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitForLastOperation(</span></span>)
function by checking on end of
operation flag</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
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="square">
<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;">Rename
GPIO_SPEED_LOW define to
GPIO_SPEED_FREQ_LOW</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;">Rename
GPIO_SPEED_MEDIUM define to
GPIO_SPEED_FREQ_MEDIUM</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;">Rename
GPIO_SPEED_FAST define to
GPIO_SPEED_FREQ_HIGH</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;">Rename
GPIO_SPEED_HIGH define to
GPIO_SPEED_FREQ_VERY_HIGH</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
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="square">
<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;">Move
I2S_Clock_Source defines to
extension file to properly add
the support of STM32F410xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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
LTDC </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="square">
<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;">rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LineEvenCallback(</span></span>)
function to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_LineEventCallback</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
function <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetPitch(</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
functions <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">StructInitFromVideoConfig(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_StructInitFromAdaptedCommandConfig</span></span>()
applicable only to STM32F469xx
and STM32F479xx devices</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
PWR </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="square">
<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;">move
__HAL_PWR_VOLTAGESCALING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
macro to extension file</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;">move
PWR_WAKEUP_PIN2 define to
extension <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">file</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
PWR_WAKEUP_PIN3 define,
applicable only to STM32F10xx
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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
functions <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnableWakeUpPinPolarityRisingEdge(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_EnableWakeUpPinPolarityFallingEdge</span></span>(),
applicable only to STM32F469xx
and STM32F479xx devices</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
RTC </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="square">
<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_RTCEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetWakeUpTimer(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RTCEx_SetWakeUpTimer_IT</span></span>()
functions to properly check on
the WUTWF flag</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
TIM </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="square">
<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
defines TIM_SYSTEMBREAKINPUT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HARDFAULT,&nbsp;
TIM</span></span>_SYSTEMBREAKINPUT_PVD
and
TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD,
applicable only to STM32F410xx
devices</span><span style=""><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.3.2
/ 26-June-2015</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">One
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">changes</span></span>
done on the HAL may require an
update on the application code
based on HAL V1.3.1</span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HASH IT
process: update to call the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">InCpltCallback(</span></span>)
at the end of the complete
buffer instead of every each
512 bits</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
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="square">
<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_RCCEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PeriphCLKConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) updates:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
LSE check condition after
backup domain <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">reset:</span></span>
update to check&nbsp;LSE
ready flag when LSE
oscillator is already
enabled instead of check on
LSE oscillator only when LSE
is used as RTC clock source</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;">Use the
right macro to check the
PLLI2SQ <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">parameters</span></span>
</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
RTC </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="square">
<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;">__HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
macro: fix implementation
issue</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;">__HAL_RTC_ALARM_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>),
__HAL_RTC_ALARM_CLEAR_FLAG(),
__HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(),
__HAL_RTC_TIMESTAMP_CLEAR_FLAG()
and
__HAL_RTC_TAMPER_CLEAR_FLAG()
macros implementation changed:
remove unused cast</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;">IS_RTC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TAMPER(</span></span>)
macro: update to use literal
instead of hardcoded
value&nbsp;</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
parameter <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SecondFraction</span></span>
in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RTC_TimeTypeDef</span></span>
structure</span><span style=""><o:p></o:p></span></li>
<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_RTC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetTime(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API update
to support the new
parameter&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SecondFraction</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
ADC </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="square">
<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
literal:
ADC_INJECTED_SOFTWARE_START to
be used as possible value for
the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ExternalTrigInjecConvEdge</span></span>
parameter in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ADC_InitTypeDef</span></span>
structure to select the ADC
software trigger mode.</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
FLASH </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="square">
<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;">FLASH_OB_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetRDP(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API update
to return uint8_t instead of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FlagStatus</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;__HAL_FLASH_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LATENCY(</span></span>)
new macro add to get the flash
latency</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
SPI </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="square">
<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 the wrong
definition of
HAL_SPI_ERROR_FLAG literal</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
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="square">
<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;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Transmit(</span></span>)
API update to check on busy
flag only for I2S slave mode</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
CRC </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="square">
<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;">__HAL_CRC_SET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IDR(</span></span>)
macro implementation change to
use WRITE_REG() instead of
MODIFY_REG()</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
DMA2D </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="square">
<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;">HAL_DMA2D_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ConfigLayer(</span></span>)
API update to use "=" instead
of "|=" to erase BGCOLR and
FGCOLR registers before
setting the new configuration</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
HASH </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="square">
<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_HASH_<b>MODE</b>_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)&nbsp;(<b>MODE
</b>stands for MD5, SHA1,
SHA224 and SHA36) updates:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;processing
fail for small input <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">buffers</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;">Update to
unlock the process and
call&nbsp;return
HAL_OK&nbsp;at the end of
HASH processing to avoid
incorrectly repeating <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">software</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;">Update to
properly manage the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HashITCounter</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;">Update to
call the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">InCpltCallback(</span></span>)
at the end of the complete
buffer instead of every each
512 bits </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;">__HAL_HASH_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
update to &nbsp;check the
right register when the DINNE
flag &nbsp;is selected</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;">HAL_HASH_SHA1_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Accumulate(</span></span>)
updates:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;call to the new
IS_HASH_SHA1_BUFFER_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SIZE(</span></span>)
macro to check the size
parameter.&nbsp;</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 the
following note in API <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">description</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div style="margin-left: 1.25in;">
<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;*
@<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">note&nbsp;
Input</span></span> buffer
size in bytes must be a multiple
of 4 otherwise the digest
computation is corrupted.</span><span style="font-size: 10pt;"><o:p></o:p></span></p>
</div>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
RTC </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="square">
<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
define&nbsp;hardware
independent literals names:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rename
RTC_TAMPERPIN_PC13 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">by
&nbsp;RTC</span></span>_TAMPERPIN_DEFAULT</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;">Rename
RTC_TAMPERPIN_PA0 by
RTC_TAMPERPIN_POS1</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;">Rename
RTC_TAMPERPIN_PI8 by
RTC_TAMPERPIN_POS1</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;">Rename
RTC_TIMESTAMPPIN_PC13 by
RTC_TIMESTAMPPIN_DEFAULT</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;">Rename
RTC_TIMESTAMPPIN_PA0 by
RTC_TIMESTAMPPIN_POS1</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;">Rename
RTC_TIMESTAMPPIN_PI8 by
RTC_TIMESTAMPPIN_POS1</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
ETH </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="square">
<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;">Remove
duplicated&nbsp;IS_ETH_DUPLEX_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MODE(</span></span>)
and IS_ETH_RX_MODE() macros</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;">Remove
illegal space
ETH_MAC_READCONTROLLER_FLUSHING
macro</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
ETH_MAC_READCONTROLLER_XXX
defined values (XXX can be
IDLE, READING_DATA and
READING_STATUS)</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
PCD </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="square">
<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_PCD_IRQHandler</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> API: fix the
bad Configuration of
Turnaround Time</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
HCD </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="square">
<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 use
local variable&nbsp;in USB
Host channel re-<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">activation</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;">LL
FMC </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="square">
<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;">FMC_SDRAM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SendCommand(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) API: remove
the following line: return
HAL_ERROR;</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;">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="square">
<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;">USB_FlushTxFifo</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;API:
update to flush all Tx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FIFO</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;">Update to use
local variable&nbsp;in USB
Host channel re-<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">activation</span></span></span><span style=""><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.3.1
/ 25-Mars-2015</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
PWR </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="square">
<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
compilation issue with
STM32F417xx product:
update&nbsp;<b>STM32F17xx</b>
by <b>STM32F417xx</b></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
SPI </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="square">
<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;">Remove unused
variable to avoid warning with
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TrueSTUDIO</span></span>&nbsp;</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
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 style="margin-top: 0in;" type="square">
<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;">I2C
Polling/IT/DMA processes: move
the&nbsp;wait loop on busy
flag at the top of the
processes, to ensure that
software not perform any write
access to I2C_CR1 register
before hardware
clearing&nbsp;STOP bit and to
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">avoid
also</span></span> the
waiting loop on BUSY flag
under I2C/DMA ISR.</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 busy
flag&nbsp;Timeout <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">value</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;">I2C Master
Receive Processes update to
disable ACK before <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">generate</span></span>
the STOP&nbsp;</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
DAC </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="square">
<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 V1.3.0
regression issue with DAC
software trigger <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">configuration</span></span></span><span style=""><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.3.0
/ 09-Mars-2015</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
support of<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><b>STM32F446xx</b><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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;">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;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
new HAL drivers for <b>CEC,
QSPI, FMPI2C </b>and <b>SPDIFRX
</b>peripherals</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;">Two
changes done on the HAL
requires an update on the
application code based on HAL
V1.2.0</span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Overall <b>SAI</b>
<b>driver rework</b> to have
exhaustive support of the
peripheral features: details
are provided in <b>HAL SAI </b>update
section below --&gt; <b>Compatibility
with previous version is <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">impacted</span></span></b></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">CRYP </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">driver
updated to support multi <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">instance,so</span></span>
user must&nbsp;ensure that the
new parameter&nbsp;Instance is
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">initalized</span></span>
in his application(<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CRYPHandle.Instance</span></span>
= CRYP)&nbsp;</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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="square">
<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;">stm32f4xx_hal_def.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove NULL
definition&nbsp;and add
include for <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">stdio.h</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;">stm32_hal_legacy.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;method
to manage&nbsp;deference in
alias implementation between
all STM32 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">families</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;">stm32f4xx_hal_ppp.c</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_PPP_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update
to force the
HAL_PPP_STATE_RESET before
calling the <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_MspInit</span></i></span><i>()</i></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
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="square">
<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
function <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;">GetPeriphCLKFreq(</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;">Move <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RCC_PLLInitTypeDef</span></span>
structure to extension file
and add the new PLLR field
specific to STM32F446xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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;">Move the
following functions to
extension file and add a
__weak attribute in generic <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">driver
:</span></span> this
update is related to new
system clock source (<i>PLL/PLLR</i>)
added and only available for
STM32F44xx devices <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">OscConfig(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetSysClockFreq(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetOscConfig(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><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;">Move the
following macro to extension
file as they have device
dependent <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 style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_PLL_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_PLLI2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</span></i><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</span></i><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;">Add new
structure <i>RCC_PLLI2SInitTypeDef</i>
containing new <i>PLLI2S</i>
division factors used only w/
STM32F446xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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;">Add new
structure <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">RCC_PLLSAIInitTypeDef</span></i></span>
containing new <i>PLLSAI</i>
division factors used only w/
STM32F446xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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;">Add new <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">RCC_PeriphCLKInitTypeDef</span></i></span>
to support the peripheral
source clock selection for (<i>I2S,
SAI, SDIO, FMPI2C, CEC,
SPDIFRX and CLK48</i>)<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"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">PeriphCLKConfig(</span></i></span><i>)</i>
and <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_GetPeriphCLKConfig</span></i></span><i>()
</i>functions to support the
new peripherals Clock source
selection<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 <i>__HAL_RCC_PLL_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</i>
macro (the number of parameter
and the implementation depend
on the device part number)<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 <i>__HAL_RCC_PLLI2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</i>
macro(the number of parameter
and the implementation depend
on device part number)<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 <i>__HAL_RCC_PLLSAI_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</i>
macro to support new PLLSAI
factors <i>(PLLSAIM and
PLLSAIP)</i><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
macros for clock
enable/Disable for the
following peripherals <i>(CEC,
SPDIFRX, SAI2, QUADSPI)</i><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 the
following new macros for clock
source <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">selection
:</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_SAI1_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_SAI1_SOURCE()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_SAI2_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_SAI2_SOURCE()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_I2S1_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_I2S1_SOURCE()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_I2S2_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_I2S2_SOURCE()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_CEC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC__GET_CEC_SOURCE()
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_FMPI2C1_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_FMPI2C1_SOURCE()
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_SDIO_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_SDIO_SOURCE()
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_CLK48_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_CLK48_SOURCE()
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_SPDIFRXCLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
/
__HAL_RCC_GET_SPDIFRX_SOURCE()</span></i><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;">__HAL_RCC_PPP_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>):
Implement workaround to cover
RCC limitation regarding
peripheral enable delay</span><span style=""><o:p></o:p></span></li>
<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_RCC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">OscConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) fix
issues:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 LSERDY flag when
LSE_BYPASS is selected as
new state for LSE
oscillator.</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;">Add
new&nbsp;possible value&nbsp;<i>RCC_PERIPHCLK_PLLI2S
</i>to be selected as<i> <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PeriphClockSelection</span></span>
</i>parameter in <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">the
&nbsp;</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RCC_PeriphCLKInitTypeDef</span></span>
structure to allow the
possibility to output the
PLLI2S on MCO without
activating the I2S or the SAI.</span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_HSE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</span><span style="font-size: 9pt; font-family: &quot;Verdana&quot;,sans-serif;">
&nbsp;</span></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">macro: add
the comment below:</span></i><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<div style="margin-left: 1.25in;">
<p class="MsoNormal" style=""><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;*
@note&nbsp;&nbsp; Transition
HSE Bypass to HSE On and HSE
On to HSE Bypass are not
supported by this macro. <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
User should request a
transition to HSE Off first
and then HSE On or HSE Bypass.</span></i><span style="font-size: 10pt;"><o:p></o:p></span></p>
</div>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: &quot;Helvetica&quot;,sans-serif;">__HAL_RCC_LSE_<span class="grame"><span style="font-family: &quot;Helvetica&quot;,sans-serif;">CONFIG(</span></span>)</span><span style="font-size: 9pt; font-family: &quot;Helvetica&quot;,sans-serif;"> &nbsp;</span></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">macro: add
the comment below:</span></i><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<div style="margin-left: 1.25in;">
<p class="MsoNormal" style=""><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;&nbsp;*
@note&nbsp;&nbsp; Transition
LSE Bypass to LSE On and LSE
On to LSE Bypass are not
supported by this macro.<br>
&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
User should request a
transition to LSE Off first
and then LSE On or LSE Bypass.</span></i><span style="font-size: 10pt;"><o:p></o:p></span></p>
</div>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 the
following new macros for
PLL&nbsp;source and PLLM&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">selection
:</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_PLL_PLLSOURCE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RCC_PLL_PLLM_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)</span></i><i><span style=""><o:p></o:p></span></i></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Macros
rename:</span></i><i><span style=""><o:p></o:p></span></i></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL_RCC_OTGHS_FORCE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)
by&nbsp;HAL_RCC_USB_OTG_HS_FORCE_RESET()</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;">HAL_RCC_OTGHS_RELEASE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)
by&nbsp;HAL_RCC_USB_OTG_HS_RELEASE_RESET()</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;">HAL_RCC_OTGHS_CLK_SLEEP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by&nbsp;HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE()</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;">HAL_RCC_OTGHS_CLK_SLEEP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by&nbsp;HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE()</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;">HAL_RCC_OTGHSULPI_CLK_SLEEP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by&nbsp;HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE()</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;">HAL_RCC_OTGHSULPI_CLK_SLEEP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by&nbsp;HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE()</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;">Add&nbsp;__HAL_RCC_SYSCLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CONFIG(</span></span>)
new macro to configure the
system clock source (SYSCLK)</span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><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;">__HAL_RCC_GET_SYSCLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SOURCE(</span></span>)
updates:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 RCC
Literals:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">RCC_SYSCLKSOURCE_STATUS_HSI</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;">RCC_SYSCLKSOURCE_STATUS_HSE</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;">RCC_SYSCLKSOURCE_STATUS_PLLCLK</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;">RCC_SYSCLKSOURCE_STATUS_PLLRCLK</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;">&nbsp;Update
macro description to refer
to the literals <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">above</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
PWR </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="square">
<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
define PWR_WAKEUP_PIN2</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 API
to Control/Get VOS&nbsp;bits
of CR <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">register</span></span></span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ControlVoltageScaling(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetVoltageRange(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_</span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">
VOLTAGESCALING_<span class="grame"><span style="font-family: &quot;Calibri&quot;,sans-serif;">CONFIG</span></span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): Implement
workaround to cover VOS
limitation delay when PLL is
enabled after setting the VOS
configuration</span><span style="background-attachment: scroll;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 10pt; font-family: &quot;Helvetica&quot;,sans-serif;"> </span><span style=""><o:p></o:p></span></span></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;"></span>HAL
GPIO </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="square">
<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 the new
Alternate functions literals
related to remap for <b><i>SPI,
USART, I2C, SPDIFRX, CEC
and QSPI</i></b></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 7.5pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_GPIO_</span></span><span class="grame"><span style="font-size: 7.5pt; font-family: &quot;Verdana&quot;,sans-serif;">DeInit(</span></span><span style="font-size: 7.5pt; font-family: &quot;Verdana&quot;,sans-serif;">):
Update&nbsp;to check if GPIO
Pin x is already used in EXTI
mode on another GPIO Port
before De-Initialize the EXTI
register</span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">s</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
FLASH </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="square">
<li class="MsoNormal" style="color: rgb(2, 3, 2); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_FLASH_INSTRUCTION_CACHE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)
macro: update to&nbsp;<span style="text-align: start; float: none; word-spacing: 0px;"></span><span style="">reset
&nbsp;</span><span style="text-align: start; float: none; word-spacing: 0px;">ICRST </span><span style="text-align: start; float: none; word-spacing: 0px;">bit in
the ACR register after
setting it.</span></span></span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<li class="MsoNormal" style="color: rgb(5, 5, 5); margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 9pt; font-family: &quot;Verdana&quot;,sans-serif;"><span style="text-align: start; float: none; word-spacing: 0px;">__HAL_FLASH_DATA_CACHE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)&nbsp;macro:
update to&nbsp;reset
&nbsp;DCRST bit in the ACR
register after setting it.</span></span><span style="font-family: &quot;Verdana&quot;,sans-serif;"><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
ADC </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="square">
<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
literal: ADC_SOFTWARE_START to
be used as possible value for
the <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">ExternalTrigConv</span></i></span>
parameter in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ADC_InitTypeDef</span></span>
structure to select the ADC
software trigger mode.</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;">IS_ADC_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CHANNEL(</span></span>)
macro update to don't assert
stop the <i>ADC_CHANNEL_TEMPSENSOR</i>
value</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">HAL_ADC_</span></span><span class="grame"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">PollForConversion(</span></span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">): update to
manage particular case when
ADC configured in DMA mode and
ADC sequencer with several
ranks and polling for end of
each conversion</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">HAL_ADC_Start</span></span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">()/<span class="spelle"><span style="font-family: &quot;Calibri&quot;,sans-serif;">HAL_ADC_Start_</span></span><span class="grame"><span style="font-family: &quot;Calibri&quot;,sans-serif;">IT(</span></span>)
/<span class="spelle"><span style="font-family: &quot;Calibri&quot;,sans-serif;">HAL_ADC_Start_DMA</span></span>()
update:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">unlock the
process before starting the
ADC software conversion.</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: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">Optimize
the ADC stabilization <span class="grame"><span style="font-family: &quot;Calibri&quot;,sans-serif;">delays</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: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">__HAL_ADC_GET_IT_<span class="grame"><span style="font-family: &quot;Calibri&quot;,sans-serif;">SOURCE(</span></span>)
update macro implementation</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: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">Add more
details in 'How to use this
driver' <span class="grame"><span style="font-family: &quot;Calibri&quot;,sans-serif;">section</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
DAC </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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new macro
to check if the specified DAC
interrupt source is enabled or
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">disabled</span></span><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_DAC_GET_IT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SOURCE(</span></span>)</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TriangleWaveGeneration(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
use DAC CR bit mask definition</span><span style="font-size: 13.5pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoiseWaveGeneration(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
use DAC CR bit mask definition</span><span style="font-size: 13.5pt;"><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
CAN </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="square">
<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;">CanTxMsgTypeDef</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> structure:
update&nbsp;to use<b> </b>uint8_t&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Data[</span></span>8]
instead of
uint32_t&nbsp;Data[8]</span><span style=""><o:p></o:p></span></li>
<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;">CanRxMsgTypeDef</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> structure:
update&nbsp;to use<b> </b>uint8_t&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Data[</span></span>8]<b>
</b>instead of
uint32_t&nbsp;Data[8]</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
RTC </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="square">
<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
use&nbsp;CMSIS mask definition
instead of hardcoded values (</span><span style="text-align: start; float: none; word-spacing: 0px;"><span style="font-size: 9pt; font-family: &quot;Helvetica&quot;,sans-serif;">EXTI_IMR_IM17,
EXTI_IMR_IM<span class="grame"><span style="font-family: &quot;Helvetica&quot;,sans-serif;">19..</span></span></span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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
LTDC </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="square">
<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;">LTDC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
allow the drawing
of&nbsp;partial bitmap in
active layer.</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
USART </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="square">
<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_USART_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) fix USART
baud rate&nbsp;configuration
issue: USART baud rate is
twice Higher than expected</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
SMARTCARD </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="square">
<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_SMARTCARD_Transmit_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
force the disable for the ERR
interrupt to avoid the OVR
interrupt</span><span style=""><o:p></o:p></span></li>
<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_SMARTCARD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)
update&nbsp;check condition
for&nbsp;transmission end </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;">Clean up:
remove the&nbsp;following
literals that aren't used in
smartcard <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">SMARTCARD_PARITY_NONE</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: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">SMARTCARD_WORDLENGTH_8B</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: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">SMARTCARD_STOPBITS_1</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: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">SMARTCADR_STOPBITS_2</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
SPI </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="square">
<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;">HAL_SPI_Transmit_DMA()/HAL_SPI_Receive_DMA()/HAL_SPI_TarnsmitReceive_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
update to unlock
the&nbsp;process before
enabling the SPI peripheral</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">HAL_SPI_Transmit_</span></span><span class="grame"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">DMA(</span></span><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,sans-serif;">) update to
manage correctly the DMA RX
stream in SPI Full duplex mode</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;">Section
SPI_Exported_Functions_Group2&nbsp;update
to remove duplication in *.chm
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UM</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="square">
<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
manage <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">multi instance</span></span>:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
parameter Instance in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CRYP_HandleTypeDef</span></span>
Handle structure.</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
parameter in all HAL CRYP
macros</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">example:&nbsp;__HAL_CRYP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
&nbsp;updated by
__HAL_CRYP_ENABLE(__HANDLE__)</span><span style=""><o:p></o:p></span></li>
</ul>
</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
DCMI </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="square">
<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 an
extension
driver&nbsp;stm32f4xx_hal_dcmi_ex.c/h
to manage the support of new
Black and White feature</span><span style="">
<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add <i>&nbsp;_</i></span></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">_weak</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> attribute
for <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_Init</span></i></span><i>()</i>
function and add a new
implementation in the
extension driver to manage the
black and white configuration
only available in the&nbsp;
STM32F446xx 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;">Move <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DCMI_InitTypeDef</span></span>
structure to extension driver
and add&nbsp;the
following&nbsp;new fields
related to black and white
feature: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ByteSelectMode</span></span>,&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ByteSelectStart</span></span>,&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LineSelectMode</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LineSelectStart</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
PCD </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="square">
<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 the
support of LPM <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PCD_LPM_StateTypeDef</span></span>
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">enum</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;">update <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PCD_HandleTypeDef</span></span>
structure to support the LPM
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</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
functions <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCDEx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ActivateLPM(</span></span>),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCDEx_DeActivateLPM</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCDEx_LPM_Callback</span></span>()
in the
stm32f4xx_hal_pcd_ex.h/.c
files</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
TIM </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="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;
TIM</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">_TIM11_SPDIFRX
define</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
SAI </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="square">
<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
stm32f4xx_hal_sai_ex.h/.c
files for the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BlockSynchroConfig(</span></span>)
and the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_GetInputClock</span></span>()
management</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
defines HAL_SAI_ERROR_AFSDET,
HAL_SAI_ERROR_LFSDET,
HAL_SAI_ERROR_CNREADY,
HAL_SAI_ERROR_WCKCFG,
HAL_SAI_ERROR_TIMEOUT in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_Error_Code</span></span>
group</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
defines SAI_SYNCEXT_DISABLE,
SAI_SYNCEXT_IN_ENABLE,
SAI_SYNCEXT_OUTBLOCKA_ENABLE,
SAI_SYNCEXT_OUTBLOCKB_ENABLE
for the SAI External
synchronization </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
defines SAI_I2S_STANDARD,
SAI_I2S_MSBJUSTIFIED,
SAI_I2S_LSBJUSTIFIED,
SAI_PCM_LONG and SAI_PCM_SHORT
for the SAI Supported protocol</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
defines
SAI_PROTOCOL_DATASIZE_16BIT,
SAI_PROTOCOL_DATASIZE_16BITEXTENDED,
SAI_PROTOCOL_DATASIZE_24BIT
and
SAI_PROTOCOL_DATASIZE_32BIT
for SAI protocol data <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">size</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 SAI
Callback prototype <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">definition</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;">Update&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_InitTypeDef</span></span>
structure by adding new
fields: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SynchroExt</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Mckdiv</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MonoStereoMode</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CompandingMode</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TriState</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;">Update <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_HandleTypeDef</span></span>
structure:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">remove
uint16_t *<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pTxBuffPtr</span></span>,
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pRxBuffPtr</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxXferSize</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxXferSize</span></span>,
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxXferCount</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxXferCount</span></span>
and replace them
respectively by uint8_t *<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pBuffPtr</span></span>,
uint16_t <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferSize</span></span>&nbsp;and
uint16_t <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">XferCount</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mutecallback</span></span>
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">field</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 struct
__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SAI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hsai</span></span> <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">field</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;">Remove
SAI_CLKSOURCE_PLLR and
SAI_CLOCK_PLLSRC defines</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
SAI_CLKSOURCE_NA define</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
SAI_AUDIO_FREQUENCY_MCKDIV
define</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
SAI_SPDIF_PROTOCOL define</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
SAI_SYNCHRONOUS_EXT define</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
functions <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;">InitProtocol(</span></span>),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Abort</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_EnableTxMuteMode</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_DisableTxMuteMode</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_EnableRxMuteMode</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_DisableRxMuteMode</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;">Update <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;">Transmit(</span></span>),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Receive</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Transmit_IT</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Receive_IT</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Transmit_DMA</span></span>(),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAI_Receive_DMA</span></span>()
functions to use<b> uint8_t *<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pData</span></span>
</b>instead of <b>uint16_t *<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pData</span></span>
--&gt; This update is mainly
impacting the compatibility
with previous driver
version.</b></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
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="square">
<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;">Split the
following
functions&nbsp;between Generic
and Extended API based on full
duplex management and add the
attribute __weak in the
Generic <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>),
HAL_I2S_DMAPause(),&nbsp;HAL_I2S_DMAStop(),&nbsp;HAL_I2S_DMAResume(),&nbsp;HAL_I2S_IRQHandle()
<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;">Move the
following static functions
from generic to extension <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">driver</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMARxCplt(</span></span>)
and I2S_DMATxCplt()</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;">Remove static
attribute from I2S_Transmit_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and I2S_Receive_IT() functions</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;">Move I2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SxEXT(</span></span>)
macro to extension file</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
I2S_CLOCK_PLLR and
I2S_CLOCK_PLLSRC defines for
I2S clock <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">source</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
function I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetInputClock(</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
LL FMC </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="square">
<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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WriteFifo</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PageSize</span></span>
fields in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FMC_NORSRAM_InitTypeDef</span></span>
structure</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
FMC_PAGE_SIZE_NONE,
FMC_PAGE_SIZE_128,
FMC_PAGE_SIZE_256,
FMC_PAGE_SIZE_1024,
FMC_WRITE_FIFO_DISABLE,
FMC_WRITE_FIFO_ENABLE defines</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FMC_NORSRAM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>),
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FMC_NORSRAM_DeInit</span></span>()
and&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FMC_NORSRAM_Extended_Timing_Init</span></span>()&nbsp;functions</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 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="square">
<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;">USB_OTG_CfgTypeDef</span></span>
structure to support LPM, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">lpm_enable</span></span>
field <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">added</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;">Update <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;">HostInit(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USB_DevInit</span></span>()
functions to support the VBUS
Sensing B activation</span><span style=""><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.2.0
/ 26-December-2014</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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;">Maintenance
release to fix known defects
and enhancements <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">implementation</span></span></span></b><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="square">
<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;">Macros
and literals renaming to
ensure compatibles across
STM32 series</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">,
backward compatibility
maintained thanks to new added
file <i>stm32_hal_legacy.h </i>under
/Inc/<span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">Legacy</span></i></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
*.chm UM for all drivers, a UM
is provided for each superset <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RPN</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;">Update
drivers to be C++ <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">compliant</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;">Several
update on source code
formatting, for better UM
generation (<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">i.e.</span></span>
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Doxygen</span></span>
tags updated)</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;">Two
changes done on the HAL
requires an update on the
application code based on HAL
V1.1.0</span></b><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">LSI_VALUE</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> constant has
been corrected in
stm32f4xx_hal_conf.h file, its
value changed from 40 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KHz</span></span>
to 32 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KHz</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;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">UART</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">, <i>USART</i>,
<i>IRDA</i> and <i>SMARTCARD
</i>(referenced as <i>PPP</i>
here below)<i> </i>drivers:
in DMA transmit process, the
code has been updated to avoid
waiting on TC flag under DMA
ISR, <i>PPP</i> TC interrupt
is used instead. Below the
update to be done on user
application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the USART IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PPP_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_IRQHandler</span></span>()
function</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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;">stm32f4xx_hal_def.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 NULL
definition to fix C++
compilation <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">issue</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&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UNUSED(</span></span>)
macro</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add a new
define __NOINLINE to be used
for the&nbsp;no inline code
independent from tool <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">chain</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;">stm32f4xx_hal_conf_template.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">LSI_VALUE</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> constant
has been <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">corrected,</span></span>
its value changed from 40 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KHz</span></span>
to 32 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">KHz</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 all
macros and literals naming to
be <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">uper</span></span>
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">case</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> parameter in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PPP_HandleTypeDef</span></span>
structure updated
to&nbsp;uint32_t instead
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">enum</span></span> <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PPP_ErrorTypeDef</span></i></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;">Remove&nbsp;the
unused FLAG and IT assert <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">macros</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
ADC&nbsp;</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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix&nbsp;temperature
sensor channel configuration
issue for STM32F427/437<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">xx
&nbsp;and</span></span>&nbsp;STM32F429/439xx
devices</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
DAC </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 type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DAC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update the
access to the DAC peripheral
registers via the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hdac</span></span>
handle instance</span><span style=""><o:p></o:p></span></li>
<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_DAC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update to
check on both DAC_FLAG_DMAUDR1
and DAC_FLAG_DMAUDR2</span><span style=""><o:p></o:p></span></li>
<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_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">NoiseWaveGenerate(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update to
reset DAC CR register before
setting the new DAC
configuration</span><span style=""><o:p></o:p></span></li>
<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_DACEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TriangleWaveGenerate(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update to
reset DAC CR register before
setting the new DAC
configuration</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
CAN&nbsp;</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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Unlock the
CAN process when communication
error <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">occurred</span></span><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
CORTEX&nbsp;</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="square">
<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 macro
<i>IS_NVIC_DEVICE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQ(</span></span>)</i>
to check on negative values of
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQn</span></span>
parameter</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL CRYP&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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_CRYP_DESECB_Decrypt_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): fix the
inverted <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pPlainData</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">pCypherData</span></span>
parameters issue</span><span style=""><o:p></o:p></span></li>
<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;">CRYPEx_GCMCCM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetInitVector(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): remove
the&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IVSize</span></span>
parameter as the key length
192bits and 256bits are not
supported by this version</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&nbsp;restriction&nbsp;for
the CCM Encrypt/Decrypt API's
that</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">only <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DataType</span></span>
equal to 8bits is <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">supported</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_CRYPEx_AESGCM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Finish(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;restriction
that the implementation is
limited to 32bits inputs
data <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">length&nbsp; (</span></span>Plain/Cyphertext,
Header) compared with GCM <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">stadards</span></span>
specifications (800-38D)</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 Size
parameter on 32bits instead
of 16bits</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 issue
with 16-bit Data Type:
update to use intrinsic __<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ROR(</span></span>)
instead of __REV16()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL DCMI </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul type="square">
<ul type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DCMI_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigCROP(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): Invert
assert macros to check Y0 and
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Ysize</span></span>
parameters</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL DMA </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul type="square">
<ul type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):&nbsp;Update&nbsp;to
clear&nbsp;the DBM bit in the
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SxCR</span></span>
register before setting the
new configuration</span><span style=""><o:p></o:p></span></li>
<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;">DMA_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):
add&nbsp;to clear&nbsp;the DBM
bit in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SxCR</span></span>
register</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL FLASH </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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_"
prefix in the defined values
for the FLASH error <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">code</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Example:&nbsp;<i>FLASH_ERROR_PGP</i>
renamed by&nbsp;<b><i>HAL_</i></b><i>FLASH_ERROR_PGP</i></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;">Clear&nbsp;the
Flash <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
in the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WaitForLastOperation(</span></span>)
function</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 <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SetErrorCode(</span></span>)
function to use&nbsp;"|="
operant to update the Flash <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ErrorCode</span></span>
parameter in the FLASH handle</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IS_FLASH_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ADDRESS(</span></span>)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">: Update the
macro check using&nbsp;'&lt;='
condition instead of '&lt;'</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IS_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OPTIONBYTE(</span></span>)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">: Update the
macro check using&nbsp;'&lt;='
condition instead of '&lt;'</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&nbsp;"FLASH_"
prefix in the defined values
of FLASH Type Program
parameter</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Example:&nbsp;<i>TYPEPROGRAM_BYTE</i>
renamed by <b><i>FLASH_</i></b><i>TYPEPROGRAM_BYTE</i></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;">Add&nbsp;"FLASH_"
prefix in the defined values
of FLASH Type Erase parameter</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Example:&nbsp;<i>TYPEERASE_SECTORS</i>
renamed by <b><i>FLASH_</i></b><i>TYPEERASE_SECTORS</i></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;">Add&nbsp;"FLASH_"
prefix in the defined values
of FLASH Voltage Range
parameter</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Example: <i>VOLTAGE_RANGE_1</i>
renamed by <b><i>FLASH_</i></b><i>VOLTAGE_RANGE_1</i></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;">Add&nbsp;"OB_"
prefix in the defined values
of FLASH WRP State parameter</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Example: <i>WRPSTATE_ENABLE</i>
renamed by <b><i>OB_</i></b><i>WRPSTATE_ENABLE</i></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;">Add&nbsp;"OB_"
prefix in the defined values
of the FLASH PCROP State
parameter</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PCROPSTATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE</span></span></span></i><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;
updated</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> by <b><i>OB_</i></b><i>PCROP<b>_</b>STATE_DISABLE</i></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PCROPSTATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE</span></span></span></i><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
&nbsp;updated</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;by <b><i>OB_</i></b><i>PCROP<b>_</b>STATE_ENABLE</i></span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Change
"OBEX" prefix by
"OPTIONBYTE" prefix in these
defines:</span></i><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">OBEX_PCROP
by OPTIONBYTE_PCROP&nbsp;</span></i><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">OBEX_BOOTCONFIG
by OPTIONBYTE_BOOTCONFIG</span></i><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL ETH </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 macros
naming <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">typo</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
__HAL_ETH_EXTI_SET_RISING_E<b>GD</b>E_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</span></span>)
by
__HAL_ETH_EXTI_SET_RISING_E<b>DG</b>E_TRIGGER()<o:p></o:p></span></li>
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
__HAL_ETH_EXTI_SET_FALLING_E<b>GD</b>E_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</span></span>)
by&nbsp;__HAL_ETH_EXTI_SET_FALLING_E<b>DG</b>E_TRIGGER() <o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL PWR&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 API
to manage SLEEPONEXIT and
SEVONPEND bits of SCR <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">register</span></span></span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableSleepOnExit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""> <o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableSleepOnExit(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""> <o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableSEVOnPend(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""> <o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableSEVOnPend(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnterSTOPMode(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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&nbsp;to
clear the CORTEX SLEEPDEEP
bit of&nbsp;SCR register
before entering in sleep <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode</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;">Update
usage of __<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WFE(</span></span>)
in low power entry function:
if there is a pending event,
calling __WFE() will not
enter the CortexM4 core to
sleep mode. The solution is
to made the call below; the
first __<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WFE(</span></span>)
is always ignored and clears
the event if one was already
pending, the second is
always applied</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div style="margin-left: 1.25in;">
<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__SEV()</span><span style="font-size: 10pt;"><br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__WFE()</span><span style="font-size: 10pt;"><br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WFE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></p>
</div>
<ul type="square">
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
new&nbsp;PVD configuration <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">modes</span></span><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PWR_PVD_MODE_NORMAL</span><span style="font-size: 10pt;"> <o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PWR_PVD_MODE_EVENT_RISING&nbsp;</span><span style="font-size: 10pt;"> <o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PWR_PVD_MODE_EVENT_FALLING</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PWR_PVD_MODE_EVENT_RISING_FALLING</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
macros to manage PVD <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Trigger</span></span><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_PVD_EXTI_ENABLE_RISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"> <o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_PVD_EXTI_DISABLE_RISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span></span><span style="font-size: 10pt;"> <o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_PVD_EXTI_ENABLE_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"> <o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_PVD_EXTI_DISABLE_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"> <o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PVD macros:<o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Remove the
__EXTILINE__ parameter</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update to
use prefix "__HAL_PWR_PVD_"
instead <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">of &nbsp;prefix</span></span>
"__HAL_PVD"</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PVDConfig(</span></span>)
by&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_ConfigPVD</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ActivateOverDrive(</span></span>)
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_EnableOverDrive</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;">Rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeactivateOverDrive(</span></span>)
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_DisableOverDrive</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
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 type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_GPIO_Init</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">()/<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;">DeInit(</span></span>):</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> add a call
to the CMSIS&nbsp;assert macro
to check GPIO instance:
IS_GPIO_ALL_INSTANCE()&nbsp;</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_GPIO_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">WritePin(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update to
write&nbsp;in BSRR register</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;">Rename <i>GPIO_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SOURCE(</span></span>)
</i>by<i> GET_GPIO_INDEX() </i>and
move this later to file&nbsp;
stm32f4xx_hal_gpio_ex.h</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
define for alternate function<i>
GPIO_AF5_SPI3</i> for
STM32F429xx/439xx and
STM32F427xx/437xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</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
HASH </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="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_HASH_MD5_Start_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>):
</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">fix input
address management issue</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
RCC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Rename the
following <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Macros</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__PPP_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)&nbsp;
by
__HAL_RCC_PPP_CLK_ENABLE()</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;">__PPP_CLK_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)&nbsp;
by
__HAL_RCC_PPP_CLK_DISABLE()</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;">__PPP_FORCE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)&nbsp;
by
__HAL_RCC_PPP_FORCE_RESET()</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;">__PPP_RELEASE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RESET(</span></span>)&nbsp;
by
__HAL_RCC_PPP_RELEASE_RESET()</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;">__PPP_CLK_SLEEP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by
__HAL_RCC_PPP_CLK_SLEEP_ENABLE()</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;">__PPP_CLK_SLEEP_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by
__HAL_RCC_PPP_CLK_SLEEP_DISABLE()</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;">IS_RCC_PLLSAIN_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VALUE(</span></span>)
macro: update the check
condition</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
description of RCC known <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Limitations</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;">Rename <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;">C<b>C</b>SCallback(</span></span>)
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_C<b>S</b>SCallback</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">OscConfig(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) fix
issues:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove the
disable of HSE
oscillator&nbsp;when
HSE_BYPASS is&nbsp;used as
system clock source or as
PPL clock <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">source</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 a check
on HSERDY flag
when&nbsp;HSE_BYPASS is
selected as new state
for&nbsp;HSE oscillator.</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;">Rename
__HAL_RCC_I2<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SCLK(</span></span>)
by __HAL_RCC_I2S_Config()</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL I2S&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">: add check
on I2S instance
using&nbsp;CMSIS macro <i>IS_I2S_ALL_INSTANCE()&nbsp;</i></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;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
update for compliancy w/ C++</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 use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in __HAL_I2S_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OVRFLAG(</span></span>)
and __HAL_I2S_CLEAR_UDRFLAG()
macro for compliancy with C++</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_I2S_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetError(</span></span>)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">: update to
return uint32_t instead of
HAL_I2S_ErrorTypeDef
enumeration</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL I2C&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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&nbsp;to
clear&nbsp;the POS bit in the
CR1 register at the end
of&nbsp;HAL_I2C_Master_Read_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
and HAL_I2C_Mem_Read_IT()
process</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;">Rename
HAL_I2CEx_DigitalFilter_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Config(</span></span>)&nbsp;
by
HAL_I2CEx_ConfigDigitalFilter()
</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;">Rename
HAL_I2CEx_AnalogFilter_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Config(</span></span>)&nbsp;
by
HAL_I2CEx_ConfigAnalogFilter()
</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 use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in __HAL_I2C_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ADDRFLAG(</span></span>)
and __HAL_I2C_CLEAR_STOPFLAG()
macro for&nbsp;compliancy with
C++</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
IrDA </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="square">
<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;">DMA transmit
process; the code has been
updated to avoid waiting on TC
flag under DMA ISR, IrDA TC
interrupt is used instead.
Below the update to be done on
user application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the USART IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UASRTx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_IRQHandler</span></span>()
function</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;">IT transmit
process; the code has been
updated to avoid waiting on TC
flag under IRDA ISR, IrDA TC
interrupt is used instead. No
impact on user application</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;">Rename
Macros: add prefix "__HAL"</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__IRDA_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by __HAL_IRDA_ENABLE()</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;">__IRDA_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by __HAL_IRDA_DISABLE()</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;">Add new user
macros to manage the sample
method <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_IRDA_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</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;">__HAL_IRDA_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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 class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_Transmit_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update to
remove the enable of the
parity error interrupt</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 use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in __HAL_IRDA_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)
macro for&nbsp;compliancy with
C++</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_</span></i></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IRDA<i>_Transmit_</i></span></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update to
follow the
right&nbsp;procedure
"Transmission using DMA"&nbsp;
in the reference manual</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 clear
the TC flag in the SR
register before enabling the
DMA&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transmit</span></span>
request</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
IWDG </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="square">
<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;">Rename the
defined IWDG keys:&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">KR_KEY_RELOAD
by IWDG_KEY_RELOAD</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;">KR_KEY_ENABLE
by IWDG_KEY_ENABLE</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;">KR_KEY_EWA
by
IWDG_KEY_WRITE_ACCESS_ENABLE</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;">KR_KEY_DWA
by
IWDG_KEY_WRITE_ACCESS_DISABLE</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="">&nbsp;</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
macros
__HAL_IWDG_RESET_HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">STATE(</span></span>)
and
__HAL_IWDG_CLEAR_FLAG()&nbsp;</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
__HAL_IWDG_ENABLE_WRITE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ACCESS(</span></span>)
and
__HAL_IWDG_DISABLE_WRITE_ACCESS()
as private macro</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL SPI&nbsp;</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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_SPI_TransmitReceive_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
remove the &nbsp;DMA Tx Error
Callback initialization when
SPI <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxOnly</span></span>
mode is selected</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 use of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UNUSED(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>)
in __HAL_SPI_CLEAR_MODFFLAG(),
__HAL_SPI_CLEAR_OVRFLAG(),
__HAL_SPI_CLEAR_FREFLAG() to
fix "Unused variable" warning
with <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TrueSTUDIO</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;">Rename
Literals: remove "D" from
"DISABLED" and "ENABLED"</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">SPI_TIMODE_DISABLE<b>D</b>&nbsp;by
SPI_TIMODE_DISABLE</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;">SPI_TIMODE_ENABLE<b>D</b>&nbsp;by&nbsp;SPI_TIMODE_ENABLE</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;">SPI_CRCCALCULATION_DISABLE<b>D</b>
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">by
&nbsp;SPI</span></span>_CRCCALCULATION_DISABLE</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;">SPI_CRCCALCULATION_ENABLE<b>D</b>
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">by
&nbsp;SPI</span></span>_CRCCALCULATION_ENABLE</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;">Add use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in __HAL_SPI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MODFFLAG(</span></span>),
__HAL_SPI_CLEAR_FREFLAG() and
__HAL_SPI_CLEAR_OVRFLAG()
macros for&nbsp;compliancy
with C++</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL SDMMC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update</span><span style="color: black;"><o:p></o:p></span></p>
<ul type="square">
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IS_SDIO_ALL_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">INSTANCE(</span></span>)
&nbsp;macro moved to CMSIS
files</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
LTDC </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 type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_LTDC_ConfigCLUT</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">: optimize
the function when pixel format
is&nbsp;LTDC_PIXEL_FORMAT_AL44&nbsp;</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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
size of color look up table
to 16 instead of 256 when
the&nbsp;pixel format
is&nbsp;LTDC_PIXEL_FORMAT_AL44
</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
NAND </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="square">
<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;">Rename NAND
Address structure to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NAND_AddressType<b>D</b>ef</span></span>
instead of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NAND_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AddressTypedef</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;">Update the
used algorithm of these <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">functions</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_NAND_Read_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Page(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_NAND_Write_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Page(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_NAND_Read_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SpareArea(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<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_NAND_Write_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SpareArea(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_NAND_Write_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Page(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): move
initialization of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tickstart</span></span>
before while loop</span><span style=""><o:p></o:p></span></li>
<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_NAND_Erase_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Block(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): add <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">whait</span></span>
until NAND status is ready
before exiting this function</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
NOR </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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Rename NOR
Address structure to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NOR_AddressType<b>D</b>ef</span></span>
instead of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NOR_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">AddressTypedef</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;">NOR Status
literals <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">renamed</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">NOR_SUCCESS
by HAL_NOR_STATUS_SUCCESS</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;">NOR_ONGOING
by HAL_NOR_STATUS_ONGOING</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;">NOR_ERROR
by HAL_NOR_STATUS_ERROR</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;">NOR_TIMEOUT
by HAL_NOR_STATUS_TIMEOUT</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_NOR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetStatus(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
fix Timeout issue
and&nbsp;exit from waiting
loop when timeout occurred</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
PCCARD </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="square">
<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;">Rename PCCARD
Address structure to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCCARD_StatusType<b>D</b>ef</span></span>
instead of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CF_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">StatusTypedef</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;">PCCARD Status
literals <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">renamed</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">CF_SUCCESS
by HAL_PCCARD_STATUS_SUCCESS</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;">CF_ONGOING
by HAL_PCCARD_STATUS_ONGOING</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;">CF_ERROR
by&nbsp;HAL_PCCARD_STATUS_ERROR</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;">CF_TIMEOUT
by HAL_PCCARD_STATUS_TIMEOUT</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 "CF"
by "PCCARD" in&nbsp;functions,
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">literals</span></span>
and macros</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
PCD </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="square">
<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;">Rename <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">functions</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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_PCD_</span></span><span class="grame"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Active</span></b></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">RemoteWakeup(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_<b>Activate</b>RemoteWakeup</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_</span></span><span class="grame"><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DeActive</span></b></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">RemoteWakeup(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_<b>DeActivate</b>RemoteWakeup</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;">Rename <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">literals</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">USB_FS_EXTI_TRIGGER_RISING_EDGE
by
USB_OTG_FS_WAKEUP_EXTI_RISING_EDGE</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;">USB_FS_EXTI_TRIGGER_FALLING_EDGE
by
USB_OTG_FS_WAKEUP_EXTI_FALLING_EDGE</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;">USB_FS_EXTI_TRIGGER_BOTH_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</span></span>)
by
USB_OTG_FS_WAKEUP_EXTI_RISING_FALLING_EDGE</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;">USB_HS_EXTI_TRIGGER_RISING_EDGE
by
USB_OTG_HS_WAKEUP_EXTI_RISING_EDGE&nbsp;</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;">USB_HS_EXTI_TRIGGER_FALLING_EDGE
by
USB_OTG_HS_WAKEUP_EXTI_FALLING_EDGE</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;">USB_HS_EXTI_TRIGGER_BOTH_EDGE
by
USB_OTG_HS_WAKEUP_EXTI_RISING_FALLING_EDGE</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;">USB_HS_EXTI_LINE_WAKEUP
by
USB_OTG_HS_EXTI_LINE_WAKEUP</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;">USB_FS_EXTI_LINE_WAKEUP
by
USB_OTG_FS_EXTI_LINE_WAKEUP</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;">Rename USB
EXTI macros <i>(FS,</i> <i>HS
</i>referenced as <b>SUBBLOCK
</b>here below)</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
&nbsp;by&nbsp;
__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_IT()&nbsp;&nbsp;<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by&nbsp;__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_DISABLE_IT()<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
by&nbsp;__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_GET_FLAG()&nbsp;<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
by&nbsp;__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_CLEAR_FLAG()<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_SET_RISING_EGDE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</span></span>)
by&nbsp;__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_RISING_EDGE()<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_SET_FALLING_EGDE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</span></span>)
by __HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_FALLING_EDGE()<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_SET_FALLINGRISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</span></span>)
by&nbsp;__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE()<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;">__HAL_USB_<b>SUBBLOCK</b>_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</span></span>)&nbsp;
by&nbsp;__HAL_USB_OTG_<b>SUBBLOCK</b>_WAKEUP_EXTI_GENERATE_SWIT()&nbsp;&nbsp;&nbsp;</span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
RNG </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="square">
<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="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">functions</span></span></span><span style=""><o:p></o:p></span></li>
<ul type="square">
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GenerateRandomNumber(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): to
generate a 32-bits random
number,</span><span style="">
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">return
random value in argument and
return HAL status.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_GenerateRandomNumber_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): to
&nbsp;start generation of
the&nbsp;32-bits random
number, user should call
the&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_ReadLastRandomNumber</span></span>()
function under the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_ReadyCallback</span></span>()
to get the generated random
value.</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ReadLastRandomNumber(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">):&nbsp;to
return the last random value
stored in the RNG handle</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetRandomNumber(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): return
value update (obsolete),
replaced by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_GenerateRandomNumber</span></span>()</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_GetRandomNumber_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): wrong
implementation (obsolete),
replaced by&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RNG_GenerateRandomNumber_IT</span></span>()</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_RNG_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
macro (obsolete), replaced by
new __HAL_RNG_CLEAR_IT() macro</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
define for&nbsp;RNG ready
interrupt:&nbsp; RNG_IT_DRDY</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
RTC </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="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_RTC_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">GetTime(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RTC_GetDate</span></span>():
add the comment below</span></i><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<div style="margin-left: 30pt;">
<div style="margin-left: 30pt;">
<p class="MsoNormal" style=""><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;
* @note You must call <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RTC_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetDate(</span></span>)
after <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RTC_GetTime</span></span>()
to unlock the values </span></i><span style="font-size: 10pt;"><br>
</span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;
* in the higher-order
calendar shadow registers to
ensure consistency between
the time and date values.</span></i><span style="font-size: 10pt;"><br>
</span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;
* Reading RTC current time
locks the values in calendar
shadow registers until
Current date is read.&nbsp;</span></i><span style="font-size: 10pt;"><o:p></o:p></span></p>
</div>
</div>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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;">Rename
literals: add prefix "__<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL"</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">FORMAT_BIN&nbsp;by&nbsp;HAL_FORMAT_BIN</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;">FORMAT_BCD
by&nbsp;HAL_FORMAT_BCD</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;">Rename macros
<i>(ALARM,</i> WAKEUPTIMER and
<i>TIMESTAMP </i>referenced
as <b>SUBBLOCK </b>here
below)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_RTC_EXTI_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by&nbsp; __HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_IT()</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;">__HAL_RTC_EXTI_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by&nbsp; __HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_IT()</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;">__HAL_RTC_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
by&nbsp; __HAL_RTC_<b>SUBBLOCK</b>_EXTI_CLEAR_FLAG()</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;">__HAL_RTC_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</span></span>)
by __HAL_RTC_<b>SUBBLOCK</b>_EXTI_GENERATE_SWIT()</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;">Add new
macros <i>(ALARM,</i>
WAKEUPTIMER and <i>TAMPER_TIMESTAMP
</i>referenced as <b>SUBBLOCK
</b>here below)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_RTC_<b>SUBBLOCK</b>_GET_IT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SOURCE(</span></span>)&nbsp;</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;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EVENT(</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;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EVENT(</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;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_RISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;">__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_RISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;__HAL_RTC_<b>SUBBLOCK</b>_EXTI_ENABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;__HAL_RTC_<b>SUBBLOCK</b>_EXTI_DISABLE_RISING_FALLING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EDGE(</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;__HAL_RTC_<b>SUBBLOCK</b>_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</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
SAI </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="square">
<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
SAI_STREOMODE by&nbsp;SAI_ST<b>E</b>REOMODE</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 FIFO
status Level defines in upper
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">case</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;">Rename
literals: remove "D" from
"DISABLED" and "<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED"</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">SAI_OUTPUTDRIVE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLED
&nbsp;by</span></span>
SAI_OUTPUTDRIVE_DISABLE</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;">SAI_OUTPUTDRIVE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED
&nbsp;by</span></span>
SAI_OUTPUTDRIVE_ENABLE</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;">SAI_MASTERDIVIDER_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED&nbsp;&nbsp;by</span></span>
SAI_MASTERDIVIDER_ENABLE</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;">SAI_MASTERDIVIDER_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLED&nbsp;&nbsp;by</span></span>
SAI_MASTERDIVIDER_DISABLE</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
SD </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="square">
<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;">Rename
SD_CMD_SD_APP_STAUS&nbsp;by&nbsp;SD_CMD_SD_APP_STA<b>T</b>US</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SD_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PowerON(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">updated to
add 1ms required power up
waiting time before starting
the SD initialization sequence</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SD_DMA_RxCplt</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">()/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SD_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxCplt(</span></span>):
</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">add a call to
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Abort</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 class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ReadBlocks(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update to
set&nbsp;the&nbsp;defined
DATA_BLOCK_SIZE as SDIO <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DataBlockSize</span></span>
parameter</span><span style=""><o:p></o:p></span></li>
<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_SD_ReadBlocks_DMA</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">()/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SD_WriteBlocks_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
update to call the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_Start_IT</span></span>()
function with DMA&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Datalength</span></span>
set to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">BlockSize</span></span>/4&nbsp;
as the DMA&nbsp;is
configured&nbsp;in word&nbsp;</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
SMARTCARD </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update</span><span style="">&nbsp;<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">DMA transmit
process; the code has been
updated to avoid waiting on TC
flag under DMA ISR, SMARTCARD
TC interrupt is used instead.
Below the update to be done on
user application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the USART IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SAMRTCARD_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">UASRTx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SMARTCARD_IRQHandler</span></span>()
function</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;">IT transmit
process; the code has been
updated to avoid waiting on TC
flag under SMARTCARD
ISR,&nbsp;SMARTCARD TC
interrupt is used instead. No
impact on user application</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;">Rename
macros: add prefix "__<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL"</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__SMARTCARD_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by __HAL_SMARTCARD_ENABLE()</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;">__SMARTCARD_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by __HAL_SMARTCARD_DISABLE()</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;">__SMARTCARD_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by
__HAL_SMARTCARD_ENABLE_IT()</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;">__SMARTCARD_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by
__HAL_SMARTCARD_DISABLE_IT()</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;">__SMARTCARD_DMA_REQUEST_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by
__HAL_SMARTCARD_DMA_REQUEST_ENABLE()</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;">__SMARTCARD_DMA_REQUEST_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by
__HAL_SMARTCARD_DMA_REQUEST_DISABLE()</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;">Rename
literals: remove "D" from
"DISABLED" and "<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED"</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">SMARTCARD_NACK_ENABLED&nbsp;by
SMARTCARD_NACK_ENABLE</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;">SMARTCARD_NACK_DISABLED&nbsp;by&nbsp;SMARTCARD_NACK_DISABLE</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;">Add new user
macros to manage the sample
method <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_SMARTCARD_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</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;">__HAL_SMARTCARD_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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;">Add use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in
__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)
macro for&nbsp;compliancy with
C++</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_</span></i></span><span class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SMARTCARD<i>_Transmit_</i></span></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update to
follow the
right&nbsp;procedure
"Transmission using DMA"&nbsp;
in the reference manual</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 clear
the TC flag in the SR
register before enabling the
DMA&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transmit</span></span>
request</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
TIM </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="square">
<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
TIM_CHANNEL_ALL as possible
value for all Encoder
Start/Stop APIs Description</span><span style=""><o:p></o:p></span></li>
<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_TIM_OC_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) remove call
to IS_TIM_FAST_STATE() assert
macro</span><span style=""><o:p></o:p></span></li>
<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_TIM_PWM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) add a call
to IS_TIM_FAST_STATE() assert
macro to check the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OCFastMode</span></span>
parameter</span><span style=""><o:p></o:p></span></li>
<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_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMADelayPulseCplt(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) Update to
set the TIM Channel before to
call&nbsp; <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_PWM_PulseFinishedCallback</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMACaptureCplt(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) update to
set the TIM Channel before to
call&nbsp; <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_IC_CaptureCallback</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 class="spelle"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">TIM_ICx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigChannel(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)&nbsp;update
to fix Timer CCMR1 register
corruption when setting <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ICFilter</span></span>
parameter</span><span style=""><o:p></o:p></span></li>
<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_TIM_DMABurst_WriteStop</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">()/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_DMABurst_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ReadStop(</span></span>)
update to abort the DMA
transfer for the <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">specifc</span></span>
TIM channel</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
function for TIM Slave
configuration&nbsp;in IT mode:
<span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_SlaveConfigSynchronization_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></i></span><i>)&nbsp;</i></span><span style=""><o:p></o:p></span></li>
<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_TIMEx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">ConfigBreakDeadTime(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) add an
assert check on Break &amp; <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DeadTime</span></span>
parameters values</span><span style=""><o:p></o:p></span></li>
<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_TIMEx_OCN_Start_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) add the
enable of Break Interrupt for
all output modes</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
macros to ENABLE/DISABLE URS
bit in TIM CR1 register:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_TIM_URS_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</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;">__HAL_TIM_URS_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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;">Add new macro
for TIM Edge modification</span><span style="">:</span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
__HAL_TIM_SET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">CAPTUREPOLARITY(</span></span>)</span></i><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
UART </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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add&nbsp;IS_LIN_WORD_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LENGTH(</span></span>)
and
IS_LIN_OVERSAMPLING()&nbsp;
macros: to check respectively
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WordLength</span></span>
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OverSampling</span></span>
parameters in LIN mode</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA transmit
process; the code has been
updated to avoid waiting on TC
flag under DMA ISR, UART TC
interrupt is used instead.
Below the update to be done on
user application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the USART IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USARTx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_IRQHandler</span></span>()
function</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;">IT transmit
process; the code has been
updated to avoid waiting on TC
flag under UART&nbsp;ISR, UART
TC interrupt is used instead.
No impact on user application</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;">Rename
macros:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_UART_ONEBIT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by
__HAL_UART_ONE_BIT_SAMPLE_ENABLE()</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;">__HAL_UART_ONEBIT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by
__HAL_UART_ONE_BIT_SAMPLE_DISABLE()</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;">Rename
literals:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">UART_WAKEUPMETHODE_IDLELINE&nbsp;by
UART_WAKEUPMETHOD_IDLELINE</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;">UART_WAKEUPMETHODE_ADDRESSMARK&nbsp;by
UART_WAKEUPMETHOD_ADDRESSMARK</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;">Add use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in __HAL_UART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)
macro for&nbsp;compliancy with
C++</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_Transmit_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) </span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update to
follow the right procedure
"Transmission using DMA" in
the reference manual</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 clear
the TC flag in the SR
register before enabling the
DMA&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transmit</span></span>
request</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
USART </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 type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA transmit
process; the code has been
updated to avoid waiting on TC
flag under DMA ISR, USART TC
interrupt is used instead.
Below the update to be done on
user application:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Configure
and enable the USART IRQ in
<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">MspInit(</span></span>)
function</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;">In
stm32f4xx_it.c file, <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">USARTx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span>)
function: add a call to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_IRQHandler</span></span>()
function</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;">IT transmit
process; the code has been
updated to avoid waiting on TC
flag under USART&nbsp;ISR,
USART TC interrupt is used
instead. No impact on user
application</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update
to&nbsp;enable the USART
oversampling by 8 by default
in order to reach max USART
frequencies</span><span style=""><o:p></o:p></span></li>
<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;">USART_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMAReceiveCplt(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)&nbsp;update
to set the new USART state
after checking on the
old&nbsp;state</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_Transmit_DMA</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">()/<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_TransmitReceive_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></span>)
</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update to
follow the
right&nbsp;procedure
"Transmission using DMA"&nbsp;
in the reference manual</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 clear
the TC flag in the SR
register before enabling the
DMA&nbsp;<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">transmit</span></span>
request</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;">Rename
macros:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__USART_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</span></span>)
by __HAL_USART_ENABLE()</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;">__USART_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</span></span>)
by __HAL_USART_DISABLE()</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;">__USART_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by __HAL_USART_ENABLE_IT()</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;">__USART_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
by __HAL_USART_DISABLE_IT()</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;">Rename
literals: remove "D" from
"DISABLED" and "<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLED"</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">USART_CLOCK_DISABLED&nbsp;by
USART_CLOCK_DISABLE</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;">USART_CLOCK_ENABLED&nbsp;by
USART_CLOCK_ENABLE</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;">USARTNACK_ENABLED
by USART_NACK_ENABLE</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;">USARTNACK_DISABLED
by USART_NACK_DISABLE</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;">Add new user
macros to manage the sample
method <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">feature</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_USART_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">ENABLE(</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;">__HAL_USART_ONE_BIT_SAMPLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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;">Add use
of&nbsp;<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">tmpreg</span></span>
variable in __HAL_USART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)
macro for&nbsp;compliancy with
C++</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
WWDG </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="square">
<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
parameter in
__HAL_WWDG_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
macro</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
macros to manage WWDG IT &amp;
correction:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_WWDG_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DISABLE(</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;">__HAL_WWDG_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">__HAL_WWDG_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">__HAL_WWDG_GET_IT_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SOURCE(</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.1.0
/ 19-June-2014</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><o:p></o:p></p>
<ul style="margin-top: 0in; text-align: start; word-spacing: 0px;" type="square">
<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
support of<span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;">&nbsp;</span></span><b>STM32F411xE</b><span class="apple-converted-space"><span style="font-family: &quot;Verdana&quot;,sans-serif;"> </span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="square">
<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="square">
<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;">Enhance HAL
delay and time base <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 style="margin-top: 0in;" type="square">
<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;">Systick</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> timer is
used by default as source of
time base, but user can
eventually implement his
proper time base source (a <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">general
purpose</span></span>
timer for example or other
time source)</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;">Functions
affecting time base
configurations are declared
as __Weak to make override
possible in case of other
implementations in user
file, for more details
please refer to <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TimeBase</span></span>
example</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;">Fix flag
clear procedure: use atomic
write operation "=" instead of
ready-modify-write operation
"|=" or "&amp;="</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 on
Timeout management, Timeout
value set to 0 passed to API
automatically exits the
function after checking the
flag without any <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">wait</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;">Common update
for the following
communication peripherals:
SPI, UART, USART and IRDA</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 DMA
circular mode <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">support</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;">Remove lock
from recursive <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">process</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;">Add new macro
__HAL_RESET_HANDLE_STATE to
reset a given handle <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">state</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 a new
attribute for functions
executed from internal SRAM
and depending <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">from</span></span>
Compiler implementation</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;">When USE_RTOS
== 1 (in
stm32l0xx_hal_conf.h), the
__HAL_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">LOCK(</span></span>)
is not defined instead of
being defined empty</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;">Miscellaneous
comments and formatting update</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;">stm32f4xx_hal_conf_template.h</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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 new
define for LSI default value
LSI_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VALUE</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 a new
define for LSE default value
LSE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">VALUE</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 a new
define for Tick interrupt
priority TICK_INT_PRIORITY
(needed for the enhanced
time base implementation)</span><span style=""><o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><u><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Important
Note:</span></u></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">
aliases has been added for any
API naming change, to keep
compatibility with previous <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">version</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
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>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<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 new
macro <i>__HAL_GPIO_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</span></span>)</i>
to manage the generation of
software interrupt on selected
EXTI line</span><span style=""><o:p></o:p></span></li>
<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_GPIO_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): use
temporary variable when
modifying the registers, to
avoid unexpected transition in
the GPIO pin configuration</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;">Remove
IS_GET_GPIO_PIN macro</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 a new
function <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;">LockPin(</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;">Private Macro
__HAL_GET_GPIO_SOURCE renamed
into GET_GPIO_SOURCE</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 the
support of STM32F411xx <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">devices
:</span></span> add the
new Alternate functions values
related to new remap added for
SPI, USART, I2C</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
following HAL GPIO macros
description: rename <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EXTI_Linex</span></span>
by <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GPIO_PIN_x</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_GPIO_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">__HAL_GPIO_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">__HAL_GPIO_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</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;">__HAL_GPIO_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL DMA</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<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 in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_DMA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PollForTransfer(</span></span>)
to:</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">set DMA
error code in case of
HAL_ERROR status </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;">set HAL
Unlock before DMA state <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">update</span></span></span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL DMA2D</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">
update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<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
configuration of source
address in case of A8 or A4
M2M_PFC DMA2D mode</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
FLASH </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="circle">
<ul style="margin-top: 0in;" type="circle">
<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;">Functions
reorganization update,
depending on the features
supported by each STM32F4 <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">device</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;">Add new
driver
(stm32f4xx_hal_flash_ramfunc.h/.c)
to manage function executed
from RAM, these functions are
available only for STM32F411xx
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Devices</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">StopFlashInterfaceClk(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">&nbsp; :
Stop the flash interface
while System Run<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">StartFlashInterfaceClk(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> : Stop the
flash interface while System
Run<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableFlashSleepMode(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> : Enable
the flash sleep while System
Run<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">FLASH_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableFlashSleepMode(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> :&nbsp;
Disable the flash sleep
while System Run</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul type="square">
<li class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL
PWR </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">PVDConfig(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">: add clear
of the EXTI trigger before new
configuration </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 in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWR_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnterSTANDBYMode(</span></span>)
to not clear Wakeup flag
(WUF), which need to be
cleared at application level
before to call this function</span><span style=""><o:p></o:p></span></li>
<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_PWR_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnterSLEEPMode(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove
disable and enable of <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SysTick</span></span>
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Timer</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;">Update
usage of __<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WFE(</span></span>)
in low power entry function:
if there is a pending event,
calling __WFE() will not
enter the CortexM4 core to
sleep mode. The solution is
to made the call below; the
first __<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WFE(</span></span>)
is always ignored and clears
the event if one was already
pending, the second is
always applied</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div style="margin-left: 1.25in;">
<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__SEV()</span><span style="font-size: 10pt;"><br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__WFE()</span><span style="font-size: 10pt;"><br>
</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">WFE(</span></span>)</span><span style="font-size: 10pt;"><o:p></o:p></span></p>
</div>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="circle">
<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 macro
for software event generation
__HAL_PVD_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</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;">Remove the
following defines form Generic
driver and add them under
extension driver because they
are only used within extension
functions.</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">CR_FPDS_BB:
used within <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnableFlashPowerDown(</span></span>)
function</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;">CSR_BRE_BB:
used within <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnableBkUpReg(</span></span>)
function</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;">Add the
support of STM32F411xx devices
add the define <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">STM32F411xE</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">For
STM32F401xC, STM32F401xE and
STM32F411xE devices add the
following functions used to
enable or disable the low
voltage mode for <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">regulators</span></span><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="circle">
<ul style="margin-top: 0in;" type="circle">
<ul style="margin-top: 0in;" type="square">
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableMainRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableMainRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">EnableLowRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
<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_PWREx_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DisableLowRegulatorLowVoltage(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)<o:p></o:p></span></li>
</ul>
</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;">For
STM32F42xxx/43xxx devices, add
a new function for Under
Driver management as the macro
already added for this mode is
not sufficient: <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PWREx_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">EnterUnderDriveSTOPMode(</span></span>)</span><span style=""><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
RCC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">In <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCC_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">ClockConfig(</span></i></span><i>)</i>
function: update the AHB clock
divider before clock switch to
new source</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;">Allow to
calibrate the HSI when it is
used as system clock <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">source</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;">Rename the
following <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">macros</span></span><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__OTGFS_FORCE_RESET
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">()&nbsp; by</span></span>
__USB_OTG_FS_FORCE_RESET()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__OTGFS_RELEASE_RESET
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">()&nbsp; by</span></span>&nbsp;
__USB_OTG_FS_RELEASE_RESET()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__OTGFS_CLK_SLEEP_ENABLE
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">()&nbsp; by</span></span>&nbsp;
__USB_OTG_FS_CLK_SLEEP_ENABLE()<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__OTGFS_CLK_SLEEP_DISABLE
() <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">by&nbsp; _</span></span>_USB_OTG_FS_CLK_SLEEP_DISABLE()</span></i><span style=""><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p>&nbsp;</o:p></span></p>
<ul style="margin-top: 0in;" type="disc">
<ul style="margin-top: 0in;" type="circle">
<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 field
PLLI2SM in
RCC_PLLI2SInitTypeDef
structure, this division
factor is added for PLLI2S VCO
input clock only STM32F411xE
devices =&gt; the FW
compatibility is broken vs.
STM32F401xx devices <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 <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">PeriphCLKConfig(</span></i></span><i>)</i>
and&nbsp; <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_GetPeriphCLKConfig</span></i></span><i>()</i>&nbsp;
functions to support the new
PLLI2SM <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
function to manage the new LSE
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">mode
:</span></span> <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_RCCEx_SelectLSEMode</span></span>()</span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Reorganize
the macros depending <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">from</span></span>
Part number used and make them
more clear</span><span style="font-size: 10pt;"><o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp; </span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL
UART </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">update<o:p></o:p></span></p>
<ul type="square">
<ul type="square">
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add new
macros to control CTS and <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RTS</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 specific
macros to manage the flags
cleared only by a software <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">sequence</span></span></span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OREFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_UART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IDLEFLAG(</span></span>)</span></i><i><span style=""> <o:p></o:p></span></i></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;">Add several
enhancements without affecting
the driver <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">functionalities</span></span>
<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Remove the
check on RXNE set after
reading the Data in the DR
register</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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
transmit processes to use
TXE instead of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TC</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;">Update <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_UART_Transmit_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></i></span><i>)</i>
to enable <i>UART_IT_TXE</i>
instead of <i>UART_IT_TC</i></span><span style=""> <o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL USART</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">
update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 specific
macros to manage the flags
cleared only by a software <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">sequence</span></span></span><span style=""> <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OREFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_USART_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IDLEFLAG(</span></span>)</span></i><span style=""> <o:p></o:p></span></li>
</ul>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_USART_Transmit_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></i></span><i>)</i>
to enable <i>USART_IT_TXE</i>
instead of <i>USART_IT_TC</i></span><span style=""> <o:p></o:p></span></li>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL IRDA</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;"> update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 specific
macros to manage the flags
cleared only by a software <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">sequence</span></span></span><span style=""> <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_IRDA_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_
IRDA _CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_
IRDA _CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NEFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_
IRDA _CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OREFLAG(</span></span>)</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_
IRDA _CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IDLEFLAG(</span></span>)</span></i><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">Add several
enhancements without affecting
the driver <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">functionalities</span></span></span><span style=""> <o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<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;">Remove the
check on RXNE set after
reading the Data in the DR
register</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 <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_Transmit_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></i></span><i>)</i>
to enable <i>IRDA_IT_TXE</i>
instead of <i>IRDA_IT_TC</i></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;">Add the
following APIs used within DMA
<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">process</span></span>
<o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAPause(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hirda</span></span>);</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAResume(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hirda</span></span>);</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DMAStop(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hirda</span></span>);
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">void <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hirda</span></span>);</span></i><i><span style=""> </span></i><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">void <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IRDA_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">RxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IRDA_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hirda</span></span>);</span></i><span style=""> <o:p></o:p></span></li>
</ul>
</ul>
</ul>
<p class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in;"><span style="font-size: 10pt; font-family: Wingdings; color: black;">§</span><span style="font-size: 7pt; color: black;">&nbsp;
</span><b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">HAL SMARTCARD</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">
update</span><span style="color: black;"><o:p></o:p></span></p>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="square">
<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 specific
macros to manage the flags
cleared only by a software <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">sequence</span></span></span><span style=""> <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PEFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FEFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">NEFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">OREFLAG(</span></span>)</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_SMARTCARD_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IDLEFLAG(</span></span>)</span></i><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">Add several
enhancements without affecting
the driver <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">functionalities</span></span></span><span style=""> <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="circle">
<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 new
state <i>HAL_SMARTCARD_STATE_BUSY_TX_RX</i>
and all processes has been
updated <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">accordingly</span></span></span><span style=""> <o:p></o:p></span></li>
<li class="MsoNormal" style="color: black;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update <span class="spelle"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_SMARTCARD_Transmit_</span></i></span><span class="grame"><i><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></i></span><i>)</i>
to enable <i>SMARTCARD_IT_TXE</i>
instead of <i>SMARTCARD_IT_TC</i></span><span style=""> <o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
SPI</span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> update</span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Bugs <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">fix</span></span></span><span style=""> <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">SPI
interface is used in
synchronous polling mode: at
high clock rates like SPI <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">prescaler</span></span>
2 and 4, calling <br>
<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;">TransmitReceive(</span></span>)
returns with error
HAL_TIMEOUT</span><span style="">
<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SPI_TransmitReceive_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> does not
clean up the TX DMA, so any
subsequent SPI calls return
the DMA error</span><span style=""> <o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_SPI_Transmit_</span></i></span><span class="grame"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">DMA(</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> is failing
when data size is equal to 1
byte</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;">Add the
following APIs used within the
DMA <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">process</span></span></span><span style=""> </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<ul style="margin-top: 0in;" type="circle">
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <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;">DMAPause(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <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;">DMAResume(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><span class="spelle"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">HAL_StatusTypeDef</span></i></span><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> <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;">DMAStop(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">void <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;">TxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">void <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;">RxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hspi</span></span>);<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">void <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;">TxRxHalfCpltCallback(</span></span><span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SPI_HandleTypeDef</span></span>
*<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">hspi</span></span>);</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
RNG </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="circle">
<ul style="margin-top: 0in;" type="square">
<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
conditional define to make
this driver visible for all
STM32F4xx devices except
STM32F401xx and STM32F411xx
Devices. <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
CRC </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="circle">
<ul style="margin-top: 0in;" type="square">
<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;">These
macros are added to
read/write the CRC IDR
register: __HAL_CRC_SET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IDR(</span></span>)
and __HAL_CRC_GET_IDR()<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<ul style="margin-top: 0in;" type="square">
<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
DAC </span></b><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">update <o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">Enhance the
DMA channel configuration when
used with <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">DAC</span></span> <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
TIM </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="square">
<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_TIM_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">IRQHandler(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">): update to
check the input capture
channel 3 and 4 in CCMR2
instead of CCMR1</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;">__HAL_TIM_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">PRESCALER(</span></span>)
updated to use '=' instead of
'|='</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 the
following macro in TIM HAL
driver</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetCompare(</span></span>)
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetCounter(</span></span>)
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetAutoreload(</span></span>)
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetClockDivision(</span></span>)
<o:p></o:p></span></i></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__<span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_TIM_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">GetICPrescaler(</span></span>)</span></i><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
SDMMC </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="square">
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Use of CMSIS
constants instead of magic <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">values</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Miscellaneous
update in functions internal
coding</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
NAND </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="circle">
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix
issue of macros returning
wrong address for NAND <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">blocks</span></span></span><span style=""><o:p></o:p></span></li>
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Fix
issue for read/write NAND
page/spare <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">area</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
NOR </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="circle">
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Add
the NOR address bank macro
used within the <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">API</span></span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><o:p></o:p></span></li>
<li class="MsoNormal" style="margin-top: 4.5pt; margin-bottom: 4.5pt;"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">Update
NOR API implementation to
avoid the use of NOR address
bank hard <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">coded</span></span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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
HCD </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="circle">
<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;">HCD_StateTypeDef</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> structure
members <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">renamed</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 class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">These macro</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> are renamed</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>__HANDLE__,
__INTERRUPT__)&nbsp;&nbsp;&nbsp;
by
__HAL_HCD_GET_FLAG(__HANDLE__,
__INTERRUPT__)</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;">__HAL_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>__HANDLE__,
__INTERRUPT__) by
__HAL_HCD_CLEAR_FLAG(__HANDLE__,
__INTERRUPT__)&nbsp; </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;">__HAL_IS_INVALID_INTERRUPT(__HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">_)&nbsp;
by</span></span>
__HAL_HCD_IS_INVALID_INTERRUPT(__HANDLE__)&nbsp;
</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
PCD </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="circle">
<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_PCD_</span></span><span class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">SetTxFiFo(</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">) and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCD_SetRxFiFo</span></span>()
renamed into <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCDEx_SetTxFiFo</span></span>()
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_PCDEx_SetRxFiFo</span></span>()
and moved to the extension
files
stm32f4xx_hal_pcd_ex.h/.c</span><span style=""><o:p></o:p></span></li>
<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;">PCD_StateTypeDef</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> structure
members <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">renamed</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;">Fix incorrect
masking of <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TxFIFOEmpty</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;">stm32f4xx_ll_usb.c:
fix issue in HS mode</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;">New macros <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">added</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_PCD_IS_PHY_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SUSPENDED(</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;">__HAL_USB_HS_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</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;">__HAL_USB_FS_EXTI_GENERATE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">SWIT(</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 class="grame"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">These macro</span></span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"> are renamed</span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>__HANDLE__,
__INTERRUPT__)&nbsp;&nbsp;&nbsp;
by
__HAL_PCD_GET_FLAG(__HANDLE__,
__INTERRUPT__)</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;">__HAL_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>__HANDLE__,
__INTERRUPT__) by
__HAL_PCD_CLEAR_FLAG(__HANDLE__,
__INTERRUPT__)&nbsp; </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;">__HAL_IS_INVALID_INTERRUPT(__HANDLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">_)&nbsp;
by</span></span>
__HAL_PCD_IS_INVALID_INTERRUPT(__HANDLE__)&nbsp;
</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;">__HAL_PCD_UNGATE_CLOCK(__HANDLE__)
by
__HAL_PCD_UNGATE_PHYCLOCK(__HANDLE__)</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;">__HAL_PCD_GATE_CLOCK(__HANDLE__)
by
__HAL_PCD_GATE_PHYCLOCK(__HANDLE__)</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
ETH </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="circle">
<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_ETH_GetReceivedFrame_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</span></span>)
function to return HAL_ERROR
if the received packet is not
complete</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;">Use <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Delay(</span></span>)
instead of counting loop</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;__HAL_ETH_MAC_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)
macro is removed: the MACSR
register is read only</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 the
following macros used to Wake
up the device from STOP mode
by Ethernet <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">event
:</span></span></span><span style=""><o:p></o:p></span></li>
<ul style="margin-top: 0in;" type="square">
<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;">__HAL_ETH_EXTI_ENABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">__HAL_ETH_EXTI_DISABLE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">IT(</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;">__HAL_ETH_EXTI_GET_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)<o:p></o:p></span></li>
<li class="MsoNormal" style="color: black; margin-top: 4.5pt; margin-bottom: 4.5pt;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_ETH_EXTI_CLEAR_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">FLAG(</span></span>)</span></i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"><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;">__HAL_ETH_EXTI_SET_RISING_EGDE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</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;">__HAL_ETH_EXTI_SET_FALLING_EGDE_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</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;"><i><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">__HAL_ETH_EXTI_SET_FALLINGRISING_<span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">TRIGGER(</span></span>)</span></i><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
WWDG</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="circle">
<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 macro
parameters to use underscore:
__XXX__</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;">Use of CMSIS
constants instead of magic <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">values</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;">Use
MODIFY_REG macro in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</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
IS_WWDG_ALL_INSTANCE in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)
and <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_WWDG_DeInit</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
IWDG</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="circle">
<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;">Use WRITE_REG
instead of SET_BIT for all
IWDG <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">macros</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;">__HAL_IWDG_CLEAR_FLAG
removed: no IWDG flag cleared
by access to SR <span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">register</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;">Use
MODIFY_REG macro in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</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
IS_IWDG_ALL_INSTANCE in <span class="spelle"><span style="font-family: &quot;Verdana&quot;,sans-serif;">HAL_IWDG_</span></span><span class="grame"><span style="font-family: &quot;Verdana&quot;,sans-serif;">Init(</span></span>)Add
the following macros used to
Wake</span><span style=""><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.0.0
/ 18-February-2014</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="square">
<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;">First
official release</span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;"></span><span style="font-size: 10pt;">&nbsp;</span></li>
</ul>
<div class="MsoNormal" style="text-align: center;" align="center"><span style=""><hr align="center" size="2" width="100%"> </span></div>
<p class="MsoNormal" style="margin: 4.5pt 0in 4.5pt 0.25in; text-align: center;" align="center"><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif; color: black;">For
complete documentation on </span><span style="font-size: 10pt; font-family: &quot;Verdana&quot;,sans-serif;">STM32<span style="color: black;">
Microcontrollers visit </span><u><span style="color: blue;"><a href="http://www.st.com/internet/mcu/family/141.jsp" target="_blank">www.st.com/STM32</a></span></u></span><span style="color: black;"><o:p></o:p></span></p>
</td>
</tr>
<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;"><span style="font-size: 12pt;"><o:p>&nbsp;</o:p></span></h2>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style=""><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal" style=""><o:p>&nbsp;</o:p></p>
</div>
</div>
</body></html>