|
|
@@ -5,16 +5,24 @@
|
|
|
<meta name="generator" content="pandoc" />
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
|
<title>Release Notes for STM32WLxx HAL Drivers Package</title>
|
|
|
- <style type="text/css">
|
|
|
- code{white-space: pre-wrap;}
|
|
|
- span.smallcaps{font-variant: small-caps;}
|
|
|
- span.underline{text-decoration: underline;}
|
|
|
- div.column{display: inline-block; vertical-align: top; width: 50%;}
|
|
|
+ <style>
|
|
|
+ code{white-space: pre-wrap;}
|
|
|
+ span.smallcaps{font-variant: small-caps;}
|
|
|
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
|
+ div.column{flex: auto; overflow-x: auto;}
|
|
|
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
|
+ /* The extra [class] is a hack that increases specificity enough to
|
|
|
+ override a similar rule in reveal.js */
|
|
|
+ ul.task-list[class]{list-style: none;}
|
|
|
+ ul.task-list li input[type="checkbox"] {
|
|
|
+ font-size: inherit;
|
|
|
+ width: 0.8em;
|
|
|
+ margin: 0 0.8em 0.2em -1.6em;
|
|
|
+ vertical-align: middle;
|
|
|
+ }
|
|
|
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
|
</style>
|
|
|
<link rel="stylesheet" href="_htmresc/mini-st_2020.css" />
|
|
|
- <!--[if lt IE 9]>
|
|
|
- <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
|
|
- <![endif]-->
|
|
|
<link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
|
|
|
</head>
|
|
|
<body>
|
|
|
@@ -24,45 +32,238 @@
|
|
|
<h1 id="release-notes-for">Release Notes for</h1>
|
|
|
<h1 id="stm32wlxx-hal-drivers"><mark>STM32WLxx HAL Drivers</mark></h1>
|
|
|
<p>Copyright © 2020 STMicroelectronics</p>
|
|
|
-<a href="https://www.st.com" class="logo"><img src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
|
|
|
+<a href="https://www.st.com" class="logo"><img
|
|
|
+src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
|
|
|
</center>
|
|
|
<h1 id="purpose">Purpose</h1>
|
|
|
-<p>The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.</p>
|
|
|
-<p>The Portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code reusability and guarantees an easy portability on other devices and STM32 families.</p>
|
|
|
-<p>The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provide basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not Fully Portable across the STM32 families; the availability of some functions depend on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:</p>
|
|
|
-<ul>
|
|
|
-<li>New set of inline function for direct and atomic register access</li>
|
|
|
-<li>One-shot operations that can be used by the HAL drivers or from application level.</li>
|
|
|
-<li>Fully Independent from HAL and can be used in standalone usage (without HAL drivers)</li>
|
|
|
+<p>The STM32Cube HAL and LL, an STM32 abstraction layer embedded
|
|
|
+software, ensure maximized portability across STM32 portfolio.</p>
|
|
|
+<p>The Portable APIs layer provides a generic, multi instanced and
|
|
|
+simple set of APIs to interact with the upper layer (application,
|
|
|
+libraries and stacks). It is composed of native and extended APIs set.
|
|
|
+It is directly built around a generic architecture and allows the
|
|
|
+build-upon layers, like the middleware layer, to implement its functions
|
|
|
+without knowing in-depth the used STM32 device. This improves the
|
|
|
+library code reusability and guarantees an easy portability on other
|
|
|
+devices and STM32 families.</p>
|
|
|
+<p>The Low Layer (LL) drivers are part of the STM32Cube firmware HAL
|
|
|
+that provide basic set of optimized and one shot services. The Low layer
|
|
|
+drivers, contrary to the HAL ones are not Fully Portable across the
|
|
|
+STM32 families; the availability of some functions depend on the
|
|
|
+physical availability of the relative features on the product. The Low
|
|
|
+Layer (LL) drivers are designed to offer the following features:</p>
|
|
|
+<ul>
|
|
|
+<li>New set of inline function for direct and atomic register
|
|
|
+access</li>
|
|
|
+<li>One-shot operations that can be used by the HAL drivers or from
|
|
|
+application level.</li>
|
|
|
+<li>Fully Independent from HAL and can be used in standalone usage
|
|
|
+(without HAL drivers)</li>
|
|
|
<li>Full features coverage of the all the supported peripherals.</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
-<div class="col-sm-12 col-lg-8">
|
|
|
-<h1 id="update-history">Update History</h1>
|
|
|
+<section id="update-history" class="col-sm-12 col-lg-8">
|
|
|
+<h1>Update History</h1>
|
|
|
<div class="collapse">
|
|
|
-<input type="checkbox" id="collapse-section4" checked aria-hidden="true"> <label for="collapse-section4" aria-hidden="true"><strong>V1.3.0 / 09-November-2022</strong></label>
|
|
|
+<input type="checkbox" id="collapse-section5" checked aria-hidden="true">
|
|
|
+<label for="collapse-section5" aria-hidden="true"><strong>V1.3.1 /
|
|
|
+20-December-2024</strong></label>
|
|
|
<div>
|
|
|
<h2 id="main-changes">Main Changes</h2>
|
|
|
<ul>
|
|
|
-<li>Maintenance release of <strong>HAL and Low Layer</strong> drivers to include latest corrections</li>
|
|
|
-<li>Remove HAL_LOCK/HAL_UNLOCK calls in HAL_xxxx_RegisterCallback & HAL_xxxx_UnregisterCallback for IPs (DAC, IRDA, LPTIM, SMARTCARD, TIM, UART, USART)</li>
|
|
|
-<li>Enhance code quality (MISRA-C rules 8.13, 11.9) for some drivers: ADC, COMP, DMA, IRDA, LPTIM, SMARTCARD, TIM, UART, USART</li>
|
|
|
+<li>Patch release of <strong>HAL and Low Layer</strong> drivers to
|
|
|
+include latest corrections</li>
|
|
|
+<li>Update the following IPs Drivers: ADC, CORTEX, CRYP, DAC, GENERIC,
|
|
|
+GPIO, I2C, SMBUS, SPIU, SUBGHZ, TIM, UART, UTILS</li>
|
|
|
</ul>
|
|
|
<h2 id="contents">Contents</h2>
|
|
|
<h3 id="hal-drivers-updates"><strong>HAL Drivers</strong> updates</h3>
|
|
|
<ul>
|
|
|
<li><strong>HAL ADC</strong> driver
|
|
|
<ul>
|
|
|
+<li>Fix MISRA-C 2012 Rule 15.7 issue</li>
|
|
|
+<li>Improve de-init sequence by reset clock configuration on last step
|
|
|
+(otherwise, under specific clock source selection, some parameters can
|
|
|
+be not reset)</li>
|
|
|
+<li>Add CFGR1_CHSELRMOD bit to be reset by LL_ADC_DeInit() function</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL CORTEX</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update HAL_MPU_ConfigRegion() to allow the configuration of the MPU
|
|
|
+registers independently of the value of Enable/Disable field and add new
|
|
|
+APIs HAL_MPU_EnableRegion() / HAL_MPU_DisableRegion()</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL CRYP</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update AES GCM in interrupt mode to avoid Computation Completed IRQ
|
|
|
+fires before the DINR pointer increment</li>
|
|
|
+<li>Update Crypt/Decrypt IT processes to avoid Computation Completed IRQ
|
|
|
+fires before the DINR pointer increment</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL DAC</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Fix HAL DAC calibration procedure (function
|
|
|
+HAL_DACEx_SelfCalibrate() ) to manage case of calibration factor equal
|
|
|
+to range maximum value (previously, in this case calibration factor was
|
|
|
+reset, leading to voltage accuracy not optimal)</li>
|
|
|
+<li>Update DAC buffer calibration according to Reference Manual</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL Generic</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update of HAL_GetTickFreq() brief</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL I2C</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Remove HAL DMA dependency thanks to the HAL_DMA_MODULE_ENABLED
|
|
|
+define</li>
|
|
|
+<li>Solve Slave No stretch not functional by using HAL Slave
|
|
|
+interface</li>
|
|
|
+<li>Update I2C_WaitOnFlagUntilTimeout() API to handle error case</li>
|
|
|
+<li>Update HAL_I2C_Slave_Transmit() to check if the received NACK is the
|
|
|
+good one</li>
|
|
|
+<li>Update HAL_I2C_Init() API to clear ADD10 bit in 7 bit addressing
|
|
|
+mode</li>
|
|
|
+<li>Update I2C_GENERATE_START() macro to generate stop automatically in
|
|
|
+10 bit addressing mode</li>
|
|
|
+<li>Remove the unusable code in function HAL_I2C_IsDeviceReady</li>
|
|
|
+<li>Enhance HAL code quality for MISRA-C Rule-8.13 by adding const
|
|
|
+qualifiers</li>
|
|
|
+<li>Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF
|
|
|
+independently from I2C_FLAG_RXNE</li>
|
|
|
+<li>Update HAL I2C driver to prefetch data before starting the
|
|
|
+transmission: implementation of errata sheet workaround I2C2-190208 :
|
|
|
+Transmission stalled after first byte</li>
|
|
|
+<li>Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to
|
|
|
+prevent the call of HAL_I2C_ListenCpltCallback twice</li>
|
|
|
+<li>Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0</li>
|
|
|
+<li>Enhance HAL I2C to be thread safe</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL SMBUS</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update SMBUS_ITErrorHandler to flush TXDR just in case of error</li>
|
|
|
+<li>Enhance HAL code quality for MISRA-C Rule-8.13 by adding const
|
|
|
+qualifiers</li>
|
|
|
+<li>Update HAL SMBUS driver to prefetch data before starting the
|
|
|
+transmission: implementation of errata sheet workaround I2C2-190208 :
|
|
|
+Transmission stalled after first byte</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL SPI</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update HAL_SPI_TransmitReceive API to set the bit CRCNEXT in case of
|
|
|
+one byte transaction</li>
|
|
|
+<li>Update IT API to enable interrupts after process unlock</li>
|
|
|
+<li>Fix driver to don’t update state in case of error
|
|
|
+(HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT)</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL SUBGHZ</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Change macro from ‘CM0PLUS’ to ‘CORE_CM0PLUS’ as in preprocessor
|
|
|
+directives</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL TIM</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update interrupt flag is cleared when the update event is generated
|
|
|
+by software</li>
|
|
|
+<li>Remove multiple volatile reads or writes in interrupt handler for
|
|
|
+better performance</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL UART</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Avoid RTOF flag to be cleared by a transmit process in polling
|
|
|
+mode</li>
|
|
|
+<li>Fix incorrect gState check in
|
|
|
+HAL_UART_RegisterRxEventCallback/HAL_UART_UnRegisterRxEventCallback to
|
|
|
+allow user Rx Event Callback registration when a transmit is
|
|
|
+ongoing</li>
|
|
|
+<li>Update initialisation sequence for TXINV, RXINV and TXRXSWAP
|
|
|
+settings</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>HAL UTILS</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Fix UFQFPN48 package definition<br />
|
|
|
+</li>
|
|
|
+</ul></li>
|
|
|
+</ul>
|
|
|
+<h3 id="ll-drivers-updates"><strong>LL Drivers</strong> updates</h3>
|
|
|
+<ul>
|
|
|
+<li><strong>LL GPIO</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Remove a redundant call to LL_GPIO_SetPinMode() within the
|
|
|
+LL_GPIO_Init() API</li>
|
|
|
+</ul></li>
|
|
|
+<li><strong>LL I2C</strong> driver
|
|
|
+<ul>
|
|
|
+<li>Update LL_I2C_HandleTranfer function to prevent undefined behavior
|
|
|
+of volatile usage before updating the CR2 register</li>
|
|
|
+<li>Enhance HAL code quality for MISRA-C Rule-8.13 by adding const
|
|
|
+qualifiers<br />
|
|
|
+</li>
|
|
|
+</ul></li>
|
|
|
+</ul>
|
|
|
+<h2 id="known-limitations">Known Limitations</h2>
|
|
|
+<p>None</p>
|
|
|
+<h2 id="development-toolchains-and-compilers">Development Toolchains and
|
|
|
+Compilers</h2>
|
|
|
+<ul>
|
|
|
+<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1 + <a
|
|
|
+href="./../../Utilities/PC_Software/EWARMv8_STM32WLxx_V4.9_Signed.zip">Patch
|
|
|
+EWARM</a></li>
|
|
|
+<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.36 +
|
|
|
+<a
|
|
|
+href="./../../Utilities/PC_Software/Keil.STM32WLxx_DFP.1.1.1.zip">Keil
|
|
|
+DFP V1.1.1 Pack</a></li>
|
|
|
+<li>STM32CubeIDE 1.11.0 (GNU Tools for STM32 10.3-2021.10)</li>
|
|
|
+</ul>
|
|
|
+<h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
|
|
|
+<p>Supported Devices:</p>
|
|
|
+<ul>
|
|
|
+<li>STM32WL55xx</li>
|
|
|
+<li>STM32WL54xx</li>
|
|
|
+<li>STM32WLE5xx</li>
|
|
|
+<li>STM32WLE4xx</li>
|
|
|
+<li>STM32WL5Mxx</li>
|
|
|
+</ul>
|
|
|
+<h2 id="backward-compatibility">Backward Compatibility</h2>
|
|
|
+<p>Not applicable</p>
|
|
|
+<h2 id="dependencies">Dependencies</h2>
|
|
|
+<p>None</p>
|
|
|
+<p><br />
|
|
|
+</p>
|
|
|
+</div>
|
|
|
+</div>
|
|
|
+<div class="collapse">
|
|
|
+<input type="checkbox" id="collapse-section4" aria-hidden="true">
|
|
|
+<label for="collapse-section4" aria-hidden="true"><strong>V1.3.0 /
|
|
|
+09-November-2022</strong></label>
|
|
|
+<div>
|
|
|
+<h2 id="main-changes-1">Main Changes</h2>
|
|
|
+<ul>
|
|
|
+<li>Maintenance release of <strong>HAL and Low Layer</strong> drivers to
|
|
|
+include latest corrections</li>
|
|
|
+<li>Remove HAL_LOCK/HAL_UNLOCK calls in HAL_xxxx_RegisterCallback &
|
|
|
+HAL_xxxx_UnregisterCallback for IPs (DAC, IRDA, LPTIM, SMARTCARD, TIM,
|
|
|
+UART, USART)</li>
|
|
|
+<li>Enhance code quality (MISRA-C rules 8.13, 11.9) for some drivers:
|
|
|
+ADC, COMP, DMA, IRDA, LPTIM, SMARTCARD, TIM, UART, USART</li>
|
|
|
+</ul>
|
|
|
+<h2 id="contents-1">Contents</h2>
|
|
|
+<h3 id="hal-drivers-updates-1"><strong>HAL Drivers</strong> updates</h3>
|
|
|
+<ul>
|
|
|
+<li><strong>HAL ADC</strong> driver
|
|
|
+<ul>
|
|
|
<li>Disable AutoPowerOff when performing calibration</li>
|
|
|
-<li>Rename ADC_TRx registers to AWDxTR to be in accordance with the Reference Manual</li>
|
|
|
+<li>Rename ADC_TRx registers to AWDxTR to be in accordance with the
|
|
|
+Reference Manual</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL CORTEX</strong> driver
|
|
|
<ul>
|
|
|
-<li>Remove #define LL_MPU_TEX_LEVEL4 (no Level 2 cache for STM32 SoC with Armv7-M cortex)</li>
|
|
|
+<li>Remove #define LL_MPU_TEX_LEVEL4 (no Level 2 cache for STM32 SoC
|
|
|
+with Armv7-M cortex)</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL CRC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Add filter in HAL_CRCEx_Polynomial_Set() function to exclude even polynomials</li>
|
|
|
+<li>Add filter in HAL_CRCEx_Polynomial_Set() function to exclude even
|
|
|
+polynomials</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL CRYP</strong> driver
|
|
|
<ul>
|
|
|
@@ -75,72 +276,90 @@
|
|
|
</ul></li>
|
|
|
<li><strong>HAL EXTI</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine()</li>
|
|
|
+<li>Fix computation of pExtiConfig->GPIOSel in
|
|
|
+HAL_EXTI_GetConfigLine()</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL Generic</strong> driver
|
|
|
<ul>
|
|
|
-<li>Add HAL_RADIO APIs to handle Radio services (only for STM32WL5M)</li>
|
|
|
+<li>Add HAL_RADIO APIs to handle Radio services (only for
|
|
|
+STM32WL5M)</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL I2C</strong> driver
|
|
|
<ul>
|
|
|
<li>Fix Timeout issue using HAL MEM interface through FreeRTOS</li>
|
|
|
<li>Fix I2C_IsErrorOccurred returning error if timeout is detected</li>
|
|
|
-<li>Fix ADDRF flag cleared too early when the restart is received but the direction has changed</li>
|
|
|
+<li>Fix ADDRF flag cleared too early when the restart is received but
|
|
|
+the direction has changed</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL IRDA</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig()</li>
|
|
|
+<li>Fix wrong cast when computing the USARTDIV value in
|
|
|
+IRDA_SetConfig()</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL LPTIM</strong> driver
|
|
|
<ul>
|
|
|
<li>Enhance LPTIM state management</li>
|
|
|
-<li>Fix IS_LPTIM_AUTORELOAD & IS_LPTIM_PERIOD macros to check that AutoReload value must be strictly greater than 0</li>
|
|
|
+<li>Fix IS_LPTIM_AUTORELOAD & IS_LPTIM_PERIOD macros to check that
|
|
|
+AutoReload value must be strictly greater than 0</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL RCC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Optimize HAL_RCC_OscConfig function when checking if oscillator is ready</li>
|
|
|
+<li>Optimize HAL_RCC_OscConfig function when checking if oscillator is
|
|
|
+ready</li>
|
|
|
<li>Optimize HAL_RCC_GetOscConfig function</li>
|
|
|
-<li>Remove GPIO configuration in HAL_RCCEx_EnableLSCO & HAL_RCCEx_DisableLSCO functions</li>
|
|
|
+<li>Remove GPIO configuration in HAL_RCCEx_EnableLSCO &
|
|
|
+HAL_RCCEx_DisableLSCO functions</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL RTC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Improve HAL_RTC_Init function to avoid initialization if already done</li>
|
|
|
+<li>Improve HAL_RTC_Init function to avoid initialization if already
|
|
|
+done</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL SMARTCARD</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig() function</li>
|
|
|
+<li>Fix wrong cast when computing the USARTDIV value in
|
|
|
+SMARTCARD_SetConfig() function</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL SUBGHZ</strong> driver
|
|
|
<ul>
|
|
|
<li>Clear the interrupt CR register just after having read it</li>
|
|
|
-<li>Support new feature LoraFHSS (Lora Frequency Hopping Spread Spectrum)</li>
|
|
|
-<li>Add new state HAL_SUBGHZ_STATE_RESET_RF_READY to avoid to reinitialize RF on existing from Standby mode</li>
|
|
|
+<li>Support new feature LoraFHSS (Lora Frequency Hopping Spread
|
|
|
+Spectrum)</li>
|
|
|
+<li>Add new state HAL_SUBGHZ_STATE_RESET_RF_READY to avoid to
|
|
|
+reinitialize RF on existing from Standby mode</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL TIM</strong> driver
|
|
|
<ul>
|
|
|
<li>Improve driver robustness against wrong period values</li>
|
|
|
<li>Improve driver robustness against wrong DMA related parameters</li>
|
|
|
-<li>Add new __HAL_TIM_SELECT_CCDMAREQUEST() macro to select CCx DMA source</li>
|
|
|
+<li>Add new __HAL_TIM_SELECT_CCDMAREQUEST() macro to select CCx DMA
|
|
|
+source</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL UART</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix wrong cast when computing the USARTDIV value in UART_SetConfig() function</li>
|
|
|
-<li>Add HAL_UARTEx_GetRxEventType function to retrieve the type of event that has led the RxEventCallback execution</li>
|
|
|
-<li>Remove HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs to fix a concurrent access issue</li>
|
|
|
-<li>Disable the Receiver Timeout Interrupt when data reception is completed</li>
|
|
|
+<li>Fix wrong cast when computing the USARTDIV value in UART_SetConfig()
|
|
|
+function</li>
|
|
|
+<li>Add HAL_UARTEx_GetRxEventType function to retrieve the type of event
|
|
|
+that has led the RxEventCallback execution</li>
|
|
|
+<li>Remove HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs to fix a
|
|
|
+concurrent access issue</li>
|
|
|
+<li>Disable the Receiver Timeout Interrupt when data reception is
|
|
|
+completed</li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
-<h3 id="ll-drivers-updates"><strong>LL Drivers</strong> updates</h3>
|
|
|
+<h3 id="ll-drivers-updates-1"><strong>LL Drivers</strong> updates</h3>
|
|
|
<ul>
|
|
|
<li><strong>LL LPTIM</strong> driver
|
|
|
<ul>
|
|
|
-<li>Enhance code quality by renaming all functions LL_LPTIM_ClearFLAG_Xxxxx with LL_LPTIM_ClearFlag_Xxxxx</li>
|
|
|
+<li>Enhance code quality by renaming all functions
|
|
|
+LL_LPTIM_ClearFLAG_Xxxxx with LL_LPTIM_ClearFlag_Xxxxx</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL System</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix LL_SYSCFG_GetEXTISource function which returned wrong result on M4 core</li>
|
|
|
+<li>Fix LL_SYSCFG_GetEXTISource function which returned wrong result on
|
|
|
+M4 core</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL USART</strong> driver
|
|
|
<ul>
|
|
|
@@ -148,20 +367,28 @@
|
|
|
</ul></li>
|
|
|
<li><strong>LL Utils</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix a wrong parameter of __LL_RCC_CALC_MSI_FREQ given erroneous PLL frequency</li>
|
|
|
+<li>Fix a wrong parameter of __LL_RCC_CALC_MSI_FREQ given erroneous PLL
|
|
|
+frequency</li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
-<h2 id="known-limitations">Known Limitations</h2>
|
|
|
+<h2 id="known-limitations-1">Known Limitations</h2>
|
|
|
<p>None</p>
|
|
|
-<h2 id="development-toolchains-and-compilers">Development Toolchains and Compilers</h2>
|
|
|
-<ul>
|
|
|
-<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1 + <a href="./../../Utilities/PC_Software/EWARMv8_STM32WLxx_V4.9_Signed.zip">Patch EWARM</a></li>
|
|
|
-<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.36 + <a href="./../../Utilities/PC_Software/Keil.STM32WLxx_DFP.1.1.1.zip">Keil DFP V1.1.1 Pack</a></li>
|
|
|
+<h2 id="development-toolchains-and-compilers-1">Development Toolchains
|
|
|
+and Compilers</h2>
|
|
|
+<ul>
|
|
|
+<li>IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1 + <a
|
|
|
+href="./../../Utilities/PC_Software/EWARMv8_STM32WLxx_V4.9_Signed.zip">Patch
|
|
|
+EWARM</a></li>
|
|
|
+<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.36 +
|
|
|
+<a
|
|
|
+href="./../../Utilities/PC_Software/Keil.STM32WLxx_DFP.1.1.1.zip">Keil
|
|
|
+DFP V1.1.1 Pack</a></li>
|
|
|
<li>STM32CubeIDE 1.11.0 (GNU Tools for STM32 10.3-2021.10)</li>
|
|
|
</ul>
|
|
|
-<h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
|
|
|
+<h2 id="supported-devices-and-boards-1">Supported Devices and
|
|
|
+boards</h2>
|
|
|
<p>Supported Devices:</p>
|
|
|
<ul>
|
|
|
<li>STM32WL55xx</li>
|
|
|
@@ -170,60 +397,74 @@
|
|
|
<li>STM32WLE4xx</li>
|
|
|
<li>STM32WL5Mxx</li>
|
|
|
</ul>
|
|
|
-<h2 id="backward-compatibility">Backward Compatibility</h2>
|
|
|
+<h2 id="backward-compatibility-1">Backward Compatibility</h2>
|
|
|
<p>Not applicable</p>
|
|
|
-<h2 id="dependencies">Dependencies</h2>
|
|
|
+<h2 id="dependencies-1">Dependencies</h2>
|
|
|
<p>None</p>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="collapse">
|
|
|
-<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="true"><strong>V1.2.0 / 4-February-2022</strong></label>
|
|
|
+<input type="checkbox" id="collapse-section3" aria-hidden="true">
|
|
|
+<label for="collapse-section3" aria-hidden="true"><strong>V1.2.0 /
|
|
|
+4-February-2022</strong></label>
|
|
|
<div>
|
|
|
-<h2 id="main-changes-1">Main Changes</h2>
|
|
|
+<h2 id="main-changes-2">Main Changes</h2>
|
|
|
<ul>
|
|
|
-<li>Maintenance release of <strong>HAL and Low Layer</strong> drivers to include latest corrections</li>
|
|
|
-<li>All source files: update disclaimer to add reference to the new license agreement</li>
|
|
|
+<li>Maintenance release of <strong>HAL and Low Layer</strong> drivers to
|
|
|
+include latest corrections</li>
|
|
|
+<li>All source files: update disclaimer to add reference to the new
|
|
|
+license agreement</li>
|
|
|
<li>Correct English spelling errors and typos</li>
|
|
|
</ul>
|
|
|
-<h2 id="contents-1">Contents</h2>
|
|
|
-<h3 id="hal-drivers-updates-1"><strong>HAL Drivers</strong> updates</h3>
|
|
|
+<h2 id="contents-2">Contents</h2>
|
|
|
+<h3 id="hal-drivers-updates-2"><strong>HAL Drivers</strong> updates</h3>
|
|
|
<ul>
|
|
|
<li><strong>HAL ADC</strong> driver
|
|
|
<ul>
|
|
|
<li>Enhance ADC calibration to reduce noise effect</li>
|
|
|
-<li>Fix write access to registers ADC_CFGR1 and ADC_CFGR2 in HAL_ADC_Init() and HAL_ADC_AnalogWDGConfig() functions</li>
|
|
|
+<li>Fix write access to registers ADC_CFGR1 and ADC_CFGR2 in
|
|
|
+HAL_ADC_Init() and HAL_ADC_AnalogWDGConfig() functions</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL GPIO</strong> driver
|
|
|
<ul>
|
|
|
-<li>Reorder EXTI config in HAL_GPIO_Init/HAL_GPIO_DeInit to avoid unexpected level detection</li>
|
|
|
-<li>Add new HAL_GPIO_WriteMultipleStatePin() API for multiple pin access in same cycle</li>
|
|
|
+<li>Reorder EXTI config in HAL_GPIO_Init/HAL_GPIO_DeInit to avoid
|
|
|
+unexpected level detection</li>
|
|
|
+<li>Add new HAL_GPIO_WriteMultipleStatePin() API for multiple pin access
|
|
|
+in same cycle</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL I2C</strong> driver
|
|
|
<ul>
|
|
|
<li>Fix written reserved bit 28 in I2C_CR2 register</li>
|
|
|
<li>Improve I2C_WaitOnFlagUntilTimeout() description to match code</li>
|
|
|
<li>Update to handle errors in polling mode</li>
|
|
|
-<li>Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs</li>
|
|
|
-<li>Fix some communication issue due to low system frequency execution (HSI)</li>
|
|
|
+<li>Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and
|
|
|
+correctly manage when error occurs</li>
|
|
|
+<li>Fix some communication issue due to low system frequency execution
|
|
|
+(HSI)</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL IRDA</strong> driver
|
|
|
<ul>
|
|
|
-<li>Improve header description of IRDA_WaitOnFlagUntilTimeout() function</li>
|
|
|
-<li>Add a check on the IRDA parity before enabling the parity error interrupt</li>
|
|
|
+<li>Improve header description of IRDA_WaitOnFlagUntilTimeout()
|
|
|
+function</li>
|
|
|
+<li>Add a check on the IRDA parity before enabling the parity error
|
|
|
+interrupt</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL LPTIM</strong> driver
|
|
|
<ul>
|
|
|
-<li>Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()</li>
|
|
|
+<li>Add check on PRIMASK register to prevent from enabling unwanted
|
|
|
+global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL RCC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Enhance RCC_MCOx in order to support both MCO number and AF mapping</li>
|
|
|
+<li>Enhance RCC_MCOx in order to support both MCO number and AF
|
|
|
+mapping</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL SMARTCARD</strong> driver
|
|
|
<ul>
|
|
|
-<li>Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function</li>
|
|
|
+<li>Improve header description of SMARTCARD_WaitOnFlagUntilTimeout()
|
|
|
+function</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL SMBUS</strong> driver
|
|
|
<ul>
|
|
|
@@ -232,27 +473,34 @@
|
|
|
<li>HAL_SMBUSEx_EnableWakeUp()</li>
|
|
|
<li>HAL_SMBUSEx_DisableWakeUp()</li>
|
|
|
</ul></li>
|
|
|
-<li>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</li>
|
|
|
+<li>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</li>
|
|
|
<li>Add flush on TX register</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL TIM</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix incorrect behavior of the timer if input signal changes before the end of timer configuration</li>
|
|
|
+<li>Fix incorrect behavior of the timer if input signal changes before
|
|
|
+the end of timer configuration</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL UART</strong> driver
|
|
|
<ul>
|
|
|
-<li>Improve header description of UART_WaitOnFlagUntilTimeout() function</li>
|
|
|
-<li>Add a check on the UART parity before enabling the parity error interruption</li>
|
|
|
+<li>Improve header description of UART_WaitOnFlagUntilTimeout()
|
|
|
+function</li>
|
|
|
+<li>Add a check on the UART parity before enabling the parity error
|
|
|
+interruption</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL USART</strong> driver
|
|
|
<ul>
|
|
|
-<li>Improve header description of USART_WaitOnFlagUntilTimeout() function</li>
|
|
|
-<li>Add a check on the USART parity before enabling the parity error interruption</li>
|
|
|
+<li>Improve header description of USART_WaitOnFlagUntilTimeout()
|
|
|
+function</li>
|
|
|
+<li>Add a check on the USART parity before enabling the parity error
|
|
|
+interruption</li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
-<h3 id="ll-drivers-updates-1"><strong>LL Drivers</strong> updates</h3>
|
|
|
+<h3 id="ll-drivers-updates-2"><strong>LL Drivers</strong> updates</h3>
|
|
|
<ul>
|
|
|
<li><strong>LL ADC</strong> driver
|
|
|
<ul>
|
|
|
@@ -264,7 +512,8 @@
|
|
|
</ul></li>
|
|
|
<li><strong>LL CRC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Rectified <span class="citation" data-cites="brief">@brief</span> of LL_CRC_GetOutputDataReverseMode() API</li>
|
|
|
+<li>Rectified <span class="citation" data-cites="brief">@brief</span> of
|
|
|
+LL_CRC_GetOutputDataReverseMode() API</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL LPUART</strong> driver
|
|
|
<ul>
|
|
|
@@ -272,8 +521,11 @@
|
|
|
</ul></li>
|
|
|
<li><strong>LL RCC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Add missing API: LL_RCC_PLL_IsEnabledDomain_ADC, LL_RCC_PLL_IsEnabledDomain_RNG, LL_RCC_PLL_IsEnabledDomain_I2S, LL_RCC_PLL_IsEnabledDomain_SYS</li>
|
|
|
-<li>Add check of PLL enable bit when a peripheral using PPL P or PLL Q</li>
|
|
|
+<li>Add missing API: LL_RCC_PLL_IsEnabledDomain_ADC,
|
|
|
+LL_RCC_PLL_IsEnabledDomain_RNG, LL_RCC_PLL_IsEnabledDomain_I2S,
|
|
|
+LL_RCC_PLL_IsEnabledDomain_SYS</li>
|
|
|
+<li>Add check of PLL enable bit when a peripheral using PPL P or PLL
|
|
|
+Q</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL RNG</strong> driver
|
|
|
<ul>
|
|
|
@@ -281,19 +533,24 @@
|
|
|
</ul></li>
|
|
|
<li><strong>Utils </strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix LL_PLL_ConfigSystemClock_HSE to take into account the setting of RCC_CR_HSEPRE when computing pllrfreq<br />
|
|
|
+<li>Fix LL_PLL_ConfigSystemClock_HSE to take into account the setting of
|
|
|
+RCC_CR_HSEPRE when computing pllrfreq<br />
|
|
|
</li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
-<h2 id="known-limitations-1">Known Limitations</h2>
|
|
|
+<h2 id="known-limitations-2">Known Limitations</h2>
|
|
|
<p>None</p>
|
|
|
-<h2 id="development-toolchains-and-compilers-1">Development Toolchains and Compilers</h2>
|
|
|
+<h2 id="development-toolchains-and-compilers-2">Development Toolchains
|
|
|
+and Compilers</h2>
|
|
|
<ul>
|
|
|
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.30.1</li>
|
|
|
-<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31</li>
|
|
|
-<li>STM32CubeIDE 1.9.0 (native GNU ARM 10.3-2021-10 or optional GNU ARM 9-2020-q2-update)</li>
|
|
|
+<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain
|
|
|
+V5.31</li>
|
|
|
+<li>STM32CubeIDE 1.9.0 (native GNU ARM 10.3-2021-10 or optional GNU ARM
|
|
|
+9-2020-q2-update)</li>
|
|
|
</ul>
|
|
|
-<h2 id="supported-devices-and-boards-1">Supported Devices and boards</h2>
|
|
|
+<h2 id="supported-devices-and-boards-2">Supported Devices and
|
|
|
+boards</h2>
|
|
|
<p>Supported Devices:</p>
|
|
|
<ul>
|
|
|
<li>STM32WL55xx</li>
|
|
|
@@ -301,20 +558,23 @@
|
|
|
<li>STM32WLE5xx</li>
|
|
|
<li>STM32WLE4xx</li>
|
|
|
</ul>
|
|
|
-<h2 id="backward-compatibility-1">Backward Compatibility</h2>
|
|
|
+<h2 id="backward-compatibility-2">Backward Compatibility</h2>
|
|
|
<p>Not applicable</p>
|
|
|
-<h2 id="dependencies-1">Dependencies</h2>
|
|
|
+<h2 id="dependencies-2">Dependencies</h2>
|
|
|
<p>None</p>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="collapse">
|
|
|
-<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="true"><strong>V1.1.0 / 16-June-2021</strong></label>
|
|
|
+<input type="checkbox" id="collapse-section2" aria-hidden="true">
|
|
|
+<label for="collapse-section2" aria-hidden="true"><strong>V1.1.0 /
|
|
|
+16-June-2021</strong></label>
|
|
|
<div>
|
|
|
-<h2 id="main-changes-2">Main Changes</h2>
|
|
|
+<h2 id="main-changes-3">Main Changes</h2>
|
|
|
<ul>
|
|
|
-<li>Maintenance release of <strong>HAL and Low Layer</strong> drivers to include latest corrections</li>
|
|
|
+<li>Maintenance release of <strong>HAL and Low Layer</strong> drivers to
|
|
|
+include latest corrections</li>
|
|
|
<li>Update of HAL SMBUS driver to introduce fast mode and fast mode plus
|
|
|
<ul>
|
|
|
<li>Add extension files stm32wlxx_hal_smbus_ex.h/.c for new APIs:
|
|
|
@@ -324,37 +584,48 @@
|
|
|
</ul></li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
-<h2 id="contents-2">Contents</h2>
|
|
|
-<h3 id="hal-drivers-updates-2"><strong>HAL Drivers</strong> updates</h3>
|
|
|
+<h2 id="contents-3">Contents</h2>
|
|
|
+<h3 id="hal-drivers-updates-3"><strong>HAL Drivers</strong> updates</h3>
|
|
|
<ul>
|
|
|
<li><strong>HAL ADC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update CFGR2 oversampling bitfields conditionally to oversampling enable</li>
|
|
|
-<li>Update timeout mechanism to avoid false timeout detection in case of preemption</li>
|
|
|
-<li>Update wait_loop_index computation so delay in us is always multiplicated by at least value “1”</li>
|
|
|
+<li>Update CFGR2 oversampling bitfields conditionally to oversampling
|
|
|
+enable</li>
|
|
|
+<li>Update timeout mechanism to avoid false timeout detection in case of
|
|
|
+preemption</li>
|
|
|
+<li>Update wait_loop_index computation so delay in us is always
|
|
|
+multiplicated by at least value “1”</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL COMP</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update wait_loop_index computation so delay in us is always multiplicated by at least value “1”</li>
|
|
|
+<li>Update wait_loop_index computation so delay in us is always
|
|
|
+multiplicated by at least value “1”</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL CORTEX</strong> driver
|
|
|
<ul>
|
|
|
-<li>Disable the smallest MPU region sizes (32B, 64B, 128B) in the M0+ context</li>
|
|
|
+<li>Disable the smallest MPU region sizes (32B, 64B, 128B) in the M0+
|
|
|
+context</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL CRYP</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_CRYP_SetConfig() and HAL_CRYP_GetConfig() APIs to set/get the continent of KeyIVConfigSkip correctly</li>
|
|
|
-<li>Resolve interrupt mode related GCM decryption issue causing wrong computation of decryption size</li>
|
|
|
-<li>Update HAL_CRYP_InCpltCallback() API to fix an incorrect condition call at resumption time</li>
|
|
|
-<li>Update CRYP_AESCCM_Process_IT() to fix incorrect CCM header length management when data are fed to the peripheral under interrupt</li>
|
|
|
+<li>Update HAL_CRYP_SetConfig() and HAL_CRYP_GetConfig() APIs to set/get
|
|
|
+the continent of KeyIVConfigSkip correctly</li>
|
|
|
+<li>Resolve interrupt mode related GCM decryption issue causing wrong
|
|
|
+computation of decryption size</li>
|
|
|
+<li>Update HAL_CRYP_InCpltCallback() API to fix an incorrect condition
|
|
|
+call at resumption time</li>
|
|
|
+<li>Update CRYP_AESCCM_Process_IT() to fix incorrect CCM header length
|
|
|
+management when data are fed to the peripheral under interrupt</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL EXTI</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_EXTI_GetConfigLine() to set default configuration value of Trigger and GPIOSel before checking each corresponding register</li>
|
|
|
+<li>Update HAL_EXTI_GetConfigLine() to set default configuration value
|
|
|
+of Trigger and GPIOSel before checking each corresponding register</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL GPIO</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected</li>
|
|
|
+<li>Update HAL_GPIO_Init() API to avoid the configuration of PUPDR
|
|
|
+register when Analog mode is selected</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL HSEM</strong> driver
|
|
|
<ul>
|
|
|
@@ -362,7 +633,8 @@
|
|
|
</ul></li>
|
|
|
<li><strong>HAL I2C</strong> driver
|
|
|
<ul>
|
|
|
-<li>Updated I2C_IsAcknowledgeFailed() to avoid keeping I2C in busy state if NACK is received after transmitting register address</li>
|
|
|
+<li>Updated I2C_IsAcknowledgeFailed() to avoid keeping I2C in busy state
|
|
|
+if NACK is received after transmitting register address</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL IRDA</strong> driver
|
|
|
<ul>
|
|
|
@@ -370,38 +642,50 @@
|
|
|
</ul></li>
|
|
|
<li><strong>HAL IWDG</strong> driver
|
|
|
<ul>
|
|
|
-<li>Updated HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue</li>
|
|
|
+<li>Updated HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout
|
|
|
+vulnerability issue</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL LPTIM</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_LPTIM_Init() API implementation to configure digital filter for external clock when LPTIM is clocked by an internal clock source</li>
|
|
|
+<li>Update HAL_LPTIM_Init() API implementation to configure digital
|
|
|
+filter for external clock when LPTIM is clocked by an internal clock
|
|
|
+source</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL PWR</strong> driver
|
|
|
<ul>
|
|
|
-<li>Correct HAL_PWREx_DisableInternalWakeUpLine() to update CM0+ register</li>
|
|
|
+<li>Correct HAL_PWREx_DisableInternalWakeUpLine() to update CM0+
|
|
|
+register</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL RCC</strong> driver
|
|
|
<ul>
|
|
|
<li>Update definition of IS_RCC_OSCILLATORTYPE() macro</li>
|
|
|
-<li>Update IS_RCC_PERIPHCLOCK() macro definition depending on targeted derivative</li>
|
|
|
-<li>Add new API HAL_RCC_GetResetSource() to get all reset sources and clear flags for next reset</li>
|
|
|
+<li>Update IS_RCC_PERIPHCLOCK() macro definition depending on targeted
|
|
|
+derivative</li>
|
|
|
+<li>Add new API HAL_RCC_GetResetSource() to get all reset sources and
|
|
|
+clear flags for next reset</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL RNG</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update timeout mechanism to avoid false timeout detection in case of preemption</li>
|
|
|
+<li>Update timeout mechanism to avoid false timeout detection in case of
|
|
|
+preemption</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL RTC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_RTC_DeactivateAlarm() to fix issue where Alarm Autoclear remained activated after deactivating alarm</li>
|
|
|
-<li>Update HAL_RTCEx_SetTimeStamp_IT() to avoid the call of TimeStamp callback during the setting of the TimeStamp</li>
|
|
|
-<li>Update assertions in HAL_RTC_SetAlarm() and HAL_RTC_SetAlarm_IT() to allow user to unset some Alarm parameters when AlarmMask is set</li>
|
|
|
+<li>Update HAL_RTC_DeactivateAlarm() to fix issue where Alarm Autoclear
|
|
|
+remained activated after deactivating alarm</li>
|
|
|
+<li>Update HAL_RTCEx_SetTimeStamp_IT() to avoid the call of TimeStamp
|
|
|
+callback during the setting of the TimeStamp</li>
|
|
|
+<li>Update assertions in HAL_RTC_SetAlarm() and HAL_RTC_SetAlarm_IT() to
|
|
|
+allow user to unset some Alarm parameters when AlarmMask is set</li>
|
|
|
<li>Update HAL_RTC_DeactivateAlarm() to clear Alarm Flag</li>
|
|
|
<li>Update HAL_RTCEx_DeactivateTimeStamp() to clear TimeStamp flag</li>
|
|
|
-<li>Update HAL_RTCEx_DeactivateInternalTimeStamp() to clear Internal TimeStamp flag
|
|
|
+<li>Update HAL_RTCEx_DeactivateInternalTimeStamp() to clear Internal
|
|
|
+TimeStamp flag
|
|
|
<ul>
|
|
|
<li>The flag is cleared only if TSOVF & TSE are set to 0</li>
|
|
|
</ul></li>
|
|
|
-<li>Update HAL_RTCEx_DeactivateWakeUpTimer() to clear WakeUpTimer flag</li>
|
|
|
+<li>Update HAL_RTCEx_DeactivateWakeUpTimer() to clear WakeUpTimer
|
|
|
+flag</li>
|
|
|
<li>Update HAL_RTCEx_DeactivateSSRU() to clear SSR Underflow flag</li>
|
|
|
<li>Update HAL_RTC_WaitForSynchro() to fix issue to clear RSF flag</li>
|
|
|
</ul></li>
|
|
|
@@ -413,42 +697,56 @@
|
|
|
<ul>
|
|
|
<li>Add support for Fast Mode Plus to be SMBUS Rev3 compliant:
|
|
|
<ul>
|
|
|
-<li>Add HAL_SMBUSEx_EnableFastModePlus() and HAL_SMBUSEx_DisableFastModePlus() APIs to manage Fm+</li>
|
|
|
+<li>Add HAL_SMBUSEx_EnableFastModePlus() and
|
|
|
+HAL_SMBUSEx_DisableFastModePlus() APIs to manage Fm+</li>
|
|
|
</ul></li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL SPI</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update in SPI_WaitFifoStateUntilTimeout() to fix code optimization issue</li>
|
|
|
+<li>Update in SPI_WaitFifoStateUntilTimeout() to fix code optimization
|
|
|
+issue</li>
|
|
|
<li>Update to fix MISRA-C 2012 Rule-13.2 issue</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL SUBGHZ</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_Delay() by a polling loop to avoid blocking situation in case of Systick is mapped on Tick</li>
|
|
|
-<li>Update HAL_SUBGHZ_DeInit() to check RF Busy bit and deassert the reset signal on RF side</li>
|
|
|
+<li>Update HAL_Delay() by a polling loop to avoid blocking situation in
|
|
|
+case of Systick is mapped on Tick</li>
|
|
|
+<li>Update HAL_SUBGHZ_DeInit() to check RF Busy bit and deassert the
|
|
|
+reset signal on RF side</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL TIM</strong> driver
|
|
|
<ul>
|
|
|
-<li>Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters</li>
|
|
|
+<li>Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop
|
|
|
+(pooling and IT mode) to take into consideration all OutputChannel
|
|
|
+parameters</li>
|
|
|
<li>Correct CodeSpell typos in HAL TIM drivers</li>
|
|
|
-<li>Update timeout mechanism to avoid false timeout detection in case of preemption</li>
|
|
|
-<li>Update input capture measurement in DMA mode to avoid zero return values at high frequencies</li>
|
|
|
+<li>Update timeout mechanism to avoid false timeout detection in case of
|
|
|
+preemption</li>
|
|
|
+<li>Update input capture measurement in DMA mode to avoid zero return
|
|
|
+values at high frequencies</li>
|
|
|
</ul></li>
|
|
|
<li><strong>HAL UART</strong> driver
|
|
|
<ul>
|
|
|
-<li>Remove an invalid FIFO mode configuration from UART_SetConfig() as it is not is not member of UART_InitTypeDef Structure</li>
|
|
|
-<li>Update HAL_UART_IRQHandler() API to handle receiver timeout interrupt
|
|
|
+<li>Remove an invalid FIFO mode configuration from UART_SetConfig() as
|
|
|
+it is not is not member of UART_InitTypeDef Structure</li>
|
|
|
+<li>Update HAL_UART_IRQHandler() API to handle receiver timeout
|
|
|
+interrupt
|
|
|
<ul>
|
|
|
-<li>Update UART receive processes (IT and DMA) to handle the UART receive’s timeout interrupt</li>
|
|
|
+<li>Update UART receive processes (IT and DMA) to handle the UART
|
|
|
+receive’s timeout interrupt</li>
|
|
|
</ul></li>
|
|
|
<li>Update arrays definition to be declared as static const</li>
|
|
|
-<li>Fix erroneous UART’s handle state in case of error returned after DMA reception start within UART_Start_Receive_DMA()</li>
|
|
|
-<li>Update UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback</li>
|
|
|
-<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
|
|
|
+<li>Fix erroneous UART’s handle state in case of error returned after
|
|
|
+DMA reception start within UART_Start_Receive_DMA()</li>
|
|
|
+<li>Update UART ReceptionType management in case of ReceptionToIdle API
|
|
|
+are called from RxEvent callback</li>
|
|
|
+<li>Handling of UART concurrent register access in case of race
|
|
|
+condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
-<h3 id="ll-drivers-updates-2"><strong>LL Drivers</strong> updates</h3>
|
|
|
+<h3 id="ll-drivers-updates-3"><strong>LL Drivers</strong> updates</h3>
|
|
|
<ul>
|
|
|
<li><strong>LL RCC</strong> driver
|
|
|
<ul>
|
|
|
@@ -456,40 +754,51 @@
|
|
|
</ul></li>
|
|
|
<li><strong>LL RTC</strong> driver
|
|
|
<ul>
|
|
|
-<li>Fix wrong reference of RTC instance in LL_RTC_TIME_Init() and LL_RTC_DATE_Init() functions</li>
|
|
|
+<li>Fix wrong reference of RTC instance in LL_RTC_TIME_Init() and
|
|
|
+LL_RTC_DATE_Init() functions</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL SPI</strong> driver
|
|
|
<ul>
|
|
|
<li>Updated to set the FRXTH bit for 8bit data in LL_SPI_Init() API</li>
|
|
|
-<li>Update LL_SPI_TransmitData8() to avoid casting the result to 8 bits</li>
|
|
|
+<li>Update LL_SPI_TransmitData8() to avoid casting the result to 8
|
|
|
+bits</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL TIM</strong> driver
|
|
|
<ul>
|
|
|
-<li>Updated LL_TIM_GetCounterMode() API to return the correct counter mode</li>
|
|
|
-<li>Update reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode</li>
|
|
|
+<li>Updated LL_TIM_GetCounterMode() API to return the correct counter
|
|
|
+mode</li>
|
|
|
+<li>Update reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse
|
|
|
+Mode</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL LPUART</strong> driver
|
|
|
<ul>
|
|
|
-<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
|
|
|
+<li>Handling of UART concurrent register access in case of race
|
|
|
+condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
|
|
|
</ul></li>
|
|
|
<li><strong>LL USART</strong> driver
|
|
|
<ul>
|
|
|
-<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
|
|
|
-<li>LL_USART_ClockInit now supports clock phase and clock polarity configuration for SPI_Slave mode</li>
|
|
|
-<li>Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro</li>
|
|
|
+<li>Handling of UART concurrent register access in case of race
|
|
|
+condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
|
|
|
+<li>LL_USART_ClockInit now supports clock phase and clock polarity
|
|
|
+configuration for SPI_Slave mode</li>
|
|
|
+<li>Remove useless check on maximum BRR value by removing
|
|
|
+IS_LL_USART_BRR_MAX() macro</li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
-<h2 id="known-limitations-2">Known Limitations</h2>
|
|
|
+<h2 id="known-limitations-3">Known Limitations</h2>
|
|
|
<p>None</p>
|
|
|
-<h2 id="development-toolchains-and-compilers-2">Development Toolchains and Compilers</h2>
|
|
|
+<h2 id="development-toolchains-and-compilers-3">Development Toolchains
|
|
|
+and Compilers</h2>
|
|
|
<ul>
|
|
|
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.30.1</li>
|
|
|
-<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31</li>
|
|
|
+<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain
|
|
|
+V5.31</li>
|
|
|
<li>STM32CubeIDE 1.7.0</li>
|
|
|
</ul>
|
|
|
-<h2 id="supported-devices-and-boards-2">Supported Devices and boards</h2>
|
|
|
+<h2 id="supported-devices-and-boards-3">Supported Devices and
|
|
|
+boards</h2>
|
|
|
<p>Supported Devices:</p>
|
|
|
<ul>
|
|
|
<li>STM32WL55xx</li>
|
|
|
@@ -497,30 +806,35 @@
|
|
|
<li>STM32WLE5xx</li>
|
|
|
<li>STM32WLE4xx</li>
|
|
|
</ul>
|
|
|
-<h2 id="backward-compatibility-2">Backward Compatibility</h2>
|
|
|
+<h2 id="backward-compatibility-3">Backward Compatibility</h2>
|
|
|
<p>Not applicable</p>
|
|
|
-<h2 id="dependencies-2">Dependencies</h2>
|
|
|
+<h2 id="dependencies-3">Dependencies</h2>
|
|
|
<p>None</p>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="collapse">
|
|
|
-<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 / 28-October-2020</strong></label>
|
|
|
+<input type="checkbox" id="collapse-section1" aria-hidden="true">
|
|
|
+<label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 /
|
|
|
+28-October-2020</strong></label>
|
|
|
<div>
|
|
|
-<h2 id="main-changes-3">Main Changes</h2>
|
|
|
+<h2 id="main-changes-4">Main Changes</h2>
|
|
|
<p><strong>First Official Release</strong></p>
|
|
|
-<h2 id="contents-3">Contents</h2>
|
|
|
+<h2 id="contents-4">Contents</h2>
|
|
|
<p>First official release of LL / HAL Drivers for STM32WLxx series.</p>
|
|
|
-<h2 id="known-limitations-3">Known Limitations</h2>
|
|
|
+<h2 id="known-limitations-4">Known Limitations</h2>
|
|
|
<p>None</p>
|
|
|
-<h2 id="development-toolchains-and-compilers-3">Development Toolchains and Compilers</h2>
|
|
|
+<h2 id="development-toolchains-and-compilers-4">Development Toolchains
|
|
|
+and Compilers</h2>
|
|
|
<ul>
|
|
|
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.30.1</li>
|
|
|
-<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.28</li>
|
|
|
+<li>RealView Microcontroller Development Kit (MDK-ARM) toolchain
|
|
|
+V5.28</li>
|
|
|
<li>STM32CubeIDE 1.5.0</li>
|
|
|
</ul>
|
|
|
-<h2 id="supported-devices-and-boards-3">Supported Devices and boards</h2>
|
|
|
+<h2 id="supported-devices-and-boards-4">Supported Devices and
|
|
|
+boards</h2>
|
|
|
<p>Supported Devices:</p>
|
|
|
<ul>
|
|
|
<li>STM32WL55xx</li>
|
|
|
@@ -528,21 +842,25 @@
|
|
|
<li>STM32WLE5xx</li>
|
|
|
<li>STM32WLE4xx</li>
|
|
|
</ul>
|
|
|
-<h2 id="backward-compatibility-3">Backward Compatibility</h2>
|
|
|
+<h2 id="backward-compatibility-4">Backward Compatibility</h2>
|
|
|
<p>Not applicable</p>
|
|
|
-<h2 id="dependencies-3">Dependencies</h2>
|
|
|
+<h2 id="dependencies-4">Dependencies</h2>
|
|
|
<p>None</p>
|
|
|
<p><br />
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
-</div>
|
|
|
+</section>
|
|
|
</div>
|
|
|
<footer class="sticky">
|
|
|
<div class="columns">
|
|
|
<div class="column" style="width:95%;">
|
|
|
-<p>For complete documentation on STM32WLxx, visit: <a href="http://www.st.com/stm32wl">www.st.com/stm32wl</a></p>
|
|
|
-<p><em>This release note uses up to date web standards and, for this reason, should not be opened with Internet Explorer but preferably with popular browsers such as Google Chrome, Mozilla Firefox, Opera or Microsoft Edge.</em></p>
|
|
|
+<p>For complete documentation on STM32WLxx, visit: <a
|
|
|
+href="http://www.st.com/stm32wl">www.st.com/stm32wl</a></p>
|
|
|
+<p><em>This release note uses up to date web standards and, for this
|
|
|
+reason, should not be opened with Internet Explorer but preferably with
|
|
|
+popular browsers such as Google Chrome, Mozilla Firefox, Opera or
|
|
|
+Microsoft Edge.</em></p>
|
|
|
</div><div class="column" style="width:5%;">
|
|
|
<p><abbr title="Based on template cx626901 version 2.0">Info</abbr></p>
|
|
|
</div>
|