Release Notes for STM32CubeL1 Firmware Package

Copyright © 2017 STMicroelectronics

License

Licensed by ST under ST license SLA0048 (the "License"). You may not use this package except in compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0048

Purpose

STMCube is an STMicroelectronics original initiative to ease developers life by reducing development efforts, time and cost.

STM32Cube covers STM32 portfolio.

STM32Cube Version 1.x includes:

All embedded software utilities come with a full set of examples.

The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements.

STM32Cube

The drivers provided within this package support the following STM32L100xB, STM32L100xBA, STM32L100xC, STM32L151xB, STM32L151xBA, STM32L151xC, STM32L151xCA, STM32L151xD, STM32L151xDX, STM32L151xE, STM32L152xB, STM32L152xBA, STM32L152xC, STM32L152xCA, STM32L152xD, STM32L152xDX, STM32L152xE, STM32L162xC, STM32L162xCA, STM32L162xD, STM32L162xDX, and STM32L162xE devices.

For a quick start on the STM32CubeL1 firmware package, refer to UM1802 and download the firmware updates and all the latest documentation from www.st.com/stm32cubefw

Here is the list of references to user documents:

Update History

Main Changes

  • Patch release to to fix known defects and enhancements implementation.

Contents

  • CMSIS Device updates
    • Improve GCC startup files robustness.
    • Add LSI maximum startup time datasheet value: LSI_STARTUP_TIME.
    • Add atomic register access macros.
    • Protect Vector table modification following SRAM or FLASH preprocessor directive by a generic preprocessor directive : USER_VECT_TAB_ADDRESS.
    • Remove bit definition related to PF and PG ports from unsupported devices (L1xxxB devices).
    • Fix SYSCFG_EXTICR1_EXTI3_PF and SYSCFG_EXTICR1_EXTI3_PG defines values.
    • Update the hal_flash.h file to correctly support the FLASH_SIZE of cat.2 devices.
  • HAL/LL Drivers updates
    • HAL Generic update
      • Update HAL TimeBase TIM template for more robustness
        • Update Hal_Init_Tick() API to propoerty store the priority when using the non-default time base.
    • HAL/LL TIM update
      • Previous release note corrected by removing reference to ChannelNState.
      • Made TIM_DMADelayPulseCplt callback as a private function.
      • Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters.
      • Update input capture measurement in DMA mode to avoid zero return values at high frequencies.
      • Update LL_TIM_GetCounterMode() API to return the correct counter mode.
      • Correct reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.
    • HAL/LL SPI update
      • Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.
      • Update to fix MISRA-C 2012 Rule-13.2.
    • HAL/LL USART update
      • Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro.
    • HAL UART update
      • Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback.
      • Update UART polling and interruption processes to fix issues related to access out of user’s specified buffer.
      • Fix wrong comment related to RX pin configuration within the description section.
      • Enhance reception for idle services (ReceptionToIdle):
        • Add a new field (HAL_UART_RxTypeTypeDef) to the UART_HandleTypeDef structure to identify the type of ongoing reception.
        • Add UART Reception Event Callback registration.
        • Add reception specific APIs specific to reception for Idle transfer in different modes:
        • HAL_UARTEx_ReceiveToIdle(): Receive an amount of data in blocking mode until either the expected number of data is received or an IDLE event occurs.
        • HAL_UARTEx_ReceiveToIdle_IT(): Receive an amount of data in interrupt mode until either the expected number of data is received or an IDLE event occurs.
        • HAL_UARTEx_ReceiveToIdle_DMA(): Receive an amount of data in DMA mode until either the expected number of data is received or an IDLE event occurs.
        • Update HAL_UART_Receive(), HAL_UART_Receive_IT() and HAL_UART_Receive_DMA() APIs to support the new enhancement of ReceptionToIdle.
    • HAL SMARTCARD update
      • Fix typos in the SMARTCARD State definition description.
    • HAL IRDA update
      • Fix typos in the IRDA State definition description.
    • HAL RTC update
      • New APIs to subtract or add one hour to the calendar in one single operation without going through the initialization procedure (Daylight Saving):
        • HAL_RTC_DST_Add1Hour()
        • HAL_RTC_DST_Sub1Hour()
        • HAL_RTC_DST_SetStoreOperation()
        • HAL_RTC_DST_ClearStoreOperation()
        • HAL_RTC_DST_ReadStoreOperation()
        • DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type and HAL_RTC_DAYLIGHT_SAVING_TIME_ADD1H() and HAL_RTC_DAYLIGHT_SAVING_TIME_SUB1H() macros are now deprecated.
      • Fix the wait for the RSF bit to be cleared in the LL_RTC_WaitForSynchro function.
      • Correct month management in IS_LL_RTC_MONTH() macro.
      • Update __HAL_RTC_…(__HANDLE__, …) macros to access registers through (__HANDLE__)->Instance pointer and avoid “unused variable” warnings.
    • LL FMC_LL update
      • Fix compilation warning with gcc -Wpedantic compiler option
    • HAL SDMMC update
      • Update the definition of SDMMC_DATATIMEOUT constant in order to allow the user to redefine it in his proper application.
      • SD_FindSCR() updated to resolve an issue with FIFO blocking when reading.
      • Update the definition of SDMMC_DATATIMEOUT constant in order to allow the user to redefine it in his proper application.
      • Add the block size settings in the initialization functions and remove it from read/write transactions to avoid repeated and inefficient reconfiguration.
      • Update read/write functions in DMA mode in order to force the DMA direction.
      • Deploy new functions MMC_ReadExtCSD() and SDMMC_CmdSendEXTCSD () that read and check the sectors number of the device in order to resolve the issue of wrongly reading big memory size.
    • HAL FLASH update
      • Update FLASH_SetErrorCode() to correctly handle the SIZERR flag.
    • HAL USB_FS update
      • HAL PCD: add fix transfer complete for IN Interrupt transaction in single buffer mode.
    • HAL OPAMP update
      • Fix CodeSonar error.
      • Update HAL_OPAMP_SelfCalibrate() API to avoid wrong configuration of trimming value “n” and “p”.
    • HAL I2C update
      • Update to avoid I2C interrupt in endless loop:
        • 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.
      • Update the management of (hi2c->hdmatx!=NULL) & (hi2c->hdmarx!=NULL) check.
      • Update to prevent several calls of Start bit:
        • Update I2C_MemoryTransmit_TXE_BTF() API to increment EventCount.
      • Update to use the right macro to clear I2C ADDR flag inside I2C_Slave_ADDR() API as it’s indicated in the reference manual.
      • Update HAL_I2C_EV_IRQHandler() and I2C_MasterTransmit_BTF() APIs to fix an issue where the transfer of the first few bytes to an I2C memory fails.
    • HAL/LL ADC update
      • Update HAL_ADC_Stop_DMA() API to check if DMA state is Busy before calling HAL_DMA_Abort() API to avoid DMA internal error.
      • Update HAL ADC driver to add include of the LL ADC driver.
      • Update timeout mechanism to avoid false timeout detection in case of preemption.
      • Update LL_ADC_REG_Init() API to avoid enabling continuous mode and discontinuous mode simultaneously.
    • HAL WWDG update
      • Update HAL driver description.
    • HAL IWDG update
      • Update HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.
      • Add LSI startup time in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT).
    • HAL EXTI update
      • Update macros using LINE as a macro parameter to use EXTI_LINE instead to resolve parameter conflicts with standard C usage.
      • Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.
  • Projects updates
    • Perform a wait for synchronization in function HAL_RTC_Init() in order to resolve an RTC register access timing issue.
    • Updated examples and applications to avoid clearing DMA using global flag GIFx.
    • Examples TSC update
      • Update touch sensing applications in order to improve the error management.
    • Examples I2C update
      • Update in HAL_I2C_AddrCallback to manage global uwTransferReadRequested and uwTransferWriteRequested values depends on TransferDirection.

Components

Drivers
Name Version License Release note
STM32L1xx CMSIS V2.3.2 Apache License v2.0 release notes
STM32L1xx HAL V1.4.4 BSD-3-Clause release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.2 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0 + ST-Link

Main Changes

  • Patch release to fix issue in I2C HAL driver

Contents

  • HAL / LL Drivers updates
    • HAL/LL I2C driver
      • Update to fix hardfault issue with HAL_I2C_Mem_Write_DMA() API:
        • Abort the right ongoing DMA transfer when memory write access request operation failed: fix typo “hdmarx” replaced by “hdmatx”

Components

Drivers
Name Version License Release note
STM32L1xx HAL V1.4.3 BSD-3-Clause release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.1 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.29 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0 + ST-Link

Main Changes

  • Patch release to fix issue in I2C HAL driver

Contents

  • HAL / LL Drivers updates
    • HAL I2C driver
      • Update I2C_MasterReceiveRXNE() static API to avoid set the STOP bit again after the bit clearing by Hardware during the masking operation.
        • Add new API I2C_WaitOnSTOPRequestThroughIT() to wait for stop bit.

Components

Drivers
Name Version License Release note
STM32L1xx HAL V1.4.2 BSD-3-Clause release notes

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.1 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.29 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0 + ST-Link

Main Changes

  • Add new HAL EXTI driver
  • General updates to fix known defects and enhancements implementation

Major Maintenance release

Contents

  • Add new HAL EXTI driver

  • General updates to fix known defects and enhancements implementation

  • CMSIS Device updates

    • All header files
      • Remove NVIC CMSIS bits definitionss to avoid duplication with CMSIS Core V5.x
      • Remove GPIOx BRR register from GPIO structure and bit definitions when not supported
      • Add ADC VREFINT/TEMPSENSOR addresses definitions inline with products datasheets:
        • VREFINT_CAL_ADDR_CMSIS
        • TEMPSENSOR_CAL1_ADDR_CMSIS
        • TEMPSENSOR_CAL2_ADDR_CMSIS
      • Remove unused IS_TIM_SYNCHRO_INSTANCE() assert macro
      • Update IS_TIM_MASTER_INSTANCE with all supported instances.
    • system_stm32l1xx.c file
      • Update SystemInit() API to don’t reset RCC registers to its reset values
  • HAL / LL Drivers updates

    • HAL driver
      • Enhance HAL_SetTickFreq() API robustness
        • Restore previous tick frequency when a wrong tick initialization occurs.
    • LL ADC driver
      • Fix ADC TEMPSENSOR/VREFINT calibration addresses
    • HAL/LL GPIO driver
      • Update HAL_GPIO_TogglePin() API to allow the toggling of many pins
      • Update GPIO initialization sequence to avoid unwanted pulse on GPIO Pin’s
    • HAL EXTI driver
      • Add new HAL_EXTI driver.
    • HAL FLASH driver
      • Fix assert compilation error with HAL_FLASHEx_DATAEEPROM_Erase() API.
    • HAL/LL I2C driver
      • Update HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with I2C memory IT processes
        • Add stop condition generation when NACK occurs.
      • Update I2C_DMAXferCplt(), I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx and hdmarx parameters in i2c handle aren’t initialized (NULL pointer).
      • Update HAL_I2C_Init() API to force software reset before setting new I2C configuration
      • Update HAL I2C processes to report ErrorCode when wrong I2C start condition occurs
        • Add new ErrorCode define: HAL_I2C_WRONG_START
        • Set ErrorCode parameter in I2C handle to HAL_I2C_WRONG_START
      • Update sequential APIs to avoid requesting a START when a STOP condition is not fully treated
        • Wait the end of STOP treatment by polling (with a timeout) the STOP bit on Control register CR1
    • HAL/LL I2S driver
      • Update HAL_I2S_DMAStop() API to be more safe
        • Add a check on BSY, TXE and RXNE flags before disabling the I2S
      • Update HAL_I2S_DMAStop() API to fix multi-call transfer issue(to avoid re-initializing the I2S for the next transfer).
        • Add __HAL_I2SEXT_FLUSH_RX_DR() and __HAL_I2S_FLUSH_RX_DR() macros to flush the remaining data inside DR registers.
        • Add new ErrorCode define: HAL_I2S_ERROR_BUSY_LINE_RX
    • HAL IRDA driver
      • Update IRDA interruption handler to manage correctly the overrun interrupt
        • Add in the HAL_IRDA_IRQHandler() API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.
    • HAL SMARTCARD driver
      • Update SMARTCARD interruption handler to manage correctly the overrun interrupt
        • Add in the HAL_SMARTCARD_IRQHandler() API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.
      • Update SMARTCARD transmission and reception API to handle memory corruption
        • HAL_SMARTCARD_Transmit(), HAL_SMARTCARD_Receive()
        • SMARTCARD_Transmit_IT(), SMARTCARD_Receive_IT()
    • HAL/LL SPI driver
      • Update to implement Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode.
      • Update SPI_DMAReceiveCplt() API to handle efficiently the repeated transfers.
        • To avoid setting the BaudRatePrescaler in case of Slave Motorola Mode
        • Use the bit-mask for SPI configuration
      • Update Transmit/Receive processes in half-duplex mode
        • Disable the SPI instance before setting BDIOE bit
      • Fix wrong timeout management
        • Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled
    • HAL/LL TIM driver
      • Align HAL/LL TIM driver with latest updates and enhancements
      • Add new macros to enable and disable the fast mode when using the one pulse mode to output a waveform with a minimum delay
        • __HAL_TIM_ENABLE_OCxFAST() and __HAL_TIM_DISABLE_OCxFAST().
      • Update Encoder interface mode to keep TIM_CCER_CCxNP bits low
        • Add TIM_ENCODERINPUTPOLARITY_RISING and TIM_ENCODERINPUTPOLARITY_FALLING definitions to determine encoder input polarity.
        • Add IS_TIM_ENCODERINPUT_POLARITY() macro to check the encoder input polarity.
        • Update HAL_TIM_Encoder_Init() API
        • Replace IS_TIM_IC_POLARITY() macro by IS_TIM_ENCODERINPUT_POLARITY() macro.
      • Fix bug when using multiple DMA request to different channels of same timer
        • Introduce DMA burst state management mechanism
          • Add a new structure for DMA Burst States definition : HAL_TIM_DMABurstStateTypeDef
          • Update __HAL_TIM_RESET_HANDLE_STATE to support DMABurstState
          • Add a new API HAL_TIM_DMABurstState() to get the actual state of a DMA burst operation
          • Add DMABurstState, the DMA burst operation state, in the TIM_HandleTypeDef structure
          • Add new API TIM_DMAErrorCCxN() for TIM DMA error callback (complementary channel)
          • Add new API TIM_DMADelayPulseNCplt() for TIM DMA Delay Pulse complete callback (complementary channel)
      • Implement TIM channel state management mechanism
        • Add new macro
          • TIM_CHANNEL_STATE_SET_ALL
          • TIM_CHANNEL_STATE_SET
          • TIM_CHANNEL_STATE_GET
        • Add new API HAL_TIM_GetActiveChannel()
        • Add new API HAL_TIM_GetChannelState() to get actual state of the TIM channel
        • Add a new structure for TIM channel States definition : HAL_TIM_ChannelStateTypeDef
        • Update __HAL_TIM_RESET_HANDLE_STATE to support ChannelState
        • Add a new element in the TIM_HandleTypeDef structure : ChannelState to manage TIM channel operation state
      • Update HAL_TIMEx_MasterConfigSynchronization() API to avoid functional errors and assert fails when using some TIM instances as input trigger.
        • Replace IS_TIM_SYNCHRO_INSTANCE() macro by IS_TIM_MASTER_INSTANCE() macro.
        • Add IS_TIM_SLAVE_INSTANCE() macro to check on TIM_SMCR_MSM bit.
      • Remove ‘register’ storage class specifier from LL TIM driver.
      • Add new API HAL_TIM_DMABurst_MultiWriteStart() allowing to configure the DMA Burst to transfer multiple Data from the memory to the TIM peripheral
      • Add new API HAL_TIM_DMABurst_MultiReadStart() allowing to configure the DMA Burst to transfer Data from the TIM peripheral to the memory
    • HAL RCC driver
      • Fix extra parentheses compilation warnings with clang compiler
      • Update HAL_RCC_GetSysClockFreq() API to avoid the risk of rounding overflow.
    • HAL/LL UART driver
      • Update UART polling processes to handle efficiently the Lock mechanism
        • Move the process unlock at the top of the HAL_UART_Receive() and HAL_UART_Transmit() API.
      • Update UART interruption handler to manage correctly the overrun interrupt
        • Add in the HAL_UART_IRQHandler() API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.
      • Update UART BRR calculation for ROM size gain
    • HAL/LL USART driver
      • Update some API description
        • HAL_USART_Transmit() / HAL_USART_Transmit_IT()
          • HAL_USART_Receive() / HAL_USART_Receive_IT()
          • HAL_USART_TransmitReceive() / HAL_USART_TransmitReceive_IT()
          • HAL_USART_Transmit_DMA() / HAL_USART_Receive_DMA() / HAL_USART_TransmitReceive_DMA()
      • Update USART interruption handler to manage correctly the overrun interrupt
        • Add in the HAL_USART_IRQHandler() API a check on USART_CR1_RXNEIE bit when an overrun interrupt occurs.
    • HAL/LL USB driver
      • Bug fix: USB_ReadPMA() and USB_WritePMA() by ensuring 16-bits access to USB PMA memory
      • Bug fix: correct USB RX count calculation
      • Fix USB Bulk transfer double buffer mode
      • Remove register keyword from USB defined macros as no more supported by C++ compiler
      • Minor rework on USBD_Start() and USBD_Stop() APIs: stopping device will be handled by HAL_PCD_DeInit() API.
    • LL UTILS driver
      • Add new LL API LL_SetFlashLatency() to set Flash latency.
  • Refer to release notes for further details

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V5.4.0 Apache License v2.0 release notes
STM32L1xx CMSIS V2.3.1 Apache License v2.0 release notes
STM32L1xx HAL V1.4.1 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.1.0 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.5 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.5 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.3 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V5.1.2 BSD-3-Clause release notes
BSP cs43l22 V2.0.4 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V2.0.2 BSD-3-Clause release notes
BSP st7735 V1.1.5 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.5.2 SLA0044 release notes
STM32 TouchSensing Library V2.2.3 SLA0044 release notes
FatFS R0.12c BSD-3-Clause release notes
ST modified 20190329 BSD-3-Clause release notes ST
FreeRTOS V10.0.1 MIT release notes
ST modified 20190329 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.44 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.1 BSD-3-Clause release notes
Fonts V1.0.1 BSD-3-Clause release notes
Log V1.0.2 BSD-3-Clause release notes


Known Limitations

  • None


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.40.1 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.29 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.9.0 + ST-Link


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Major Maintenance release

Contents

  • CMSIS Core updates

    • Update to new version V5.4.0
  • CMSIS Device updates

    • Update CMSIS device description files according to latest version of HAL/LL drivers
    • Refer to release notes for further details
  • HAL / LL Drivers updates

    • Add support of HAL callback registration feature
    • Fix known defects and add several enhancements implementation
    • Refer to release notes for further details
  • Middlewares updates

    • Update to new version of FreeRTOS V10.0.1 (ST modified 20190329)
    • Update to new version of FatFS R0.12c (ST modified 20190329)
    • Update to new version of STM32 USB Device Library V2.5.2
    • Update to new version of STemWin 5.44 Library
    • Update to new version of STM32 TouchSensing Library V2.2.3
  • Projects updates

    • Demonstrations binaries are no more delivered within the STM32CubeL1 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Update of FW projects following changes in latest version of HAL/LL and Middlewares

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V5.4.0 Apache License v2.0 release notes
STM32L1xx CMSIS V2.3.0 Apache License v2.0 release notes
STM32L1xx HAL V1.4.0 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.1.0 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.5 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.5 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.3 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V5.1.2 BSD-3-Clause release notes
BSP cs43l22 V2.0.4 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V2.0.2 BSD-3-Clause release notes
BSP st7735 V1.1.5 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.5.2 SLA0044 release notes
STM32 TouchSensing Library V2.2.3 SLA0044 release notes
FatFS R0.12c BSD-3-Clause release notes
ST modified 20190329 BSD-3-Clause release notes ST
FreeRTOS V10.0.1 MIT release notes
ST modified 20190329 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.44 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.1 BSD-3-Clause release notes
Fonts V1.0.1 BSD-3-Clause release notes
Log V1.0.2 BSD-3-Clause release notes


Known Limitations

  • None


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2 + ST-Link
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25 + ST-Link
  • System Workbench for STM32 (SW4STM32) toolchain V2.7.2 + ST-Link


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Patch release

Contents

  • CMSIS Device updates
    • Corrected devices supporting RI_HYSCR3, RI_HYSCR4, RI_ASMRx, RI_CMRx, RI_CICRx registers in CMSIS files

Projects

  • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).
Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.5 BSD-3-Clause release notes
STM32L1xx CMSIS V2.2.3 BSD-3-Clause release notes
STM32L1xx HAL V1.3.1 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.7 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.4 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.4 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.2 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V4.0.1 BSD-3-Clause release notes
BSP cs43l22 V2.0.2 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.2 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.11 BSD-3-Clause release notes
ST modified 20150508 BSD-3-Clause release notes ST
FreeRTOS V9.0.0 MIT release notes
ST modified 20170303 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.32 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.24 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V7.0.1 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V2.1 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

Contents

  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Update projects to fix Linux compilation errors

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.5 BSD-3-Clause release notes
STM32L1xx CMSIS V2.2.2 BSD-3-Clause release notes
STM32L1xx HAL V1.3.1 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.7 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.4 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.4 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.2 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V4.0.1 BSD-3-Clause release notes
BSP cs43l22 V2.0.2 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.2 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.11 BSD-3-Clause release notes
ST modified 20150508 BSD-3-Clause release notes ST
FreeRTOS V9.0.0 MIT release notes
ST modified 20170303 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.32 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.24 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V7.0.1 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V2.1 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

Contents

  • HAL / LL Drivers updates

    • Fixed known defects and several enhancements implementation.
    • Enhanced HAL delay and time base implementation:
      • Added new template stm32l1xx_hal_timebase_tim_template.c which can be used to override the native HAL time base functions (defined as weak) to use Timer as time base tick source.
      • For more details about the usage of these drivers, please refer to HAL_TimeBase examples and FreeRTOS-based applications.
    • The following drivers have been updated/reviewed and the changes require an update on the application code based on HAL V1.3.0:
      • HAL CORTEX, LL DMA, HAL FLASH, HAL/LL GPIO, HAL/LL I2C, HAL PCD, HAL/LL PWR, HAL/LL RTC, HAL/LL SPI, HAL/LL TIM
    • Refer to release notes for further details
  • Middlewares updates

    • Upgrade to new version of STemWin Library 5.32 (build 20160205)
      • Upgrade to use SEGGER emWin version V5.32.
    • Upgrade to new version of use FreeRTOS V9.0.0 (ST modified 20170303)
      • Update CMSIS-RTOS drivers to support both CMSIS Core V4.x and V5.x.
      • Version full backward compatible with previous version FreeRTOS V8.2.3.
        • Update CM0 ports, add possibility to use a timebase different than Systick.
        • cmsis_os.c: Add support of Statically Allocated Systems introduced with FreeRTOS V9.0.0.
        • cmsis_os.c: Add new wrappers CMSIS-RTOS APIs.
  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Update of FW projects following changes in latest version of HAL/LL and Middlewares

    • Add new projects Templates_LL to provide a reference project through the LL API that can be used to build any firmware application.

    • Add new project HAL_TimeBase to illustrate how to customize the HAL time base driver :

      • HAL/HAL_Timebase_TIM (modified and renamed previous HAL_TimeBase)
    • Update FreeRTOS applications projects to use the new HAL delay and time base implementation

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.5 BSD-3-Clause release notes
STM32L1xx CMSIS V2.2.1 BSD-3-Clause release notes
STM32L1xx HAL V1.3.0 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.6 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.3 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.3 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.1 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V4.0.1 BSD-3-Clause release notes
BSP cs43l22 V2.0.2 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.2 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.11 BSD-3-Clause release notes
ST modified 20150508 BSD-3-Clause release notes ST
FreeRTOS V9.0.0 MIT release notes
ST modified 20170303 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.32 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V7.0.1 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.14 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

  • First official release introducing the STM32Cube LL (Low Layer) APIs for the STM32L1xx serie :
    • Low Layer drivers APIs allow performance and memory footprint optimization, with register access level programming

Contents

  • CMSIS Device updates

    • Maintenance release to fix known defects
    • Add macros _Pos and _Msk for each constants
      • For instance:
        • #define ADC_LTR_LT ((uint32_t)0x00000FFFU)
      • Is now provided as:
        • #define ADC_LTR_LT_Pos (0U)
        • define ADC_LTR_LT_Msk (0xFFFU << ADC_LTR_LT_Pos)
        • #define ADC_LTR_LT ADC_LTR_LT_Msk
    • Refer to release notes for further details
  • HAL / LL Drivers updates

    • Maintenance release to fix known defects.
    • Low Layer drivers APIs provide register level programming: they require deep knowledge of peripherals described in STM32L1xx Reference Manual.
    • Low Layer drivers are available for: ADC, COMP, CORTEX, CRC, DAC, DMA, EXTI, GPIO, I2C, IWDG, OPAMP, PWR, RCC, RTC, SPI, TIM, USART, WWDG peripherals and additional Low Level Bus, System and Utilities APIs.
    • Low Layer drivers APIs are implemented as static inline function in new Inc/stm32l1xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32l1xx_ll_ppp.h file must be included in user code.
    • Refer to release notes for further details
  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Examples available on the STM32L152RE-Nucleo Board are provided in order to describe how to use the Low Level drivers

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.5 BSD-3-Clause release notes
STM32L1xx CMSIS V2.2.0 BSD-3-Clause release notes
STM32L1xx HAL V1.2.0 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.5 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.2 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.2 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.0 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V4.0.1 BSD-3-Clause release notes
BSP cs43l22 V2.0.2 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.2 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.11 BSD-3-Clause release notes
ST modified 20150508 BSD-3-Clause release notes ST
FreeRTOS V8.2.3 MIT release notes
ST modified 20160122 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.32 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.60.1 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.20 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.4.0 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.9.0 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

Contents

  • CMSIS Device updates

    • Update CMSIS device description files according to latest version of HAL/LL drivers
    • Refer to release notes for further details
  • HAL / LL Drivers updates

    • Fix known defects and add several enhancements implementation
    • Split aAPBAHBPrescTable into aAHBPrescTable and aAPBPrescTable
    • Reduce HSE_STARTUP_TIMEOUT from 5s to 100ms
    • It is now possible to use the I2C transmission with a data size of 0
    • Optimize HAL_RCC_ClockConfig
    • Refer to release notes for further details
  • Middlewares updates

    • STM32 USB Device Library
      • usbd_cdc.c: change #include “USBD_CDC.h” by #include “usbd_cdc.h”
  • BSP Drivers updates

    • STM32L1xx-Nucleo
      • Add support of 4Gb sd cards
    • STM32L152D_EVAL
      • Add corrections on the display of the LCD Glas
  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Update of FW projects following changes in latest version of HAL/LL and Middlewares

    • The applications and demonstrations now use the “Ultimate Liberty” license instead of “Liberty” license

    • Update some include path to be compatible with GNU/Linux-based platform

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.5 BSD-3-Clause release notes
STM32L1xx CMSIS V2.1.3 BSD-3-Clause release notes
STM32L1xx HAL V1.1.3 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.5 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.2 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.2 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.1.0 BSD-3-Clause release notes
BSP Adafruit Shield V2.0.1 BSD-3-Clause release notes
BSP Common V4.0.1 BSD-3-Clause release notes
BSP cs43l22 V2.0.2 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.2.2 BSD-3-Clause release notes
BSP ili9320 V1.2.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.2 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.11 BSD-3-Clause release notes
ST modified 20150508 BSD-3-Clause release notes ST
FreeRTOS V8.2.3 MIT release notes
ST modified 20160122 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.32 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.20 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.17 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.4.0 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.7.0 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

  • Fix known defects and enhancements implementation
  • Adding latest version of STM32CubeUpdater (V4.10.0)

Contents

  • CMSIS updates

    • CMSIS-Core V4.10
      • Corrected: MISRA-C:2004 violations.
      • Corrected: intrinsic functions __DSB, __DMB, __ISB.
      • Corrected: register definitions for ITCMCR register.
      • Corrected: register definitions for CONTROL_Type register.
      • Added: functions SCB_GetFPUType, SCB_InvalidateDCache_by_Addr to core_cm7.h.
      • Added: register definitions for APSR_Type, IPSR_Type, xPSR_Type register.
      • Added: __set_BASEPRI_MAX function to core_cmFunc.h.
      • Added: intrinsic functions __RBIT, __CLZ for Cortex-M0/CortexM0+.
    • CMSIS-DSP V1.4.5
      • Added support for the Cortex-M7 processor
      • Fixed bug in arm_mat_inverse_f32.c and arm_mat_inverse_f64.c. They weren’t properly handling diagonal matrices.
      • arm_cfft_f32.c - help documentation updated
      • Updated documentation to show deprecated functions
    • CMSIS-RTOS V1.02 (unchanged)
  • HAL / LL Drivers updates

    • Fix known defects and add several enhancements implementation
    • Refer to release notes for further details
  • Middlewares updates

    • STM32 USB Device Library
      • Minor enhancements which does not impact neither the APIs nor the behavior of applications developed so far.
      • Upgrade to use FatFs R0.11
        • Add new APIs FATFS_LinkDriverEx() and FATFS_UnLinkDriverEx() to manage USB Key Disk having multi-lun capability. These APIs are equivalent to FATFS_LinkDriver() and FATFS_UnLinkDriver() with “lun” parameter set to 0.
        • ff_conf.h: add new define "_USE_BUFF_WO_ALIGNMENT".
        • Important note: For application code based on previous FatFs version; when moving to R0.11 the changes that need to be done is to update ffconf.h file, taking ffconf_template.h file as reference.
      • Upgrade to use STemWin version V5.28
      • for more details about the changes in this version refer to “Revision History” section in STemWin528.pdf document
      • FreeRTOS
      • No changes in file naming/set of sources files.
      • Align Port.c for CM7, CM4 and CM3 to M0 regarding function vPortSuppressTicksAndSleep : Same implementation for CM7, CM4 and CM3 as CM0
      • Macros configPRE_SLEEP_PROCESSING and configPOST_SLEEP_PROCESSING are now passing the parameter ulExpectedIdleTime by pointer
      • Adding implementation for APIs osSignalSet and osSignalWait.
      • API changes on CMSIS-RTOS (osDelayUntil()).
      • Internal enhancements and bug fixes.
  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Update of FW projects following changes in latest version of HAL/LL and Middlewares

    • Adding new projects to introduce the FreeRTOS V8.2.1

      • FreeRTOS_SignalFromISR (thread signaling from an interrupt)
      • FreeRTOS_Signal (thread signaling)
      • FreeRTOS_Mail (mail queues)
Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.3 BSD-3-Clause release notes
STM32L1xx CMSIS V2.1.2 BSD-3-Clause release notes
STM32L1xx HAL V1.1.2 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.3 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.2 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.2 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.0.2 BSD-3-Clause release notes
BSP Adafruit Shield V1.1.1 BSD-3-Clause release notes
BSP Common V1.2.1 BSD-3-Clause release notes
BSP cs43l22 V1.0.1 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.1.2 BSD-3-Clause release notes
BSP ili9320 V1.1.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.1 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.11 BSD-3-Clause release notes
ST modified 20150508 BSD-3-Clause release notes ST
FreeRTOS V8.2.1 MIT release notes
ST modified 20150327 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.28 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.20 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.16 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.3.1 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.3.0 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

  • Add support of System Workbench for STM32 (SW4STM32) toolchain

Contents

  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Add projects for SW4STM32 toolchain

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.20 BSD-3-Clause release notes
STM32L1xx CMSIS V2.1.1 BSD-3-Clause release notes
STM32L1xx HAL V1.1.1 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.2 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.1 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.1 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.0.1 BSD-3-Clause release notes
BSP Adafruit Shield V1.1.1 BSD-3-Clause release notes
BSP Common V1.2.1 BSD-3-Clause release notes
BSP cs43l22 V1.0.1 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.1.2 BSD-3-Clause release notes
BSP ili9320 V1.1.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.0 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.10b BSD-3-Clause release notes
ST modified 20141120 BSD-3-Clause release notes ST
FreeRTOS V8.1.2 MIT release notes
ST modified 20141225 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.26 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.20 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.11 + ST-LINK
    • A patch is provided to support STM32L152RExx under Utilities_Software-ARM_STM32L1xx_Patch.
    • Important note: some of MDK-ARM projects were created with previous version like v4.73. If you are using MDK-ARM v5.10 (and later) you have to install a legacy patch to be able to open projects built with v4.73
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK
  • System Workbench for STM32 (SW4STM32) toolchain V1.2.0 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

  • Fix known defects and several enhancements implementation

Contents

  • HAL / LL Drivers updates

    • Update drivers to be C++ compliant
    • Add interfaces to access MPU features (refer to stm32l1xx_hal_cortex.h)
    • Adding HAL_RCCEx_GetPeriphCLKFreq interface
    • Adding interface HAL_TIM_SlaveConfigSynchronization_IT
    • Add new interfaces for PWR:
      • void HAL_PWR_EnableSleepOnExit(void);
      • void HAL_PWR_DisableSleepOnExit(void);
      • void HAL_PWR_EnableSEVOnPend(void);
      • void HAL_PWR_DisableSEVOnPend(void);
      • void HAL_PWR_EnableSleepOnExit(void);
      • uint32_t HAL_PWREx_GetVoltageRange(void);
    • Enhancement implementation. One change done on the HAL require an update on the application code based on HAL V1.1.0
      • HAL CRYP driver updated to support multi instance, so user must ensure that the new parameter Instance is initialized in his application (CRYPHandle.Instance = CRYP)
    • Refer to release notes for further details
  • Middlewares updates

    • USB Device V2.4.0: backward compatible with previous used version V2.3.0
    • STemWin V5.26: project based on previous version V5.24 need to be updated following the change in the binary name
    • ex. STemWin524b_CM4_IAR.a is renamed into STemWin526_CM4_IAR.a
    • FatFs R0.10b: project based on previous version R0.10 need to update ffconf.h file (for more details please refer the associated release notes)
    • FreeRTOS V8.1.2: project based on previous version V7.6.0 needs some update to work with version V8.1.2 (for more details please refer the associated release notes)
  • BSP Drivers updates

    • Align BSP drivers with version V1.1.0 of HAL peripheral drivers
  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).

    • Update of FW projects following changes in latest version of HAL/LL and Middlewares

Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V4.20 BSD-3-Clause release notes
STM32L1xx CMSIS V2.1.1 BSD-3-Clause release notes
STM32L1xx HAL V1.1.1 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.2 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.1 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.1 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.0.1 BSD-3-Clause release notes
BSP Adafruit Shield V1.1.1 BSD-3-Clause release notes
BSP Common V1.2.1 BSD-3-Clause release notes
BSP cs43l22 V1.0.1 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.1.2 BSD-3-Clause release notes
BSP ili9320 V1.1.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.4.0 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.10b BSD-3-Clause release notes
ST modified 20141120 BSD-3-Clause release notes ST
FreeRTOS V8.1.2 MIT release notes
ST modified 20141225 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.26 SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.1.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.20 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.11 + ST-LINK
    • A patch is provided to support STM32L152RExx under Utilities_Software-ARM_STM32L1xx_Patch.
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.1.1 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100xx devices
    • STM32L151xx devices
    • STM32L152xx devices
    • STM32L162xx devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)


Main Changes

Maintenance release

  • Official release for new STM32L1xxxDX (eXtended) devices
  • STM32L151xDX, STM32L152xDX and STM32L162xDX
  • Fix BSP drivers compilation issue under Linux (done by changing “" by”/" in the include path)

Contents

  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).
Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V3.20 BSD-3-Clause release notes
STM32L1xx CMSIS V2.1.0 BSD-3-Clause release notes
STM32L1xx HAL V1.1.0 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.1 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.0 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.0 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.0.0 BSD-3-Clause release notes
BSP Adafruit Shield V1.1.1 BSD-3-Clause release notes
BSP Common V1.2.1 BSD-3-Clause release notes
BSP cs43l22 V1.0.1 BSD-3-Clause release notes
BSP hx8347d V1.1.1 BSD-3-Clause release notes
BSP ili9325 V1.1.2 BSD-3-Clause release notes
BSP ili9320 V1.1.2 BSD-3-Clause release notes
BSP spfd5408 V1.1.1 BSD-3-Clause release notes
BSP stlm75 V1.0.1 BSD-3-Clause release notes
BSP st7735 V1.1.1 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.2.0 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.10 BSD-3-Clause release notes
ST modified 20140422 BSD-3-Clause release notes ST
FreeRTOS V7.6.0 MIT release notes
ST modified 20140613 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.24b SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.0.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Main Changes

First official release of STM32CubeL1 (STM32Cube for STM32L1 Series)

Contents

  • Projects updates

    • The STM32CubeL1 Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table (STM32CubeProjectsList.html).
Projects
Name Version License Release notes
Projects see Projects Release note for details see Projects Release note for details release notes


Components

Note: in the tables below, components in bold have changed since previous release

Drivers
Name Version License Release note
Cortex-M CMSIS V3.20 BSD-3-Clause release notes
STM32L1xx CMSIS V2.0.0 BSD-3-Clause release notes
STM32L1xx HAL V1.0.0 BSD-3-Clause release notes
BSP STM32L152D_EVAL V2.0.0 BSD-3-Clause release notes
BSP STM32L152C-Discovery V1.0.0 BSD-3-Clause release notes
BSP STM32L100C-Discovery V1.0.0 BSD-3-Clause release notes
BSP STM32L1xx_Nucleo V1.0.0 BSD-3-Clause release notes
BSP Adafruit Shield V1.1.0 BSD-3-Clause release notes
BSP Common V1.2.0 BSD-3-Clause release notes
BSP cs43l22 V1.0.0 BSD-3-Clause release notes
BSP hx8347d V1.1.0 BSD-3-Clause release notes
BSP ili9325 V1.1.1 BSD-3-Clause release notes
BSP ili9320 V1.1.1 BSD-3-Clause release notes
BSP spfd5408 V1.1.0 BSD-3-Clause release notes
BSP stlm75 V1.0.0 BSD-3-Clause release notes
BSP st7735 V1.0.0 BSD-3-Clause release notes
Middlewares
Name Version License Release note
STM32 USB Device Library V2.2.0 SLA0044 release notes
STM32 TouchSensing Library V2.1.1 SLA0044 release notes
FatFS R0.10 BSD-3-Clause release notes
ST modified 20140422 BSD-3-Clause release notes ST
FreeRTOS V7.6.0 MIT release notes
ST modified 20140613 BSD-3-Clause release notes ST
STemWin STemWinLibrary 5.24b SLA0044 release notes
Utilities
Name Version License Release note
CPU V1.0.0 BSD-3-Clause release notes
Fonts V1.0.0 BSD-3-Clause release notes
Log V1.0.0 BSD-3-Clause release notes


Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V7.10 + ST-LINK
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.10 + ST-LINK
  • Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain V5.0.0 + ST-LINK


Supported Devices and Boards

  • Products
    • STM32L100 (VALUE) product lines devices
    • STM32L151 (ACCESS) product lines devices
    • STM32L1x2 (LCD) product lines devices
  • Boards
    • NUCLEO-L152RE board (MB1136 RevC)
    • STM32L152D-EVAL board (MB819 RevB)
    • 32L100CDISCOVERY board (MB1108 RevB)
    • 32L152CDISCOVERY board (MB963 RevC)