目录
前言
本节课我们要使用我们已经学习过的固件库新建一个工程,在这节课之后,我们后面就一直会使用固件库进行编程。对于这节内容,以后的工程可以直接套用本节接下来所写的这个模板。
STM32第五节:新建工程——固件库版本
新建文件夹
首先我们先在工程目录下新建一个文件夹,取名为这节课的题目,然后如图所示创建如下几个文件夹:
其中,DOC文件夹存放阅读提示,libraries存放我们所需的代码文件,而Project存放我们的工程文件BH-F103,而最后的USER存放main.c,stm32f10x_conf以及stm32f10x_it等等我们自己写的代码,而其他文件中的代码都不是我们自己写的。
建立多个文件夹分类存放具体文件
建立文件夹
然后我们打开keil5,新建一个程序到Project中,选好芯片型号后,在Target下新建几个文件夹,如下图所示:
而这些文件夹中,包含的代码为:
STARTUP:启动文件(我们使用的是F103板子,而这个型号所使用的启动文件为....f10x_hd.s);
CMSIS:包含的是内核所需的文件代码,比如与内核相关的CMSIS-Cortex微控制器软件接口标准;corecm3.h:实现了内核里面外设的寄存器映射;core cm3.c:内核外设的驱动固件库;NVIC(嵌套向量中断控制器)、SysTick(系统滴答定时器);misc.h;misc.c等等文件。而这些文件可以去野火的官网下载文件,在A盘的资料盘中,我们可以找到所有我们所需要的文件。
USER:包含的就是我们写的主文件main.c以及stm32f10x_it文件以及我们之后添加进来的文件。
官方资料
详细资料见下面的链接:
野火官方资料https://doc.embedfire.com/products/link/zh/latest/mcu/stm32/ebf_stm32f103_zhinanzhe/download/stm32f103_zhinanzhe.html
配置keil5 系统
在我们把所有文件全部如上图一样拷贝下来后,我们运行发现会有错误,所以我们先不能编译,我们要调节关于配置问题。打开魔术棒,如下图所示:
首先检查AMR Compiler是否为5,如果是更高版本的6的话,会出错 。
再接着配置DeBug的时候要配置成VMSIS-DAP Debugger。
手动输入根目录地址
然后我们就要配置所含文件的具体根目录。如果在根目录下含有头文件,那么我们就把上一级文件夹的名字输在include paths中。keil5只能在魔术棒中手动输入根目录地址。如下图所示:
神之一手
最后也是最关键的一步,我们打开sstm32f10x.h文件,发现在第8297行有包含我们所有头文件的宏定义。在这里呢,我们需要把USE_STDPERIPH_DRIVER复制下来。keil5只有在你将这串宏定义写到魔术棒里的C/C++中才会有效,如下图所示:
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
小结
到这里我们就完成了我们以后每个工程文件的配置,现在编译一下,我们发现没有错误,那么这节课我们就先到这里,从下节课开始我们就要实际开始编写我们具体工程中的代码了。我们下节再见。