Back to Release page

Release Notes for STM8L15x/16x/05x/AL31-L Standard Peripherals Library Drivers (StdPeriph_Driver)

Copyright 2014 STMicroelectronics

 

Contents

  1. STM8L15x/16x/05x/AL31-L Standard Peripherals Library Drivers update History
  2. 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 support 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 support 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

  1. General  
  • Add support of High Density and  Medium Density Plus  devices.
  • New drivers added for AES and TIM5
  1. 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

  1. 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

  1. 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:


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