Release Notes for STM32F10x FWLib Library (FWLib V2.0.3 Patch1)

Copyright © 2009 STMicroelectronics

 

Contents

  1. What's New in STM32F10x Firmware Library V2.0.3Patch1
  2. STM32F10x Firmware Library update History
  3. License

What's New in STM32F10x Firmware Library V2.0.3Patch1

The STM32F10xxx FWLib V2.0.3Patch1 is an update of FWLib V2.0.3 that fixes all FWLib V2.0.3 limitations. To use this patch, you need only to replace your old FWLib V2.0.3 with the relative files inside the FWLib directory provided within the zip file.

For more details, please refer to AN2953 "How to migrate from the STM32F10xxx firmware library V2.0.3 to the STM32F10xxx standard peripheral library V3.0.0".

STM32F10x Firmware Library update History

 

V2.0.3Patch1 - 04/06/2009

  1. General
  • I2C driver
    • I2C event assert macro missing in stm32f10x_i2c.h file.
  • DBGMCU
    • Wrong defines in stm32f10x_dbgmcu.h: DBGMCU_TIM5_STOP, DBGMCU_TIM6_STOP, DBGMCU_TIM7_STOP and  DBGMCU_TIM8_STOP defines values are wrong.
  • FSMC
    • Remove the FSMC AddressLowMapping configuration
  • FLASH
    • FLASH_SetLatency function updated
  • TIM
    • TIM_TimeBaseInit function updated

V2.0.3 - 09/22/2008

  1. General
  • stm32f10xfwlib_contents_html file updated:
    • Description of firmware library package content
    • Easy-to-use firmware library examples: add description of how to use the project template to run the selected example
  1. library
  • stm32f10x_map.h: add all STM32 Hardware registers bits definitions
  • stm32f10x_conf.h: add a define for HSEStartUp_TimeOut
  • stm32f10x_fsmc.h/.c:
    • FSMC_MemoryType_CRAM is changed to FSMC_MemoryType_PSRAM
    • FSMC_AsyncWait member removed from FSMC_NORSRAMInitTypeDef structure
    • FSMC_BusTurnAroundDuration parameter removed in case of write configuration
  • stm32f10x_rcc.h/.c:
    • RCC_FLAG_HSIRDY define value changed to 0x21.
    • StartUpCounterand HSEStatus variables are now local for RCC_WaitForHSEStartUp function.
  • stm32f10x_i2c.h/.c:
    • Add new event: EV8: I2C_EVENT_MASTER_BYTE_TRANSMITTING
  • stm32f10x_tim.c:
    • "=" operator changed to "|=" inside TIM_SelectOCxM function
  • stm32f10x_can.c: Definitions names changed
  1. examples
  • I2C Interrupt example
    • Example updated according to I2C driver update
  • I2C M24C08_EEPROM example
    • i2c_ee.c file: add a loop on I2C_FLAG_BUSY in I2C_EE_PageWrite and
    • I2C_EE_BufferRead functions
    • i2c_ee.c file: add STOP condition in I2C_EE_WaitEepromStandbyState function
  • SDIO example
    • Example updated to support SD Card V2.0 and SD High Capacity cards.
  • USART Polling example
    • USART TC flag check changed by USART TXE flag check

V2.0.2 - 07/11/2008

  1. library
  • stm32f10x_spi.c /.h
    • SPI_I2S_ClearFlag function: some flags are removed from the possible flags parameters list. This function can clear only CRCERR flag.
    • SPI_I2S_ClearITPendingBit function: some pending bits are removed from the possible pending bits parameters list. This function can clear only CRCERR pending bit.         
  • stm32f10x_i2c.c /.h
    • I2C_ClearFlag function: some flags are removed from the possible flags parameters list. This function can clear only SMBALER, TIMEOUT, PECERR, OVR, AF, ARLO and BERR flags. The passed parameter can be any combination of above flags.
  • I2C_GetITStatus function checks on interrupt pending bit and the interrupt enable bit.
  • I2C_ClearITPendingBit function: some pending bits are removed from the possible pending bits parameters list. This function can clear only SMBALER, TIMEOUT, PECERR, OVR, AF, ARLO and BERR pending bits. The passed parameter can be any combination of above pending bits. 
  •  stm32f10x_usart.c /.h
    •  USART_ClearFlag function: some flags are removed from the possible flags parameters list. This function can clear only CTS, LBD, TC and RXNE flags.             
    • USART_GetITStatus function: IS_USART_IT macro is changed to IS_USART_GET_IT
    • USART_ClearITPendingBit function: some pending bits are removed from the possible pending bits parameters list. This function can clear only CTS, LBD, TC and RXNE pending bits.          
  • stm32f10x_tim.c
    • remove IS_TIM_PERIPH_FLAG(TIMx, TIM_FLAG) macro from TIM_ClearFlag function.
  • stm32f10x_wwdg.c
    • use register direct access in the WWDG_GetFlagStatus function instead of bit banding access.
  • stm32f10x_gpio.c
    • GPIO_Init function update.
  1. examples
  • I2C Interrupt example
    • The example is changed to provide a description of how to manage data transfer from master transmitter to slave receiver and from slave transmitter to master receiver using interrupts.
    • add main.h file.
  • I2C 10bitAddress example
    • Updated according to the I2C driver update.
  • I2C DualAddress example
    • Updated according to the I2C driver update.
  • I2C SMBus example
    • Updated according to the I2C driver update
  • USART DMA_Interrupt example
    • Updated according to the USART driver update.
  • USART Smartcard example
    • Updated according to the USART driver update.
  • DAC Examples
    • GPIO_Configuration function updated: Once the DAC channel is enabled, the corresponding GPIO pin is automatically connected to the DAC converter. In order to avoid parasitic consumption, the GPIO pin should  be configured in analog.
  • RTC LSI_Calib example
    • Example Update: add main.h file.

V2.0.1 - 06/13/2008

  • Remove the Firmware License Agreement file.
  • Update the source files's header to remove reference to the License.

V2.0 - 05/23/2008

  1. General
  • The FWLib V2.0 is an update of the V1.0 to support the extra peripherals and features embedded in the STM32 High-density devices.   
  • Add Firmware License Agreement file.
  • For more details about the Firmware Library, please refer to the User. manual "UM0427 ARM«-based 32-bit MCU STM32F101xx and STM32F103xx Firmware  Library"  available for download from the ST microcontrollers website: www.st.com/stm32.
  • Glossary
    • Medium-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 32 and 128 Kbytes.
    • High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes.   
  1. library
  • Add driver for new peripherals: FSMC, SDIO and DAC. 
  • stm32f10x_spi.c /.h
    • driver update to support new I2S functionality.
  • Add driver for DBGMCU and CRC modules    
  • stm32f10x_dma.c /.h
    • driver update to support DMA2 channels.
  • stm32f10x_adc.c /.h
    • driver update to support ADC3.
  • stm32f10x_usart.c /.h
    • driver update to support UART4 and UART5.
    • new USART_ClockInitTypeDef structure derived from USART_InitTypeDef one (for USART synchronous parameters).
  • Timer peripherals driver
    • stm32f10x_tim1.c /.h and stm32f10x_tim.c /.h drivers merged in one single driver: stm32f10x_tim.c /.h
    • update to support new timer peripherals: TIM5, TIM6, TIM7 and TIM8.
    • add new macro for function parameters test.
    • TIM_TimeBaseInit, TIM_PrescalerConfig and TIM_GenerateEvent functions updated.
    • TIM_TIxExternalClockConfig, TIM_ETRClockMode1Config, TIM_ETRClockMode2Config, TIM_ETRConfig, TIM_SetIC1Prescaler, TIM_SetIC2Prescaler, TIM_SetIC3Prescaler and TIM_SetIC4Prescaler functions prototype update.
  • stm32f10x_gpio.c /.h
    • driver update to support GPIOF and GPIOG.
  • stm32f10x_lib.c /.h, stm32f10x_map.h, stm32f10x_conf.h
    • update to add new peripherals register declarations and header files inclusion.
  • stm32f10x_nvic.c /.h          
  •  stm32f10x_itc.c /.h
  • stm32f10x_vector.c /.s           
    • update to support the new peripherals interrupt vector.
  • stm32f10x_rcc.c /.h
    • driver update to support new peripherals clock & reset enable/disable.
    • HSE Oscillator start up timeout increased to 0x01FF.
    • RCC_DeInit function update.
  • stm32f10x_bkp.c /.h
    • driver update to support the new 32 backup registers.
  • stm32f10x_map.h
  • stm32f10x_can.c
    • CAN register numbering update
  • stm32f10x_flash.h
    • update macro "IS_FLASH_ADDRESS" to support memory size up to 512KB.
  • stm32f10x_flash.c
    • FLASH_EnableWriteProtection function: update "FLASH_Pages" paramter values  description.
  • stm32f10x_exti.c
    • EXTI_Init function update.
  • stm32f10x_type.h
    • 'S32_MIN' type corrected to "#define S32_MIN ((s32)-2147483648)".
  • stm32f10x_ppp.h
    • in all macros, put the passed parameter between parenthesis.
  • stm32f10x_can.c
    • extended ID coded in 29-bit long.
    • CAN initialization acknowledge error fixed.
  • stm32f10x_usart.c
    • change "&=" instead of "="  in USART_ClearITPendingBit  and USART_ClearFlag functions.
  • stm32f10x_adc.c
    • replace "&=" by "="  in ADC_ClearITPendingBit and ADC_ClearFlag functions.
  • stm32f10x_i2c.c
    • replace "&=" by "="  in I2C_ClearITPendingBit and I2C_ClearFlag functions.
  • stm32f10x_tim.c
    • replace "&=" by "="  in TIM_ClearITPendingBit and TIM_ClearFlag functions.
  1. project
  • stm32f10x_it.c
    • update file description.
  • Add template projects for EWARM v5 and HiTOP toolchains.          
  1. examples
  • FWLib V1.0 examples ported to run on STMicroelectronics STM3210E-EVAL evaluation board (in addition to STM3210B-EVAL)
  • Add new examples for FSMC, SDIO, DAC and I2S (run only on High-density devices).
  • Add new examples for ADC, DMA and RTC peripherals.
  • Add new example for CRC module.
  • Examples folder renamed, use of short name instead of examplex (x: 1 2 ...).

V1.0 - 10/08/2007

  1. library
  • Add template project with RIDE toolchain.
  • In all stm32f10x_ppp.c and stm32f10x_conf.h files: change "assert" macro name to "assert_param".
    •   Note: If you are using the FW Library V0.3 in your application and you want to migrate to V1.0, you have to update your applications ôstm32f10x_conf.h file with the latest one (provided with V1.0).
  • stm32f10x_conf.h
    • Remove '#undef assert'
    • Change '#define DEBUG' by '#define DEBUG    1'
  • stm32f10x_type.h
    • Add new types: sc32, sc16, sc8, vsc32, vsc16 and vsc8 
  • stm32f10x_it.c
    • Add basic fault exception handling: in "HardFaultException", "MemManageException",  "BusFaultException" and "UsageFaultException" ISR the following code was added:

     /* Go to infinite loop when exception occurs */
     while (1)
     {
     }

  • stm32f10x_rcc.c
    • "RCC_WaitForHSEStartUp()" function updated to resolve issue with high GNU compiler optimization.
  • stm32f10x_gpio.h
  • '#define GPIO_Remap1_CAN ((u32)0x001D2000)' changed to '#define GPIO_Remap1_CAN ((u32)0x001D4000)'.
  • stm32f10x_rtc.c/.h
    • "RTC_GetPrescaler" function removed.
  • stm32f10x_bkp.c/.h
  • add "BKP_RTCOutputConfig()" function to allow to select the RTC output source(Calib clock, RTC Alarm or RTC Second) to output on Tamper pin and remove "BKP_RTCCalibrationClockOutputCmd()" function.      
  • stm32f10x_can.h
    • CAN synchronization jump width defines updated
    • '#define CAN_SJW_0tq' ==> '#define CAN_SJW_1tq'
    • '#define CAN_SJW_1tq' ==> '#define CAN_SJW_2tq'
    • '#define CAN_SJW_2tq' ==> '#define CAN_SJW_3tq'
    • '#define CAN_SJW_3tq' ==> '#define CAN_SJW_4tq'
  • stm32f10x_tim1.c/.h
    • "TIM1_OCxNPolarityConfig(u16 TIM1_OCPolarity)" function: change parameter name to 'TIM1_OCNPolarity'
    • change 'TIM1_ICSelection_TRGI' by 'TIM1_ICSelection_TRC'
  • stm32f10x_tim.c/.h
    • change 'TIM_ICSelection_TRGI' by 'TIM_ICSelection_TRC'
  1. examples
  • ADC examples 3 & 4 updated   
  • DEBUG example
  • Example modified to support RIDE specific printf function implementation
  • I2C example5
    • i2c_ee.c: add the following function prototypes: "void GPIO_Configuration(void)"  add "void I2C_Configuration(void)"
  • Add GPIO pin toggle example.
  • BKP, CAN, DMA, NVIC and I2C examples readme files updated.
  • Use decimal (instead of hexadecimal) values constants in TIM, TIM1 and IWDG examples.
  • USART
    • example 12
      • USART3 ISR updated
      • Timeout define "SC_Receive_Timeout" updated to 0x4000
    • example 7
      • Example modified to support RIDE specific printf function implementation
  • RTC example
    • Example modified to support RIDE specific printf function implementation
    • Change "BKP_RTCCalibrationClockOutputCmd()" function  by "RTC_ClockOutput()"
    • LSI removed as RTC clock source
  • IWDG example
    • LSI frequency value changed from 32 KHz to 40 KHz 
  • Update the STM32F10x evaluation board name from STM32F10x-EVAL to STM3210B-EVAL

V0.3 - 05/21/2007

  • Created.

License

The enclosed firmware and all the related documentation are not covered by a License Agreement, if you need such License you can contact your local STMicroelectronics office.

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

 


For Complete on STM32(CORTEX M3) 32-Bit Microcontrollers visit www.st.com/STM32