Update History
V1.2.0
/ 06-February-2015Main
Changes - HAL has been updated to support the STM32L071xx STM32L072xx STM32L073xx STM32L082xx STM32L083xx series
- HAL Flash update
- HAL TIM update :
- Four new instances : TIM3, TIM7, TIM21, TIM22
- HAL USART update :
- Two new instances : USART 4, USART 5
- HAL I2C update :
- HAL GPIO update :
- HAL DAC update :
- A second channel has been introduced
- HAL FIREWALL introduction
- All other HAL IPs have also been updated in the context of the overall HAL alignment effort of all the STM32 family
- More than 120 corrections have been implemented since the previous V1.1.0 delivery
- Known limitations :
- Introduced
a FW patch to deactivate the HW SPI-V2.3 correction in case of I2S PCM
Short mode usage (Please refer to the STM32L073xx Errata Sheet for more
details). In this use case, we come back to the HW SPI 2.2 behavior
which is correct for the I2S PCM short mode
V1.1.0
/ 18-June-2014Main
Changes
-
HAL generic update
- Fix flag clear procedure: use atomic write operation "=" instead of ready-modify-write operation "|=" or "&="
- Fix
on Timeout management, Timeout value set to 0 passed to API
automatically exits the function after checking the flag without any
wait
- Common update for the following communication peripherals: SPI, UART, USART and IRDA
- Add DMA circular mode support
- Remove lock from recursive process
- Add
new macro __HAL_RESET_HANDLE_STATE to reset a given handle state
- When USE_RTOS == 1 (in stm32l0xx_hal_conf.h), the __HAL_LOCK() is not defined instead of being defined empty
- Use “__IO const” instead of
“__I”, to avoid any compilation issue when __cplusplus switch is defined
- Add new functions for the DBGMCU module
- HAL_EnableDBGSleepMode()
- HAL_DisableDBGSleepMode()
- HAL_EnableDBGStopMode()
- HAL_DisableDBGStopMode()
- HAL_EnableDBGStandbyMode()
- HAL_DisableDBGStandbyMode()
- Miscellaneous comments update
-
HAL FLASH update
- Add
new functions: HAL_FLASHEx_OB_SelectPCROP() and HAL_FLASHEx_OB_DeSelectPCROP()
- Some functions was renamed and moved to the extension files (stm32l0xx_hal_flash_ex.h/.c)
- Rename
FLASH_HalfPageProgram() into HAL_FLASHEx_HalfPageProgram()
- Rename
FLASH_EnableRunPowerDown() into HAL_FLASHEx_EnableRunPowerDown()
- Rename
FLASH_DisableRunPowerDown() into HAL_FLASHEx_DisableRunPowerDown()
- Rename
all HAL_DATA_EEPROMEx_xxx() functions into HAL_FLASHEx_DATAEEPROM_xxx()
- Note: aliases has been added to keep compatibility with previous version
- HAL GPIO update
- Remove
IS_GET_GPIO_PIN macro
- Add
a new function HAL_GPIO_LockPin()
- Private Macro __HAL_GET_GPIO_SOURCE renamed into GET_GPIO_SOURCE
-
HAL DMA update
- Fix in HAL_DMA_PollForTransfer() to set error code HAL_DMA_ERROR_TE in case of HAL_ERROR status
- HAL PWR update
- HAL_PWR_PVDConfig(): add clear of the EXTI trigger before new configuration
- Fix in HAL_PWR_EnterSTANDBYMode() to not clear Wakeup flag (WUF), which need to be cleared at application level before to call this function
-
HAL RCC update
- Allow to calibrate the HSI when it is used as system clock source
- Fix implementation of IS_RCC_OSCILLATORTYPE() macro
-
HAL ADC update
- Update ADC internal channels mapping: TEMPSENSOR connected to ADC_CHANNEL_18 and VLCD mapped to ADC_CHANNEL_16
- Skip polling for ADRDY flag when Low Power Auto Off mode is enabled
-
HAL COMP update
- Add
LPTIMConnection field in the COMP_InitTypeDef structure.
- Add
new defines: COMP_LPTIMCONNECTION_DISABLED, COMP_LPTIMCONNECTION_ENABLED
- Add
new macro IS_COMP_LPTIMCONNECTION
-
HAL LPTIM update
- Add
CKPOL configuration for encoder mode
-
HAL WWDG update
- Miscellaneous minor update on the source code
-
HAL IWDG update
- Miscellaneous minor update on the source code
-
HAL CRC update
- Some functions was renamed and moved to the extension files (stm32l0xx_hal_crc_ex.h/.c)
- HAL_CRC_Input_Data_Reverse() renamed into HAL_CRCEx_Input_Data_Reverse()
- HAL_CRC_Output_Data_Reverse() renamed into HAL_CRCEx_Output_Data_Reverse()
- Note: aliases has been added to keep compatibility with previous version
-
HAL CRYP update
- HAL_CRYP_ComputationCpltCallback() renamed into HAL_CRYPEx_ComputationCpltCallback() and moved to the extension files (stm32l0xx_hal_cryp_ex.h/.c)
- Note: alias has been added to keep compatibility with previous version
-
HAL I2C update
- Add
management of NACK event in Master transmitter mode and Slave
transmitter/receiver modes (only in polling mode), in that case the
current transfer is stopped.
-
HAL SMBUS update
- Add
a new function: HAL_SMBUS_DisableListen_IT()
- Add aliases for the following functions
- #define
HAL_SMBUS_Slave_Listen_IT
HAL_SMBUS_EnableListen_IT
- #define HAL_SMBUS_SlaveAddrCallback HAL_SMBUS_AddrCallback
- #define HAL_SMBUS_SlaveListenCpltCallback HAL_SMBUS_ListenCpltCallback
- Add alias HAL_SMBUS_STATE_SLAVE_LISTEN for the constant HAL_SMBUS_STATE_LISTEN
-
HAL UART update
- HAL_UART_WakeupCallback() renamed into HAL_UART_WakeupCallback() and moved to the extension files (stm32l0xx_hal_cryp_ex.h/.c)
- Add
new macros to control CTS and RTS
- Add specific macros to manage the
flags cleared only by a software sequence
- __HAL_UART_CLEAR_PEFLAG()
- __HAL_UART_CLEAR_FEFLAG()
- __HAL_UART_CLEAR_NEFLAG()
- __HAL_UART_CLEAR_OREFLAG()
- __HAL_UART_CLEAR_IDLEFLAG()
- Add several enhancements without
affecting the driver functionalities
- Remove the check on RXNE set
after reading the Data in the DR register
- Update the transmit processes to
use TXE instead of TC
- Update HAL_UART_Transmit_IT() to enable UART_IT_TXE instead of UART_IT_TC
-
HAL USART update
- Add specific macros to manage the
flags cleared only by a software sequence
- __HAL_USART_CLEAR_PEFLAG()
- __HAL_USART_CLEAR_FEFLAG()
- __HAL_USART_CLEAR_NEFLAG()
- __HAL_USART_CLEAR_OREFLAG()
- __HAL_USART_CLEAR_IDLEFLAG()
- Update HAL_USART_Transmit_IT() to enable USART_IT_TXE instead of USART_IT_TC
-
HAL IRDA update
- Add specific macros to manage the
flags cleared only by a software sequence
- __HAL_IRDA_CLEAR_PEFLAG()
- __HAL_ IRDA _CLEAR_FEFLAG()
- __HAL_ IRDA _CLEAR_NEFLAG()
- __HAL_ IRDA _CLEAR_OREFLAG()
- __HAL_ IRDA _CLEAR_IDLEFLAG()
- Add several enhancements without
affecting the driver functionalities
- Remove the check on RXNE set
after reading the Data in the DR register
- Update HAL_IRDA_Transmit_IT() to enable IRDA_IT_TXE instead of IRDA_IT_TC
- Add the following APIs used within
DMA process
- HAL_StatusTypeDef
HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda);
- HAL_StatusTypeDef
HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda);
- HAL_StatusTypeDef
HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda);
- void
HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda);
- void
HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda);
-
HAL SMARTCARD update
- Add specific macros to manage the
flags cleared only by a software sequence
- __HAL_SMARTCARD_CLEAR_PEFLAG()
- __HAL_SMARTCARD_CLEAR_FEFLAG()
- __HAL_SMARTCARD_CLEAR_NEFLAG()
- __HAL_SMARTCARD_CLEAR_OREFLAG()
- __HAL_SMARTCARD_CLEAR_IDLEFLAG()
- Add several enhancements without
affecting the driver functionalities
- Add a new state
HAL_SMARTCARD_STATE_BUSY_TX_RX and all processes has been updated
accordingly
- Update HAL_SMARTCARD_Transmit_IT() to enable SMARTCARD_IT_TXE instead of SMARTCARD_IT_TC
- HAL SPI update
- Bugs fix
- SPI interface is used in synchronous polling mode: at high clock rates like SPI prescaler 2 and 4, calling
HAL_SPI_TransmitReceive() returns with error HAL_TIMEOUT
- HAL_SPI_TransmitReceive_DMA() does not clean up the TX DMA, so any subsequent SPI calls return the DMA error
- HAL_SPI_Transmit_DMA() is failing when data size is equal to 1 byte
- Add the following APIs used within the DMA process
- HAL_StatusTypeDef
HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi);
- HAL_StatusTypeDef
HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi);
- HAL_StatusTypeDef
HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi);
- void
HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi);
- void
HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi);
- void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef
*hspi);
-
HAL TSC update
-
HAL PCD update
V1.0.0
/ 22-April-2014Main
Changes
First official release.
License
Redistribution
and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions
of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
- Redistributions
in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the
name of STMicroelectronics nor the names of its contributors may be
used to endorse or promote products derived
from this software without specific prior written permission.
THIS
SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
For
complete documentation on STM32 Microcontrollers visit www.st.com/STM32
|