表 5?5 文件功能说明

文件名

功能描述

具体功能说明

core_cm3.h

core_cm3.c

Cortex-M3内核及其设备文件

访问Cortex-M3内核及其设备:NVIC,SysTick等

访问Cortex-M3的CPU寄存器和内核外设的函数

stm32f10x.h

微控制器专用头文件

这个文件包含了STM32F10x全系列所有外设寄存器的定义(寄存器的基地址和布局)、位定义、中断向量表、存储空间的地址映射等

system_stm32f10x.h

system_stm32f10x.c

微控制器专用系统文件

函数SystemInit,用来初始化微控制器

函数Sysem_ExtMemCtl,用来配置外部存储器控制器。它位于文件startup_stm32f10x_xx.s /.c,在跳转到main前调用

SystemFrequncy,该值代表系统时钟频率

startup_stm32f10x_Xd.s

编译器启动代码

微控制器专用的中断处理程序列表(与头文件一致)

弱定义(Weak)的中断处理程序默认函数(可以被用户代码覆盖) 该文件是与编译器相关的

stm32f10x_conf.h

固件库配置文件

通过更改包含的外设头文件来选择固件库所使用的外设,在新建程序和进行功能变更之前应当首先修改对应的配置。

stm32f10x_it.h

stm32f10x_it.c

外设中断函数文件

用户可以相应的加入自己的中断程序的代码,对于指向同一个中断向量的多个不同中断请求,用户可以通过判断外设的中断标志位来确定准确的中断源,执行相应的中断服务函数。

stm32f10x_ppp.h

stm32f10x_ppp.c

外设驱动函数文件

包括了相关外设的初始化配置和部分功能应用函数,这部分是进行编程功能实现的重要组成部分。

Application.c

用户文件

用户程序文件,通过标准外设库提供的接口进行相应的外设配置和功能设计。

2. 基于CMSIS标准的软件架构

根据调查研究,软件开发已经被嵌入式行业公认为最主要的开发成本。对于ARM公司来说,一个ARM内核往往会授权给多个厂家,生产种类繁多的产品,如果没有一个通用的软件接口标准,那么当开发者在使用不同厂家的芯片时将极大的增加了软件开发成本,因此,ARM与Atmel、IAR、Keil、hami-nary Micro、Micrium、NXP、SEGGER和ST等诸多芯片和软件厂商合作,将所有Cortex芯片厂商产品的软件接口标准化,制定了CMSIS标准。此举意在降低软件开发成本,尤其针对新设备项目开发,或者将已有软件移植到其他芯片厂商提供的基于Cortex处理器的微控制器的情况。有了该标准,芯片厂商就能够将他们的资源专注于产品外设特性的差异化,并且消除对微控制器进行编程时需要维持的不同的、互相不兼容的标准的需求,从而达到降低开发成本的目的。