文件繁多,很难一一介绍。一个基本的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文件夹内容
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。