上一篇文章介绍了keil 开发环境的配置。这篇文章来解析下ST公司提供的固件库,以及怎么新建一个工程。
ST公司官网下载固件库的方法。http://jingyan.baidu.com/article/948f59242eb91dd80ef5f972.html
我使用的是STM32F103VET6,故选择图(1)画红线的固件库。
图(1)
压缩文件解压后的文件目录如图(2)
图(2)
Libraries文件夹:包含ST公司封装好的库函数。所有的文件都是按CMSIS标准写的。CMSIS给芯片制造商提供了一个调用内核的标准,这使得我们使用在不同的芯片型号调用相同的库文件,极大的提高了开发效率。CoreSupport文件下包含着两个文件core_cm3.c core_cm3.h。
core_cm3.c主要处理与编译器相关的工作。这个文件中还包括了stdin.h这个头文件,这是一个ANSIC C文件,它在keil的安装目录下的,主要提供一些数据类型的重定义。如图(3)
图(3)
core_cm3.h 这个头文件主要实现了Nested VectoredInterrupt Controller (NVIC)和SysTick的功能,包括他们的结构体封装,内存的映射及内存保护机制。
Startup文件夹包含了不同开发环境下的启动文件。我用的是keil开发环境所以选arm这个文件夹。图(4)列举了不同的启动文件,选择的标准是依据所选芯片的flash的大小,标准如图(5)
图(4)
图(5)
在STM32F10x文件夹下还有三个文件分别是stm32f10x.h,system_stm32f10x.h,system_stm32f10x.c。
stm32f10x.h