本文共 1864 字,大约阅读时间需要 6 分钟。
本文来简单的说一说如何通过固件库来建立一个STM32工程模板。
一、前期准备
下载STM32官方固件库,可以去ST官网下载,也可以百度收索下载:【固件库】STM32F10x_StdPeriph_Lib_V3.5.0.zip
集成开发环境环境 :MDK5.15
二、建立工程模板
1、建立工程目录结构,从固件库中移植相关文件。
首先建立一个Demo的文件夹,在这个文件夹中建立如下图所示的几个文件夹:
接下来向各个文件夹中添加文件:
在Doc文件加下添加一个Readme.txt的文本文件,这个文件主要是用来作为整个工程的说明文件。
在Libraries文件加下有如下图两个文件夹:
在CMSIS文件夹下,内容如下图所示:
其中core_cm3.c和core_cm3.h这两个文件来自于固件库的Libraries\CMSIS\CM3\CoreSupport这个目录下,其他文件夹和文件来自于固件库Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x这个目录,在startup文件夹下的文件如下图所示:
这些文件来自于固件库startup目录下的arm目录。
在STM32F10x_StdPeriph_Driver文件夹下的内容如下所示:
这两个文件及文件夹的内容来源于固件库的Libraries\STM32F10x_StdPeriph_Driver这个目录下。
在Project这个目录下建立两个文件夹如下所示:
在User目录下,内容如下图所示:
以上这些文件来自于固件库的Project\STM32F10x_StdPeriph_Template这个目录当中。
最后在工程的根目录中添加一个名为keilkill.bat的批处理文件,主要用来对工程编译链接中生成的中间文件进行清理的。它的内容如下所示:
del *.bak /sdel *.ddk /sdel *.edk /sdel *.lst /sdel *.lnp /sdel *.mpf /sdel *.mpj /sdel *.obj /sdel *.omf /s::del *.opt /s ::不允许删除JLINK的设置del *.plg /sdel *.rpt /sdel *.tmp /sdel *.__i /sdel *.crf /sdel *.o /sdel *.d /sdel *.axf /sdel *.tra /sdel *.dep /s del JLinkLog.txt /sdel *.iex /sdel *.htm /s::del *.sct /sdel *.map /sexit2、通过MDK软件建立工程 打开MDK软件,选择新建工程,如下图所示:
因为我的板子上的芯片是STM32F103VET6,所以在芯片中做如下图选择:
之后建立工程的目录结构,并在每个目录下添加指定的文件:
目录结构体如下图所示:
在STARTUP目录中添加工程中Libraries\CMSIS\startup这个目录的startup_stm32f10x_hd.s这个文件,
在CMSIS中添加工程的Libraries\CMSIS这个目录中的所有文件,
在FWLIB中添加工程的Libraries\STM32F10x_StdPeriph_Driver\src这个目录的所有文件,
在USER目录中添加工程的User这个目录下的所有文件,
在DOC目录下添加工程Doc目录下的Readme.txt文件。
修改USER目录下的main.c文件的内容如下:
#include "stm32f10x.h"/** * @brief Main program. * @param None * @retval None */int main(void){ /* Infinite loop */ while (1) { }}然后通过Options for Target选项卡来配置整个工程具体如下:
其中Select Folder for Objects选择的文件夹是工程的Project\Objects这个文件夹。
其中Select Folder for Listings选择的文件夹是工程的Project\Listings这个文件夹。
在Include Paths中主要是添加工程中用到的头文件的顶层目录,如下所示:
至此,整个模板工程建立完毕。
3、编译整个工程
如下图所示:
编译结果如下: