Back to Release page
# Release Notes for STM8L15x/16x/05x/AL31-L Standard Peripherals Library Drivers (StdPeriph_Driver) Copyright 2014 STMicroelectronics
## Contents STM8L15x/16x/05x/AL31-L Standard Peripherals Library Drivers update History License ## STM8L15x/16x/05x/AL31-L Standard Peripherals Library Drivers update History ### V1.6.1 / 30-September-2014 Main Changes stm8l10x_flash.c/.h Update timeout variable declaration on 16 bits instead of 32 bits in the FLASH_WaitForLastOperation() function to avoid __ramfunc issue with IAR. Add this note in the FLASH Driver to clarify the execution from RAM situation with IAR Toolchain: 1- Ignore the IAR compiler warnings, these warning don't impact the FLASH Program/Erase operations. The FLASH code that must be executed from RAM starts at the enable of the Program/Erase feature by accessing the FLASH_CR2 and the FLASH_NCR2 registers. All the variables initializations don't necessary require the execution from RAM. 2- These warnings are dependencies of the IAR Compiler: As the code generation is made using many runtime library functions to keep code size to a minimum. stm8l10x_rst.c/.h Update the RST_GetFlagStatus() function implementation to return the state SET/RESET. ### V1.6.0 / 28-June-2013 Main Changes Add the s upport of STM8L05x Value Line and the STM8AL products devices Update files header with new license disclaimer. stm8l15x.h Add "#define STM8L05X_LD_VL" for STM8L051x3 Low Density Value Line devices Add "#define STM8L05X_MD_VL" for STM8L052x6 Medium Density Value Line devices Add "#define STM8L05X_HD_VL" for STM8L052x8 High Density Value Line devices Add "#define STM8AL31_L_MD" for STM8AL3x Medium Density devices Replace "__RCST7__" by "__RCSTM8__" Add " MemoryAddressCast" define to manage the address cast within the STM8L family. Replace "#include <intrist7.h>" by "#include <intrins.h>" stm8l15x_usart.c/.h Update "USART_ClearITPendingBit()" function and parameter list. stm8l15x_flash.c/.h Update to add the support of the STM8L05x Value Line and the STM8AL products devices Fix memory address cast in the following functions: FALSH_ProgramBlock(), FALSH_ProgramByte(), FALSH_ProgramWord(), FALSH_EraseByte() and FALSH_ReadByte(). stm8l15x_itc.c/.h Update to add the support of the STM8L05x Value Line and the STM8AL products devices ### V1.5.0 / 13-May-2011 Main Changes Add s upport of STM8L15x Low Density devices Overall peripheral drivers source code updated to group functions by lists related to peripheral features and to add more comments on how to use the API(steps preconditions and Hints) stm8l15x.h Replace __CONST define by CONST Update function execution from RAM handling Update STM8L15x Standard Peripheral Library main version defines Update RI_Structure to support STM8L15x Low Density devices Update interrupts macro definitions for IAR compiler stm8l15x_clk.c Replace __CONST by CONST in the SYSDivFactor declaration stm8l15x_dac.c/.h Rename DAC_TriangleWaveAmplitude() function to DAC_SetTriangleWaveAmplitude() Rename DAC_NoiseWaveLFSR() function to DAC_SetNoiseWaveLFSR() stm8l15x_rtc.c RTC write protection management updated in RTC_DeInit(), RTC_Init(), RTC_RatioCmd(), RTC_BypassShadowCmd(), RTC_SetTime(), RTC_SetDate(), RTC_SetAlarm(), RTC_AlarmCmd(), RTC_WakeUpClockConfig(), RTC_WakeUpCmd() and RTC_OutputConfig() functions RTC_WaitForSynchro() function updated by adding the write protection management RTC_GetTime(), RTC_GetSubSecond(), RTC_GetDate() functions updated by removing the clear of RSF bit ### 1.4.0 - 09/24/2010 General Add support of High Density and Medium Density Plus devices. New drivers added for AES and TIM5 STM8L15x_StdPeriph_Driver stm8l15x.h updated to support High Density and Medium Density Plus devices Add definition for STM8L15x Medium Density, Medium Density Plus and High Density devices Add "error" directive to force device family choice Add EEPROM definition in compiler defines (COSMIC, RAISONANCE, IAR) Add MEMCPY definition per devices family in RAISONANCE compiler defines Add function execution from RAM handling defines: change #define USE_COSMIC_SECTIONS (1) by #define COSMIC_RAM_EXECUTION (1) for Cosmic compiler Add new Medium Density Plus and High Density devices peripheral definition(AES, CSS on LSE, GPIO G/H/I, SPI2, TIM5, USART2/3) Update Peripheral registers declaration with Medium Density Plus and High Density devices new features IAR interrupt vector handling macro definition update: change #define STRINGIZE_AUX(x) #x #define STRINGIZE(x) STRINGIZE_AUX( vector = (x) ) #define INTERRUPT_HANDLER( a, b ) \ _Pragma( STRINGIZE( (b)+2 ) ) \ __interrupt void (a)( void ) #define INTERRUPT_HANDLER_TRAP(a) \ _Pragma( STRINGIZE( 1 ) ) \ __interrupt void (a) (void) by #define STRINGVECTOR(x) #x #define VECTOR_ID(x) STRINGVECTOR( vector = (x) ) #define INTERRUPT_HANDLER( a, b ) \ _Pragma( VECTOR_ID( (b)+2 ) ) \ __interrupt void (a)( void ) #define INTERRUPT_HANDLER_TRAP(a) \ _Pragma( VECTOR_ID( 1 ) ) \ __interrupt void (a) (void) "INTERRUPT" added to manage interrupt handler declaration for IAR and Cosmic Compilers stm8l15x_adc.h: updated to support channels 25, 26 and 27 stm8l15x_clk.h/.c: updated to support added peripherals: AES, CSSLSE, SPI2, TIM5, USART2 and USART3 New functions added: CLK_ClockSecuritySytemDeglitchCmd() CLK_ClearFlag() CLK_LSEClockSecuritySystemEnable() CLK_RTCCLKSwitchOnLSEFailureEnable() stm8l15x_comp.c: COMP_TriggerConfig() function updated stm8l15x_dac.h/.c: updated to support DAC channel2, Wave, noise and triangle signals generation DAC_Trigger_T5_TRGO and DAC_Trigger_Ext added in DAC_Trigger_TypeDef DAC_Channel_2 added in DAC_Channel_TypeDef New functions added: DAC_WaveGenerationCmd() DAC_NoiseWaveLFSR() DAC_TriangleWaveAmplitude() DAC_SetChannel2Data() DAC_DualSoftwareTriggerCmd() DAC_SetDualChannelData() stm8l15x_dma.h/.c: updated to support DMA channel 3 New function added : DMA_SetCurrDataCounter() stm8l15x_exti.h/.c: updated to support new added ports (PG, PH, PI) EXTI_GetHalfPortSelection() function removed New function added EXTI_SelectPort() stm8l15x_flash.h/.c: updated to support High Density devices Add detailed description of execution from RAM using functions provided by this driver and with the different supported toolchains. For more information, refer to stm8l15x_flash.h and stm8l15x_flash.c files. stm8l15x_i2c.h/.c: updated to support dual addressing mode New functions added: I2C_OwnAddress2Config() I2C_DualAddressCmd() I2C_ReadRegister() stm8l15x_itc.h/.c: updated to support High Density and Medium Density Plus devices peripheral IRQ. stm8l15x_lcd.h/.c: updated to support new LCD features: LCD_Duty_1_8 added in LCD_Duty_TypeDef LCD_Bias_1_4 added in LCD_Bias_TypeDef LCD_PortMaskRegister_4 and LCD_PortMaskRegister_5 added in LCD_PortMaskRegister_TypeDef Added in LCD_RAMRegister_TypeDef LCD_RAMRegister_14 LCD_RAMRegister_15 LCD_RAMRegister_16 LCD_RAMRegister_17 LCD_RAMRegister_18 LCD_RAMRegister_19 LCD_RAMRegister_20 LCD_RAMRegister_21 New function added : LCD_PageSelect() stm8l15x_rtc.h/.c : updated to support new RTC features: Calibration, Synchronization, tamper and subseconds New functions added: RTC_CalibOutputConfig() RTC_TamperFilterConfig() RTC_TamperSamplingFreqConfig() RTC_TamperPinsPrechargeDuration() RTC_TamperLevelConfig() RTC_TamperCmd() RTC_SynchroShiftConfig() RTC_SmoothCalibConfig() RTC_AlarmStructInit() RTC_AlarmSubSecondConfig() RTC_GetSubSecond() RTC_DateStructInit() RTC_TimeStructInit() RTC_BypassShadowCmd() stm8l15x_syscfg.h/.c: updated to support High Density and Medium Density Plus devices RI_InputCaptureRouting_1 and RI_InputCaptureRouting_2 added in RI_InputCaptureRouting_TypeDef Added in RI_AnalogSwitch_TypeDef RI_AnalogSwitch_9 RI_AnalogSwitch_10 RI_AnalogSwitch_11 Added in REMAP_Pin_TypeDef REMAP_Pin_USART1Clk REMAP_Pin_TIM2TRIGPortA REMAP_Pin_TIM3TRIGPortA REMAP_Pin_TIM2TRIGLSE REMAP_Pin_TIM3TRIGLSE REMAP_Pin_SPI2Full REMAP_Pin_TIM3TRIGPortG REMAP_Pin_TIM23BKIN REMAP_Pin_SPI1PortF REMAP_Pin_USART3TxRxPortF REMAP_Pin_USART3Clk REMAP_Pin_TIM3Channel1 REMAP_Pin_TIM3Channel2 REMAP_Pin_CCO Update functions: SYSCFG_REMAPDeInit() and SYSCFG_REMAPPinConfig() stm8l15x_wfe.h/.c: updated to support added peripherals and Ports: AES, CSSLSE, SPI2, TIM5, USART2 and USART3 ### 1.3.0 - 07/14/2010 STM8L15x_StdPeriph_Driver stm8l15x.h file updated to support IAR Embedded Workbench for STM8 (EWSTM8) toolchain specific declarations "INTERRUPT_HANDLER" macro added to manage interrupt vector declarations for all supported toochains. stm8l15x_flash.h file updated to add FLASH_RASS_KEY1 definition ### 1.2.0 - 05/14/2010 STM8L15x_StdPeriph_Driver stm8l15x.h file updated to support BootROM bit mask in CLK_PCKENR2 register CLK driver stm8l15x_clk.h: add support for BootROM bit in CLK_PCKENR2. COMP driver stm8l15x_comp.h: COMP_InvertingInput_DAC renamed to COMP_InvertingInput_DAC1. DMA driver stm8l15x_dma.h : IS_DMA_CHANNEL macro updated I2C driver stm8l15x_i2c.h/.c: I2C events description and management enhancement. Add detailed description of I2C events and how to manage them using the functions provided by this driver. For more information, refer to stm8l15x_i2c.h and stm8l15x_i2c.c files. ## License censed under MCD-ST Liberty SW License Agreement V2, (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/software_license_agreement_liberty_v2 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. For complete documentation on STM8L15x/16x 8-bit microcontrollers platform visit www.st.com