建立工程文件夹,Keil中新建工程,选择型号
建立工程文件夹,如图所示,我的工程都放在STM32Project文件夹下。
打开Keil新建工程文件,为每个工程新建一个文件夹便于管理
建立并保存工程
选择芯片型号,本款芯片为STM32F103C8
工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹
文件夹的名字可以根据个人喜好和习惯进行更改。
复制启动文件内核驱动和库文件。
LIbrary文件夹
Library文件夹内所存放的为系统库文件支持,和外设操作函数。
Start
start文件夹里主要存放系统启动配置文件,包括内核驱动,外设驱动和系统启动文件等。
User文件夹
user文件夹中主要配置系统库函数和中断函数声明实现等。main.c文件也放在该目录下(还未建立)
在Keil中建立相应的分组对相关文件进行添加管理。
将从固件库复制的所有文件全都添加到对应的分组下进行统一管理。在添加文件时.h文件是不参与编译的,但因为需要经常查看,所以习惯将其也全部添加到组里面,这和自己的编程习惯有关,可自行抉择。注:start中启动文件根据对应的芯片型号选择对应的文件即可不需要全部添加到组。本芯片添加的为startup_stm32f10x_md.s文件。
在User文件夹下建立工程的main.c文件方便管理。
为编译器添加宏定义
在stm32f10x.h有如下语句,只有当定义了USE_STDPERIPH_DRIVER字段(使用标准外设库)#include“stm32f10x_conf.h”才有效,所以我们需要在编译器里面对该字段进行定义。
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
配置头文件引用路径
在工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹路径。
配置Debug调试器
工程选项,Debug,下拉列表选择对应调试器,配置通讯协议,本人用的是ST-link下载器所以选择为ST-link。在Settings,Flash Download里勾选Reset and Run。(配置这个就不用每次下载后进行复位,直接编译就运行)
最后测试编译一下。
结果显示.\Objects\Project.axf" - 0 Error(s), 0 Warning(s).证明工程运行正常。下载到开发板上看看效果。3支LED均点亮证明工程可以正常运行。即新建工程操作正常。
每个人新建工程的风格都有所不同,自己可以按照自己的风格来建立属于自己的工程文件,本文仅供参考。