首页 理论教育 嵌入式应用技术STM32固件库编程

嵌入式应用技术STM32固件库编程

时间:2023-10-21 理论教育 版权反馈
【摘要】:例如,STM32F446型号使用startup_stm32f446xx.s文件。图3-2STM32F4xx_StdPeriph_Driver文件夹的src与inc文件夹内容

嵌入式应用技术STM32固件库编程

文件繁多,很难一一介绍。一个基本的STM32F4程序的文件列表如表3-1所示。

表3-1 STM32F4基本的固件库文件

下面对这些文件进行说明。

1.startup-stm32f40xx.s

startup_stm32f40xx.s所在路径:\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates。这个目录下,还有很多文件夹,如ARM、gcc_ride7、iar等。这些文件夹下包含了对应编译平台的汇编启动文件。实际使用时要根据编译平台来选择。我们使用的MDK启动文件在ARM文件夹中。如果使用其他型号的芯片,要在此处选择对应的启动文件,在之前建立的LED点亮例程中已经介绍了这个文件,它的作用是给STM32初始化。例如,STM32F446型号使用startup_stm32f446xx.s文件。

2.stm32f4xx.h

stm32f4xx.h所在路径:\Libraries\CMSIS\Device\ST\STM32F4xx\Include。这个文件非常重要,它是一个STM32芯片底层相关的文件,包含了STM32中所有的外设寄存器地址和结构体类型定义。使用到STM32标准库的地方都要包含这个头文件,之前项目2的例程中对寄存器地址的定义和封装与这个文件的作用一样。

3.system-stm32f4xx.h

system_stm32f4xx.h所在路径:\Libraries\CMSIS\Device\ST\STM32F4xx\Include。这个文件用于系统初始化与时钟更新。

4.system-stm32f4xx.c

system_stm32f4xx.c所在路径:\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates。这个文件包含了STM32芯片上电后初始化系统时钟、扩展外部存储器用的函数,比如SystemInit函数。该文件与system_stm32f4xx.h相对应。

5.misc.h(www.xing528.com)

misc.h所在路径:\Libraries\STM32F4xx_StdPeriph_Driver\inc。这个文件用于系统设置中断向量相关的头文件。

6.misc.c

misc.c所在路径:\Libraries\STM32F4xx_StdPeriph_Driver\src。这个文件用于系统设置中断向量相关的源文件。

7.core-cm4.h

core_cm4.h所在路径:\Libraries\CMSIS\Include。这个文件用于内核外设接入层的头文件。不同内核要对应不同的文件。比如STM32F4系列使用的是Cortex-M4的内核,对应的是Core_cm4.h文件;而STM32F1系列使用的是Cortex-M3的内核,对应的是core_cm3.h文件。

8.main.c

main.c一般由用户自行添加在User文件夹内。它是用户自己编写的主程序,包括main函数。

用户在建立自己的项目时,需要将以上文件拷贝到自己的项目中。

除了上述的文件外,还有一个很重要的文件夹是\Libraries\STM32F4xx_StdPeriph_Driver,意思是标准外设驱动,即STM32的很多设备的驱动都可以在这里找到,不用自己编写。它有两个文件夹,一个是inc,代表头文件,即*.h;一个是src,代表源文件,即*.c。两者的文件内容基本一一对应,比如,misc.c对应misc.h,stm32f4xx_gpio.c对应stm32f4xx_gpio.h等,如图3-2所示。misc.c与misc.h用于系统中断向量初始化驱动文件,stm32f4xx_xxx.c与stm32f4xx_xxx.h都是具体的外设驱动文件,比如要点亮LED,可以找到与gpio相关的驱动:stm32f4xx_gpio.c与stm32f4xx_gpio.h。在stm32f4xx_gpio.c文件里,GPIO的基本操作都被封装成了函数,可以直接调用。

图3-2 STM32F4xx_StdPeriph_Driver文件夹的src与inc文件夹内容

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈