Release Notes for STM32F10x CMSIS

Back to Release page

# Release Notes for STM32F10x CMSIS

Copyright 2014 STMicroelectronics

## Update History

### V3.6.3 / 10-April-2014

Main Changes

- Update startup files for EWARM toolchain to cope with compiler enhancement of the V7.10 version.

### V3.6.2 / 28-February-2013

Main Changes

- stm32f10x.h

- Change #define FLASH_ACR_LATENCY ((uint8_t)0x03) by #define FLASH_ACR_LATENCY ((uint8_t)0x07)
- Remove ',' from #define DMA_CCR7_PSIZE , ((uint16_t)0x0300)

### V3.6.1 / 09-March-2012

Main Changes

- All source files: license disclaimer text update and add link to the License file on ST Internet.

### V3.6.0 / 27-January-2012

Main Changes

- Update directory structure to be compliant with CMSIS V2.1
- All source files: update disclaimer to add reference to the new license agreement
- stm32f10x.h

- Add define for Cortex-M3 revision __CM3_REV
- Allow modification of some constants by the application code, definition of these constants is now bracketed by #if !defined. The concerned constant are HSE_VALUE, HSI_VALUE and HSE_STARTUP_TIMEOUT
- Add missing bits definition for DAC CR register
- Add missing bits definition for FSMC BTR1, BTR2, BTR3, BWTR1, BWTR2, BWTR3 and BWTR4 registers
- Definition for Flash keys moved from stm32f10x_flash.c to stm32f10x.h

- Add startup file for TASKING toolchain
- V3.5.0 (based CMSIS V1.3) vs. V3.6.0 (based on CMSIS V2.1) compatibility update

- Due to the directory structure difference between CMSIS V1.3 and V2.1, when migrating a project based on STM32F10x drivers V3.5.0 to V3.6.0 you need to perform the following update:

- In the compiler preprocessor, remove CortexM3 CMSIS include path. CortexM3 CMSIS files are included by default in your development toolchain
- Remove core_cm3.c file (if it is used). Almost of CortexM3 CMSIS function are provided as intrinsic by the compiler
- In the compiler preprocessor, update path of STM32F10x CMSIS include files from Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x to Libraries\CMSIS\Device\ST\STM32F10x\Include
- In the project settings, update path of startup_stm32f10x_xx.s file from Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\”Compiler” to Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\”Compiler”

where, "Compiler" refer to arm, gcc_ride7, iar, TASKING or TrueSTUDIO

### V3.5.0 / 11-March-2011

Main Changes

- stm32f10x.h and startup_stm32f10x_hd_vl.s files: remove the FSMC interrupt definition for STM32F10x High-density Value line devices.
- system_stm32f10x.c file provided within the CMSIS folder.

### 3.4.0 - 10/15/2010

1. General

- Add support for STM32F10x High-density Value line devices.

2. STM32F10x CMSIS Device Peripheral Access Layer

- STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer Header File: stm32f10x.h

- Update to support High-density Value line devices

- Add new define STM32F10X_HD_VL
- RCC, AFIO, FSMC bits definition updated

- All STM32 devices definitions are commented by default. User has to select the appropriate device before starting else an error will be signaled on compile time.
- Add new IRQs definitions inside the IRQn_Type enumeration for STM23 High-density Value line devices.
- "bool" type removed.

- STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer System Files: system_stm32f10x.h and system_stm32f10x.c

- "system_stm32f10x.c" moved to to "STM32F10x_StdPeriph_Template" directory. This file is also moved to each example directory under "STM32F10x_StdPeriph_Examples".
- SystemInit_ExtMemCtl() function: update to support High-density Value line devices.
- Add "VECT_TAB_SRAM" inside "system_stm32f10x.c" to select if the user want to place the Vector Table in internal SRAM. An additional define is also to specify the Vector Table offset "VECT_TAB_OFFSET".

- STM32F10x CMSIS startup files: startup_stm32f10x_xx.s

- Add three startup files for STM32 High-density Value line devices: startup_stm32f10x_hd_vl.s

### 3.3.0 - 04/16/2010

1. General

- Add support for STM32F10x XL-density devices.
- Add startup files for TrueSTUDIO toolchain

2. STM32F10x CMSIS Device Peripheral Access Layer

- STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer Header File: stm32f10x.h

- Update to support XL-density devices

- Add new define STM32F10X_XL

- Add new IRQs for TIM9..14
- Update FLASH_TypeDef structure
- Add new IP instances TIM9..14
- RCC, AFIO, DBGMCU bits definition updated

- Correct IRQs definition for MD-, LD-, MD_VL- and LD_VL-density devices (remove comma "," at the end of enum list)

- STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer System Files: system_stm32f10x.h and system_stm32f10x.c

- SystemInit_ExtMemCtl() function: update to support XL-density devices
- SystemInit() function: swap the order of SetSysClock() and SystemInit_ExtMemCtl() functions.

- STM32F10x CMSIS startup files:

- add three startup files for STM32 XL-density devices: startup_stm32f10x_xl.s
- startup_stm32f10x_md_vl.s for RIDE7: add USART3 IRQ Handler (was missing in previous version)
- Add startup files for TrueSTUDIO toolchain

### 3.2.0 - 03/01/2010

1. General

- STM32F10x CMSIS files updated to CMSIS V1.30 release
- Directory structure updated to be aligned with CMSIS V1.30
- Add support for STM32 Low-density Value line (STM32F100x4/6) and Medium-density Value line (STM32F100x8/B) devices.

2. CMSIS Core Peripheral Access Layer

- Refer to CMSIS changes

3. STM32F10x CMSIS Device Peripheral Access Layer

- STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer Header File: stm32f10x.h

- Update the stm32f10x.h file to support new Value line devices features: CEC peripheral, new General purpose timers TIM15, TIM16 and TIM17.
- Peripherals Bits definitions updated to be in line with Value line devices available features.
- HSE_Value, HSI_Value and HSEStartup_TimeOut changed to upper case: HSE_VALUE, HSI_VALUE and HSE_STARTUP_TIMEOUT. Old names are kept for legacy purposes.

- STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer System Files: system_stm32f10x.h and system_stm32f10x.c

- SystemFrequency variable name changed to SystemCoreClock
- Default SystemCoreClock is changed to 24MHz when Value line devices are selected and to 72MHz on other devices.
- All while(1) loop were removed from all clock setting functions. User has to handle the HSE startup failure.
- Additional function void SystemCoreClockUpdate (void) is provided.

- STM32F10x CMSIS Startup files: startup_stm32f10x_xx.s

- Add new startup files for STM32 Low-density Value line devices: startup_stm32f10x_ld_vl.s
- Add new startup files for STM32 Medium-density Value line devices: startup_stm32f10x_md_vl.s
- SystemInit() function is called from startup file (startup_stm32f10x_xx.s) before to branch to application main.
  To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file
- GNU startup file for Low density devices (startup_stm32f10x_ld.s) is updated to fix compilation errors.

## License

Licensed 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 STM32 Microcontrollers visit www.st.com/STM32