
已经介绍了过了CMSIS标准,ST公司按照这个标准设计了一套基于STM32F10x的固件库,我们可以直接在ST公司的官网进行下载,现在给大家STM32最新固件库v3.5,在网盘上给大家提供了下载包,链接及提取码如下。 文件夹介绍 下面就来介绍下库文件的目录及文件。打开下载好的固件库包如下图所示。 ![]() 下面简单介绍各个文件件及文件的作用。
文件介绍 在介绍库文件之前先看下它们文件之间的关系,如下图所示。 ![]() core_cm3.h 文件位于“\STM32 最新固件库v3.5\Libraries\CMSIS\CM3\CoreSupport”目录下,说明此文件属于CMSIS标准文件,是用来提供进入M3内核的接口文件,属于CMSIS的核心文件,由ARM提供。对于所有M3内核的芯片来说这个文件都是相同的,不需要我们修改。 stm32f10x.h 、system_stm32f10x.h和system_stm32f10x.c文件存放在“\STM32最新固件库v3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x”目录下,system_stm32f10x.h是片上外设接入层系统头文件。主要是申明设置系统及总线时钟相关的函数。与其对应的源文件是system_stm32f10x.c。这个文件里面 有一个非常重要的SystemInit()函数申明,这个函数在我们系统启动的时候都会调用,用来设置系统的整个系统和总线时钟。而stm32f10x.h是STM32F10x的头文件,类似于51单片机的reg.51,在开发STM32F10x程序的时候基本上都会调用这个头文件,可见其重要性。此文件内部封装了STM32的总线、内存和外设寄存器等,同时该文件还包含了一些时钟相关的定义和中断相关定义等。 stm32f10x_ppp.c文件是STM32外设的驱动源文件, 比如stm32f10x_gpio.c文件。 里面已经封装好操作GPIO外设底层的内容, 提供给我们使用的是一些API函数。stm32f10x_ppp.h就是对应的头文件。还有stm32f10x_rcc.c、misc.c和misc.h文件他们都是存放在“\STM32最新固件库v3.5\Libraries\STM32F10x_StdPeriph_Driver”内。 stm32f10x_it.c文件用于存放中断函数,不过中断函数也可以放在其他工程文件内,所以这个文件很少操作,对应的stm32f10x_it.h文件是它的头文件。 stm32f10x_conf.h文件是配置文件,用于删减我们使用的外设头文件,比如使用GPIO外设,那么就需要调用stm32f10x_gpio.h头文件,如果不使用GPIO外设,可以将此头文件注释掉,一般情况下我们不会对这个配置文件操作,因为如果不使用一个外设,可以在工程内不调用即可。这几个文件存在“\STM32 最新固件库v3.5\Project\STM32F10x_StdPeriph_Template”内。 Application.c文件用于存放用户编写的应用程序,文件名可以根据个人爱好命名。我们通常会命名为main.c,表示存放我们的主函数代码。 在后面创建工程模板时,添加这些文件还不够,还要将STM32的启动文件添加进来,否则系统不能启动。ST固件库提供的启动文件有很多,需根据使用的STM32芯片来选择,若开发板上使用的是高容量的STM32F1 芯片,选择startup_stm32f10x_hd.s。启动文件startup_stm32f10x_hd.s存放在“\STM32最新固件库v3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm”内。 |
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
刘氓兔的64位入门挑战【0】——MP257选型
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南