Licensed by ST under BSD 3-Clause license (the "License"). You may not use this package except in compliance with the License. You may obtain a copy of the License at:
https://opensource.org/licenses/BSD-3-Clause
The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.
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.
The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provides a 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 depends on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:
HAL drivers changes
LL drivers changes
HAL drivers changes
LL drivers changes
HAL drivers changes
LL drivers changes
HAL drivers changes
MISRA C:2012 corrections listed hereafter are applicable to LL driver as well.
HAL ADC driver
HAL PWR driver
HAL RCC driver
HAL RTC driver
HAL SAI driver
HAL SMARTCARD driver
HAL SPI driver
HAL SWPMI driver
HAL TSC driver
HAL USART driver
LL Drivers changes
LL ADC driver
LL DMA driver
LL RCC driver
LL RTC driver
Maintenance Release of HAL and Low Layer drivers
Add support of HAL callback registration feature
The feature disabled by default is available for the following HAL drivers:
ADC, CAN, COMP, CRYP, DAC, DCMI, DFSDM, DMA2D, DSI, GFXMMU, HASH, HCD, I2C, IRDA, LPTIM, LTDC, OPAMP, OSPI, PCD, QSPI, RNG, RTC, SAI, SD, SMARTCARD, SMBUS, SPI, SWPMI, TIM, TSC, UART, USART and WWDG
The feature may be enabled individually per HAL PPP driver by setting the corresponding definition USE_HAL_PPP_REGISTER_CALLBACKS to 1U in stm32l4xx_hal_conf.h project configuration file (template file stm32l4xx_hal_conf_template.h available from Drivers/STM32L4xx_HAL_Driver/Inc)
Once enabled, the user application may resort to HAL_PPP_RegisterCallback() to register specific callback function(s) and unregister it(them) with HAL_PPP_UnRegisterCallback().
MISRA C:2012 corrections
HAL drivers changes
HAL generic driver
HAL ADC driver
Update internal ADC calibration timeout value
Add callback registration feature
HAL CAN driver
Add callback registration feature
HAL COMP driver
HAL CRYP driver
Add callback registration feature
HAL DAC driver
Add callback registration feature
HAL DCMI driver
Add callback registration feature
HAL DFSDM driver
Add callback registration feature
HAL DM2D driver
Add callback registration feature
HAL DSI driver
Add callback registration feature
HAL GFXMMU driver
Add callback registration feature
HAL HASH driver
Add callback registration feature
HAL HCD driver
Add new user notification callbacks
Add callback registration feature
HAL I2C driver
I2C slave enhancement when master sends RESTART instead of STOP
Add callback registration feature
HAL IRDA driver
Add callback registration feature
HAL LPTIM driver
Add callback registration feature
HAL LTDC driver
Add callback registration feature
HAL NAND driver
Add new configuration API HAL_NAND_ConfigDevice()
Add new APIs for 8-bit and 16-bit accesses
HAL_NAND_Read_Page_8b(), HAL_NAND_Write_Page_8b(), HAL_NAND_Read_SpareArea_8b() and HAL_NAND_Write_SpareArea_8b()
HAL_NAND_Read_Page_16b(), HAL_NAND_Write_Page_16b(), HAL_NAND_Read_SpareArea_16b() and HAL_NAND_Write_SpareArea_16b()
HAL OPAMP driver
Add callback registration feature
HAL OSPI driver
Add callback registration feature
HAL PCD driver
Fix USB double buffer issue in PCD_SET_EP_DBUF1_CNT() macro
Add callback registration feature
HAL QSPI driver
Fix HAL_QSPI_Receive_IT() to avoid early clear of TE and TC flags
Add callback registration feature
HAL RCC driver
HAL RNG driver
Add callback registration feature
HAL RTC driver
Add callback registration feature
HAL SAI driver
Add callback registration feature
HAL SMBUS driver
Add callback registration feature
Fix typo in FileFormatGroup field of HAL_SD_CardCSDTypedef
Add callback registration feature
HAL SMARTCARD driver
Add callback registration feature
HAL SPI driver
Add callback registration feature
HAL SWPMI driver
Fix in HWL_SWPMI_EnableLoopback() to enable entering loopback mode after SWPMI initialization
Add callback registration feature
HAL TIM driver
Add callback registration feature
HAL TSC driver
Add callback registration feature
HAL UART driver
Add wakeup capability from Stop mode when clocked by LSE
Remove the following APIs since only applicable to HAL USART and not HAL UART
HAL_UARTEx_EnableSlaveMode(), HAL_UARTEx_DisableSlaveMode() and HAL_UARTEx_ConfigNSS()
Add callback registration feature
HAL USART driver
Add callback registration feature
HAL WWDG driver
Add callback registration feature
LL drivers changes
LL ADC driver
LL LPUART driver
Add wakeup capability from Stop mode when clocked by LSE
LL RTC driver
LL SPI driver
LL USART driver
HAL drivers changes
Rework of HAL CAN driver (compatibility break)
A new HAL CAN driver has been redesigned with new APIs, to bypass limitations on CAN Tx/Rx FIFO management present with previous HAL CAN driver version.
The new HAL CAN driver is the recommended version. It is located as usual in Drivers/STM32L4xx_HAL_Driver/Src and drivers/STM32L4xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32l4xx_hal_conf.h
The legacy HAL CAN driver is also present in the release in drivers/STM32L4xx_HAL_Driver/Src/Legacy and drivers/STM32L4xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons. Its usage is not recommended as deprecated. It can however be enabled through switch HAL_CAN_LEGACY_MODULE_ENABLED in stm32l4xx_hal_conf.h
Short migration guide:
Fields of CAN_InitTypeDef structure are renamed
SJW to SyncJumpWidth, BS1 to TimeSeg1, BS2 to TimeSeg2, TTCM to TimeTriggeredMode, ABOM to AutoBusOff, AWUM to AutoWakeUp, NART to AutoRetransmission (inversed), RFLM to ReceiveFifoLocked and TXFP to TransmitFifoPriority
HAL_CAN_RxCpltCallback() is split into HAL_CAN_RxFifo0MsgPendingCallback() and HAL_CAN_RxFifo1MsgPendingCallback()
More complete "how to use the new driver" is detailed in the driver header section itself.
HAL CORTEX driver
HAL CRC driver
HAL FLASH driver
HAL OSPI driver
HAL RCC driver
RCC_RTCCLKSOURCE_NO_CLK enamed to RCC_RTCCLKSOURCE_NONE
HAL_RCC_DeInit() updates
Fix MISRA C-2004 rule 10.6 ('U' suffix)
HAL TIM driver
LL drivers changes
LL CRC driver
LL RCC driver
Add LL_RCC_PLL_SetMainSource() and LL_RCC_HSI_IsEnabledInStopMode() APIs
LL_RCC_DeInit() update
Fix IS_LL_RCC_I2C_CLKSOURCE() assert macro
HAL drivers changes
HAL generic driver
HAL ADC driver
HAL DSI driver
HAL FLASH driver
HAL I2C driver
Fix RD_WRN bit management in case of I2C_NO_STARTSTOP request
HAL OSPI driver
HAL QSPI driver
HAL RCC driver
HAL SDMMC driver
HAL SMBUS driver
LL drivers changes
**LLDAC driver
LL DMA2D driver
LL I2C driver
LL RCC driver
Update SDMMC1 clock source selection on STM32L4Rx/STM32L4Sx devices to select PLL divider "P" output instead of internal multiplexor on MSI, HSI48, PLLSAI1 or PLL "Q" outputs as SDMMC1 kernel clock source
Add LL_RCC_SetSDMMCKernelClockSource(), LL_RCC_GetSDMMCKernelClockSource() and LL_RCC_GetSDMMCKernelClockFreq() APIs
Release of HAL and Low Layer drivers to add support of STM32L4R5xx/STM32L4R7xx/STM32L4R9xx/STM32L4S5xx/STM32L4S7xx/STM32L4S9xx devices
New OctoSPI, DSI, LTDC, GFXMMU peripherals supported in new HAL OSPI, HAL DSI, HAL LTDC and HAL GFXMMU drivers
Superset features device STM32L4S9xx API User Manual available (STM32L4S9xx_User_Manual.chm)
## Contents
HAL drivers changes
HAL OSPI driver (NEW):stm32l4xx_hal_ospi.h/.c files
HAL generic driver
HAL CAN driver
HAL CRYP driver
HAL DAC driver
HAL DMA driver
Fix DMAMUX synchronization signal configuration in HAL_DMAEx_ConfigMuxSync()
Support of DMAMUX1 peripheral via new DMA Extension APIs
HAL_DMAEx_MUX_IRQHandler()
HAL DFSDM driver extension (new stm32l4xx_hal_dfsdm_ex.h/.c)
HAL DFSDM driver
HAL FLASH driver
HAL FMC driver
HAL HASH driver
HAL HCD/PCD driver
HAL IRDA driver
Add Clock Prescaler management for STM32L4Rx/STM32L4Sx devices only
IRDA_InitTypeDef structure update to add ClockPrescaler parameter
HAL PCD driver
HAL PWR driver
Add PWR_REGULATOR_VOLTAGE_SCALE1_BOOST new parameter value for HAL_PWREx_ControlVoltageScaling() to use higher supply voltage (1.28V) with main regulator voltage in range 1 above 80Mhz (maximum frequency equals to 120Mhz) for STM32L4Rx/STM32L4Sx devices
Add SRAM3 retention management APIs: HAL_PWREx_EnableSRAM3ContentRetention() and HAL_PWREx_DisableSRAM3ContentRetention()
Add DSI pins pull-down management
new HAL_PWREx_EnableDSIPinsPDActivation() and HAL_PWREx_DisableDSIPinsPDActivation APIs
HAL RCC driver
Fix HAL_RCCEx_GetPeriphCLKFreq() to take into account PLLSAI1 and PLLSAI2 divider M values (1 to 16 range) on STM32L4Rx/STM32L4Sx devices
Add undershoot/overshoot management in HAL_RCC_ClockConfig() when switching to/from system clock from main PLL above 80Mhz
HAL RNG driver
Add support of Clock Error detection and Bypass mode management in new RNG_InitTypeDef and HAL_RNG_Init() API
parameters ClockErrorDetection and BypassMode added in new RNG_InitTypeDef
HAL RTC driver
HAL SAI driver
Add FIFO flush in HAL_SAI_DMAStop()
Fix HAL_SAI_Transmit_DMA() to follow the slave TX mode sequence described in the Reference Manual
HAL SD driver
Major rework of HAL SD driver aligned with STM32F7 series
BlockSize parameter removed in Read&Write block APIs since 512 byte size is always read&write.
HAL SMARTCARD driver
Add Clock Prescaler management for STM32L4Rx/STM32L4Sx devices only
SMARTCARD_InitTypeDef structure update to add ClockPrescaler parameter
Add FIFO mode management for STM32L4Rx/STM32L4Sx devices only
new HAL_SMARTCARDEx_EnableFifoMode(), HAL_SMARTCARDEx_DisableFifoMode(), HAL_SMARTCARDEx_SetTxFifoThreshold(), HAL_SMARTCARDEx_SetRxFifoThreshold(), HAL_SMARTCARDEx_RxFifoFullCallback() and HAL_SMARTCARDEx_TxFifoEmptyCallback APIs
HAL SMBUS driver
HAL SPI driver
HAL SWPMI driver
HAL TIM driver
HAL UART driver
Add FIFO mode management for STM32L4Rx/STM32L4Sx devices only
new HAL_UARTEx_EnableFifoMode(), HAL_UARTEx_DisableFifoMode(), HAL_UARTEx_SetTxFifoThreshold(), HAL_UARTEx_SetRxFifoThreshold(), HAL_UARTEx_RxFifoFullCallback() and HAL_UARTEx_TxFifoEmptyCallback APIs
Add SPI Slave mode management for STM32L4Rx/STM32L4Sx devices only
new HAL_UARTEx_EnableSlaveMode(), HAL_UARTEx_DisableSlaveMode() and HAL_UARTEx_ConfigNSS()
HAL USART driver (new stm32l4xx_hal_usart_ex.c)
Add Clock Prescaler management for STM32L4Rx/STM32L4Sx devices only
Add FIFO mode management for STM32L4Rx/STM32L4Sx devices only
new HAL_USARTEx_EnableFifoMode(), HAL_USARTEx_DisableFifoMode(), HAL_USARTEx_SetTxFifoThreshold(), HAL_USARTEx_SetRxFifoThreshold(), HAL_USARTEx_RxFifoFullCallback() and HAL_USARTEx_TxFifoEmptyCallback APIs
Add SPI Slave mode management for STM32L4Rx/STM32L4Sx devices only
new HAL_USARTEx_EnableSlaveMode(), HAL_USARTEx_DisableSlaveMode() and HAL_USARTEx_ConfigNSS()
LL drivers changes
LL DMAMUX driver (NEW): stm32l4xx_ll_dmamux.h
All LL drivers update to remove usage of CMSIS POSITION_VAL() macro and resort to xx_Pos position bit definition
LL ADC
LL BUS
LL DMA
LL DMA2D
LL EXTI
LL I2C
LL LPUART / LL USART
LL PWR
Add SRAM3 retention management APIs
LL_PWR_EnableSRAM3Retention(), LL_PWR_DisableSRAM3Retention() and LL_PWR_IsEnabledSRAM3Retention()
Add voltage range 1 boost mode APIs
LL_PWR_EnableRange1BoostMode(), LL_PWR_DisableRange1BoostMode() and LL_PWR_IsEnabledRange1BoostMode()
For compatibility purpose accross STM32 series, rename LL_PWR_IsActiveFlag_VOSF() to LL_PWR_IsActiveFlag_VOS()
Add DSI pins pull-down management
new LL_PWR_EnableDSIPinsPDActivation(), LL_PWR_DisableDSIPinsPDActivation() and LL_PWR_IsEnabledDSIPinsPDActivation APIs
LL RCC
Add management of new peripheral clock sources for DSI, LTDC, OSPI1, OSPI2 and SDMMC
Add new definitions for main PLL divider M values above LL_RCC_PLLM_DIV_8 and up to LL_RCC_PLLM_DIV_16 for STM32L4Rx/STM32L4Sx devices
Fix in __LL_RCC_CALC_PLLCLK_SAI_FREQ(), __LL_RCC_CALC_PLLSAI1_SAI_FREQ(), __LL_RCC_CALC_PLLSAI1_48M_FREQ(), __LL_RCC_CALC_PLLSAI1_ADC_FREQ(), __LL_RCC_CALC_PLLSAI2_SAI_FREQ()
Fix in LL_RCC_PLLSAI1_ConfigDomain_48M(), LL_RCC_PLLSAI1_ConfigDomain_SAI(), LL_RCC_PLLSAI1_ConfigDomain_ADC(), LL_RCC_PLLSAI1_GetP(), LL_RCC_PLLSAI2_ConfigDomain_SAI() and LL_RCC_PLLSAI2_GetP()
Fix LL_RCC_GetSDMMCClockFreq() to take into account all SDMMC1 possible clock sources
Add HSI48 oscillator clock source value for RNG and USB:
General fixes
LL RNG
Add Clock Error detection and Bypass mode management in new LL_RNG_InitTypeDef and new LL_RNG_Init() API
LL RTC
LL SYSTEM
LL TIM
LL UTILS
HAL drivers changes
HAL CAN driver
HAL CRC driver
HAL DCMI driver
HAL FLASH driver
HAL HASH driver
LL drivers changes
LL RCC
LL RTC
LL TIM
HAL drivers changes
HAL generic driver
HAL DAC driver
HAL HASH driver
HAL PCD driver
HAL RTC driver
LL drivers changes
LL ADC
LL DMA
HAL drivers changes
The following changes done on the HAL drivers require an update on the application code based on older HAL versions
Overall rework of the driver for a more efficient implementation
Refer to the following examples in STM32CubeL4 firmware package V1.7.0 to identify the changes: BSP example and USB_Device/MSC_Standalone application
HAL generic update
stm32l4xx_hal_conf_template.h updated for new HAL DCMI, HAL DMA2D and HAL HASH
#define HAL_HASH_MODULE_ENABLED
HAL_Delay() updated to guarantee minimum delay
HAL CAN driver
HAL GPIO driver
HAL PWR driver
HAL QSPI driver
HAL RCC driver
Add new macros for new peripherals clock and reset for CAN2, DCMI, DMA2D, GPIOI and HASH
Fix HAL_RCCEx_GetPeriphCLKFreq() to compute peripheral frequencies from MSI frequency
Fix HAL_RCCEx_GetPeriphCLKFreq() to compute DFSDM1 frequency from PCLK2 frequency
Rename some peripheral clock sources to specify the corresponding APB clock:
RCC_DFSDM1CLKSOURCE_PCLK to RCC_DFSDM1CLKSOURCE_PCLK2
RCC_SWPMI1CLKSOURCE_PCLK to RCC_SWPMI1CLKSOURCE_PCLK1
RCC_LPTIMxCLKSOURCE_PCLK to RCC_LPTIMxCLKSOURCE_PCLK1
HAL RTC driver
HAL SPI driver
HAL TIM driver
HAL SWPMI driver
LL drivers changes
LL DMA2D driver (NEW)
LL BUS
LL PWR
LL RCC
LL SDMMC
LL TIM
HAL drivers changes
HAL CRYP driver
HAL CRYP exported macros alignment with other STM32 series to use CRYP handle address as parameter in:
__HAL_CRYP_ENABLE(), __HAL_CRYP_DISABLE(), __HAL_CRYP_SET_OPERATINGMODE(), __HAL_CRYP_SET_CHAININGMODE(), __HAL_CRYP_GET_FLAG(), __HAL_CRYP_CLEAR_FLAG(), __HAL_CRYP_GET_IT_SOURCE(), __HAL_CRYP_GET_IT(), __HAL_CRYP_CLEAR_IT(), __HAL_CRYP_ENABLE_IT() and __HAL_CRYP_DISABLE_IT()
HAL FLASH driver
Temporary data cache deactivation on
To insure LSB/MSB address order in C compiler assembly output, split 64-bit programming in 2 double-word write operations
HAL I2C driver
HAL SMBUS driver
HAL RTC driver
Fix CodeSonar warnings in
LL drivers changes
LL I2C driver
LL SYSTEM driver
LL TIM driver
New APIs to insure BDTR register initialization in a single write operation
LL_TIM_BDTR_Init()
LL UTILS driver
HAL drivers changes
HAL ADC driver
HAL DAC driver
HAL FLASH driver
HAL I2C driver
HAL IRDA driver
Add transfer abort functions and associated callbacks in interrupt mode
HAL RTC driver
HAL SMARTCARD driver
Add transfer abort functions and associated callbacks in interrupt mode
IRQ Handler + DMA model optimizations
HAL SMBUS driver
HAL SPI driver
USE_SPI_CRCcompilation define added to provide the mean to optimize the HAL SPI driver when CRC feature is not used (when CRC is used, application must be changed to set USE_SPI_CRC in stm32l4xx_hal_conf.h (see Inc\stm32l4xx_hal_conf_template.h))
HAL SWPMI driver
HAL UART driver
HAL USART driver
New APIs to abort USART tranfer with associated callbacks added
LL drivers changes
LL COMP driver
HAL drivers changes
HAL ADC driver
HAL CRC driver
LL drivers changes
HAL drivers changes
Enhance HAL delay and timebase implementation
The following changes done on the HAL drivers require an update on the application code based on HAL V1.4.0.
HAL RCC driver
To use PLLSAI1 and PLLSAI2 indidependently from main system PLL, PLLSAI1 & PLLSAI2 initialization enriched to add PLL entry clock source and divider M
RCC_PLLSAI1InitTypeDef includes PLLSAI1Source and PLLSAI1M new fields
RCC_PLLSAI2InitTypeDef includes PLLSAI2Source and PLLSAI2M new fields
Add missing RTC clock source definition RCC_RTCCLKSOURCE_NO_CLK
Add missing RTC clock source definition RCC_RTCCLKSOURCE_NO_CLK
HAL I2C driver
Update to avoid waiting on STOPF/BTF/AF flag under DMA ISR by using the PPP end of transfer interrupt in the DMA transfer process. This requires the following updates on user application:
In stm32l4xx_it.c file, I2Cx_IRQHandler() function: add a call to HAL_I2C_IRQHandler() function
HAL UART/USART drivers
HAL IRDA/SMARTCARD drivers
HAL SPI driver
HAL QSPI driver
Add the management of non-blocking transfer abort service: HAL_QSPI_Abort_IT(). In this case the user must:
HAL IWDG driver
HAL WWDG driver
HAL DMA driver
Global driver code optimization to reduce memory footprint
Add __HAL_DMA_GET_COUNTER() macro
HAL GPIO driver
HAL PCD driver
HAL TIM driver
HAL SAI driver
Update HAL_SAI_IRQHandler:
Add error management in case of DMA transfer through HAL_DMA_Abort_IT() and DMAXferAbortCallback()
HAL SWPMI driver
LL drivers changes
LL RCC driver
LL SYSTEM driver
New API LL_FLASH_IsPrefetchEnabled()
HAL drivers changes
HAL generic update
HAL IRDA/SMARTCARD/UART/USART update
LL drivers changes
LL ADC update
Trigger sources renaming:
Oversamping data shift renaming:
Trigger sources renaming:
HAL drivers changes
HAL generic update
HAL COMP update
HAL CRYP update
HAL DMA update
HAL FLASH update
HAL I2C update
HAL IRDA update
HAL SD update
HAL SMARTCARD update
HAL UART update
HAL USART update
LL drivers changes
LL UTILS update (user code impacted!)
Move the following functions declaration from stm32l4xx_ll_utils.h to stm32l4xx_ll_utils.c file
LL_mDelay(), LL_Init1msTick() and LL_SetSystemCoreClock()
LL ADC update
LL COMP update
Rename InputInverting and InputNonInverting APIs
Remove LL_COMP_SetWindowMode() and LL_COMP_GetWindowMode()
LL DMA update
LL GPIO update
LL I2C update
LL LPTIM update
Add missing functions
LL OPAMP update
Rename power range APIs
LL SPI update
LL SWPMI update
LL TIM update
Add missing functions
LL USART update
HAL OPAMP update
update SAI block synchronization selection (User application code impacted)
Replace uncomplete SAI_SYNCHRONOUS_EXT value for with SAI_SYNCHRONOUS_EXT_SAI1 and SAI_SYNCHRONOUS_EXT_SAI2
Update external synchronization input selection (User application code impacted)
Remove useless SAI_SYNCEXT_IN_ENABLE value for SynchroExt field in SAI_InitTypeDef structure
Add support of 24bits configuration in PCM protocol
Add codec not ready interrupt management
Fix computation of data size, frame length, active frame length, slot size and first bit offset in I2S protocol
Fix mute counter setting in HAL_SAI_EnableRxMuteMode()
Fix ambiguous clock strobing values: fix HAL_SAI_Init() to set correct CKSTR bits in SAI_xCR1 according to ClockStrobing and AudioMode parameters
Fill in the Fifo before enable interrupt in HAL_SAI_Transmit_IT()
Fix companding mode management in HAL_SAI_Init()
HAL TSC update
HAL NOR/HAL SRAM/FMC update
LL PWR update (User application code impacted)
LL PWR API change to add new Stop 0 mode and update Stop 1 mode definition
Change LL_PWR_SetPowerMode(uint32_t LowPowerMode) possible LowPowerMode]{style=“font-style: italic;”} values** update
LL_PWR_MODE_STOP1_LP_REGU renamed into LL_PWR_MODE_STOP1
Application code using LL_PWR_SetPowerMode(LL_PWR_MODE_STOP1_LP_REGU) must be updated to use LL_PWR_SetPowerMode(LL_PWR_MODE_STOP1)
LL_PWR_MODE_STOP1_MAIN_REGU renamed into LL_PWR_MODE_STOP0
Application code using LL_PWR_SetPowerMode(LL_PWR_MODE_STOP1_MAIN_REGU) must be updated to use LL_PWR_SetPowerMode(LL_PWR_MODE_STOP0)
HAL generic update
HAL TIM update
LL ADC update
LL RCC update
LL UTILS update
Add Low Layer drivers allowing performance and footprint optimization
Low Layer drivers are available for: ADC, COMP, Cortex, CRC, DAC, DMA, EXTI, GPIO, I2C, IWDG, LPYIM, LPUART, OPAMP, PWR, RCC, RNG, RTC, SPI, SWPMI, TIM, USART, WWDG peripherals and additionnal Low Level Bus, System and Utilities APIs.
Low Layer drivers APIs are implemented as static inline function in new Inc/stm32l4xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32l4xx_ll_ppp.h file must be included in user code.
HAL ADC update
HAL CAN update
HAL COMP update
HAL CRC update
HAL DMA update
HAL FLASH update
HAL GPIO update
HAL PWR update
HAL RCC update
Update HAL_RCCEx_GetPeriphCLKFreq() to return the frequency in Hz applied to peripherals via HAL_RCCEx_PeriphCLKConfig()
Remove old workaround on LSE drive medium configuration values
HAL SPI update
HAL TIM update
HAL UART update