STM32固件库说明
2016-07-30 来源:eefocus
l 发布时间 :09/22/2008
l 功能: :给出了STM32微控制器片内所有外设的驱动函数,使用户把更多的时间花在应用程序的开发上,以加快产品上市时间。(实质上是将各种寄存器的参数配置定义成宏,并以结构体的方式给寄存器赋值,这样既方便又易懂)
l 特点 :
- 由函数、数据结构和宏组成,包括了微控制器所有外设的功能特征,还包括了每个外设的驱动描述和应用实例
- 按照ANSI-C编写的,不受开发环境的影响,仅启动文件取决于开发环境(即程序和数据在寄存器中是如何配置的得根据所使用的开发环境),非常易于移植。
- 每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。函数和参数名称都进行了标准化(函数名就代表了该函数的功能,即见名可知其义)
STM32固件库组成
STM32 firmware library v2.0.3包含如下4个内容
resc ; stm32lib_contents.htm ; version 是对库进行说明的文件
──文件夹examples
对应STM32的每个外设,都包含一个文件夹,这些子文件夹包含了整套源文件,来示范如何使用对应外设有:
main.c : 例程主函数
stm32f10x_int.c : 包含了所有中断服务程序(未使用的中断,则其函数体为空)
stm32f10x_int.h : 该头文件包含了所有的中断服务程序函数的原型
stm32f10x_config.h : 该头文件设置了所有用到的外设,没有用到的外设可以将其屏蔽掉,以节省编译时间
readme.txt : 对该例子进行简单描述和使用说明
──文件夹library
包含了组成固件函数库核心的所有源文件:
※子文件夹inc:包含了固件函数库所需的所有头文件,用户无需修改该文件夹中的内容
stm32f10x_type.h : 所有其他文件所使用的数据和枚举类型
stm32f10x_map.h : 所有外设的存储器映像和寄存器数据结构
stm32f10x_lib.h : 主头文件,包含了其他所有头文件(在源程序中只包含这个文件即可,而其他所需头文件 自动加入)
stm32f10x_ppp.h : 每个外设对应一个头文件,包含了该外设使用的所用函数原型,数据结构和枚举(ppp代表 某个外设的名字)
stm32f10x_macro.h : 文件cortex3_macro.s对应的头文件(即操作Cortex_M3核所需的头文件)
※子文件夹src:包含了固件库所需的所有源文件,用户无需修改该文件夹中的内容
stm32f10x_ppp.c : 每个外设对应一个源文件,该源文件包含了该外设使用的所有函数体
stm32f10x_lib.c : 用于初始化所有外设的指针
──文件夹project
包含了一个标准的程序项目模板,包括库文件的编译和所有用户可修改的文件,可用以建立新的工程。
stm32f10x_config.h : 项目配置头文件,默认为允许了所有的外设
stm32f10x_it.c : 所有中断服务程序函数体,默认都为空
stm32f10x_it.h : 所有中断服务程序的原型(不用修改)
main.c : 主函数体,默认为只有一个空的主函数