ST AN2953 Application note

AN2953

STM32F10xxx V2.0.3STM32F10xxx V3.0.0

STM32F10xxx V2.0.3(FWLib) STM32F10xxx V3.0.0 2 2

(FWLib) STM32F10xxx V2.0.3

(StdPeriph_Lib) STM32F10xxx V3.0.0

16K 32K STM32F101xx STM32F102xx STM32F103xx

64K 128K STM32F101xx STM32F102xx STM32F103xx

256K 512K STM32F101xx STM32F103xx

本译文的英文版下载地址为

http://www.st.com/stonline/products/literature/an/15531.pdf STM32F10xxx V3.0.0

http://www.st.com/stonline/products/support/micro/files/stm32f10x_stdperiph_lib_v3.0.0.zip

http://www.st.com/stonline/products/support/micro/files/an2953.zip

2009 4 AN2953 1

ST

STM32F10xxx V2.0.3 STM32F10xxx V3.0.0

1STM32F10xxx (FWLib)V2.0.3 (StdPeriph_Lib)V3.0.0 ····· 3

1.1ARM® Cortex-M3TM (CMSIS) ···························································· 3

1.1.1CMSIS ·························································································································· 3

1.1.2CMSIS ·························································································································· 4

1.1.3STM32 V2.0.3 CMSISV1.10 ············································································ 5

1.2STM32F10xxx Doxygen ················································································· 5

1.3STM32F10xxx ···························································································· 6

1.4STM32F10xxx ··································································· 6

1.5STM32F10xxx (FWLib)V2.0.3 ··················································································· 7

2STM32F10xxx ·································································································· 8

3STM32F10xxx ····················································································· 11

3.1STM32F10xxx ································································································· 11

3.1.1······················································································································11

3.1.2······················································································································11

3.1.3······························································································· 12

3.1.4···························································································································· 12

3.2·············································································································· 12

3.2.1IO ·································································································· 12

3.2.2························································································································ 13

3.3···························································································································· 14

3.3.1NVIC·································································································································· 14

3.3.2SysTick······························································································································ 15

3.3.3CAN··································································································································· 16

3.4STM32F10xxx ·························································································· 16

4···································································································· 19

4.1····················································································································· 19

4.2·········································································································· 19

A (FWLib)V2.0.3 (StdPeriph_Lib)V3.0.0 ·············· 21

2/22

2009 4 AN2953 1

ST

STM32F10xxx V2.0.3 STM32F10xxx V3.0.0

1 STM32F10xxx (FWLib)V2.0.3(StdPeriph_Lib)V3.0.0

STM32F10xxx (FWLib)V2.0.3 STM32F10xxx

部标准外设的驱动和一系列示例程序。

STM32F10xxx (StdPeriph_Lib)V3.0.0 (FWLib)V2.0.3

CortexTM (CMSIS)

Doxygen

STM32 API( )

(StdPeriph_Lib)V3.0.0 STM32F10xxx CANSTM32F10xxx ( CAN)

STM32F10xxx V3.0.0

(project)

下文详细描述了标准外设库(StdPeriph_Lib)

1.1ARM® Cortex-M3TM (CMSIS)

CMSIS Cortex-M0/Cortex-M1 Cortex-M3CMSIS Cortex-M (Cortex-Mx) CMSIS ARM www.onarm.com

1.1.1 CMSIS

CMSIS ARM

同时也为RTOS( )

( )

CMSIS Cortex-Mx

RTOS

(TCP/IP )

3/22

2009 4 AN2953 1

ST

ST AN2953 Application note

STM32F10xxx V2.0.3 STM32F10xxx V3.0.0

1.1.2 CMSIS

1 CMSIS1 CMSIS

CMSIS-

Cortex-M3 (core_cm3.h + core_cm3.c)

Cortex-M3 NVIC SysTick

Cortex-M3 CPU

(device.h)

( )

( )

( )

(system_device.c)

SystemInit

Sysem_ExtMemCtl startup_stm32f10x_xx.s /.c main

SystemFrequncy

( )

+

( C)(startup_device.s)

( )

(Weak) ( )

weak

__weak

4/22

2009 4 AN2953 1

ST

STM32F10xxx V2.0.3 STM32F10xxx V3.0.0

1.1.3 STM32 V2.0.3 CMSISV1.10

CMSIS STM32F10xxx (FWLib)

C <stdint.h>

Cortex-M3 STM32 IRQ

_Handler _IRQHandler

(Weak) /

_IRQn “#define”

”startup_stm32f10x_xx.s/.c” xx hd md ld

NVIC SysTick

STM32F10xxx misc.h/.c

STM32F10xxx V2.0.3 ( 1)

1

STM32F10xxx V2.0.3 CMSIS (1)

 

 

 

 

STM32

CMSIS

 

STM32

 

CMSIS

 

 

 

 

 

 

 

 

 

-

 

__NOP

 

__RESETPRIMASK

__enable_irq

__WFI

 

__WFI

 

__SETPRIMASK

__disable_irq

__WFE

__WFE

 

__READ_PRIMASK

 

 

__get_PRIMASK

 

__SEV

 

__SEV

 

 

 

__set_PRIMASK(val)

 

 

 

 

 

 

 

__ISB

 

__ISB

 

__RESETFAULTMASK

 

 

__enable_fault_irq

 

__DSB

 

__DSB

 

__SETFAULTMASK

 

 

__disable_fault_irq

 

__DMB

__DMB

 

__READ_FAULTMASK

 

 

__get_FAULTMASK

 

__SVC

 

-

 

 

 

__set_FAULTMASK(val)

 

 

 

 

 

 

 

__MRS_CONTROL

__get_CONTROL

 

__BASEPRICONFIG

 

 

__set_BASEPRI

 

__MSR_CONTROL

__set_CONTROL

 

__GetBASEPRI

 

 

__get_BASEPRI

 

__MRS_PSP

__get_PSP

 

__REV_HalfWord

__REV16

__MSR_PSP

__set_PSP

 

__REV_Word

 

 

__REV

 

__MRS_MSP

__get_MSP

 

-

 

 

__REVSH

 

__MSR_MSP

__set_MSP

 

-

 

 

__RBIT

 

1. (FWLib)

1.2STM32F10xxx Doxygen

STM32F10xxx doxygen

ST (www.st.com/mcu) STM32F10xxx

UM0427 Doxygen CHM CHM STM32F10xxx

Doxygen

/**

*@brief Reads the specified input port pin.

*@param GPIOx: where x can be (A..G) to select the GPIO peripheral.

*@param GPIO_Pin: specifies the port bit to read.

*This parameter can be GPIO_Pin_x where x can be (0..15).

5/22

2009 4 AN2953 1

ST

STM32F10xxx V2.0.3 STM32F10xxx V3.0.0

* @retval : The input port pin value. */

@brief

@param

@retval

”stm32f10x_stdperiph_lib_um.chm”

1.3STM32F10xxx

ST STM32F10xxx CMSIS2 (StdPeriph_Lib)

API( )”stm32f10x_conf.h” ”stm32f10x_ppp.h/.c”

(StdPeriph_Lib) STM32F10xxxSTM32 ”stm32f10x.h” define(StdPeriph_Lib) define

STM32F10x_LD STM32

STM32F10x_MD STM32

STM32F10x_HD STM32define

”stm3210f.h” IRQ

(HSE)

STM32

define STM32

1.4STM32F10xxx

2 STM32F10xxx

6/22

2009 4 AN2953 1

ST

STM32F10xxx V2.0.3 STM32F10xxx V3.0.0

2 STM32F10xxx

1.5STM32F10xxx (FWLib)V2.0.3

ST STM32TM (http://www.st.com/mcu/familiesdocs-110.html) STM32F10xxx

(FWLib)V2.0.3”STM32F10x_FW_Archive.zip ” zip ”Firmware”http://www.st.com/mcu/familiesdocs-110.html#Firmware

zip ST ” STM32F10xFWLib_V2.0.3_Patch1.zip”V2.0.3

7/22

2009 4 AN2953 1

ST

Loading...
+ 15 hidden pages