基于固件库搭建工程模板步骤
1.下载官方固件库及芯片包
直接上百度网盘
3.5固件库 提取码:8866
F10x芯片包 提取码:8866
2.创建工程目录
新建文件夹,在新建文件夹根目录下创建 "CMSIS" "Driver" "HARDWARE" "Lis" "Obj" "startup" "system" "user" 文件夹。
Driver文件夹里还需要创建如下两个文件夹
注意:工程名可以为中文,但是其上级目录(包括上上级、上上上级等)不能有中文,否则会出现编译错误!
3.移植固件库代码
CMSIS 文件移植
打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
打开路经
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
Driver 文件 inc移植
打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc
Driver 文件 src移植
打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src
Startup 文件移植
打开路径
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
User 文件移植
打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template
HARDWARE 文件夹用于存放用户个人代码
System 文件夹用于存放 类似 UART Delay 等代码
Lis 与 OBJ 用于存放 编译中间产物
4.创建工程
打开KEil 5 创建F103工程
点击OK后,弹出 Manage Run-Time Environment 对话框,直接cancel即可。
创建完成后出现4个文件
Template.uvprojx 是工程文件,非常关键,不能删除。
Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件。这里,我们把两个文件夹删除,我们在刚才创建文件夹的时候已经创建了Lis以及Obj,用来存放编译中间文件。
修改OBJ输出目录
修改Lis输出目录
5.工程配置
创建目录组
点击小魔方
给工程添加必须文件
继续点击小魔方
CMSIS 组添加
startup 组添加
此处选择 startup_stm32f10x_md.s 作为启动文件的原因是 创建工程时选择的芯片是 F103C8,该芯片是属于中容量储存,后缀 ld 为小容量,hd为大容量。
Driver 组添加
依次添加 "stm32f10x_gpio.c" "stm32f10x_rcc.c" "misc.c"
PS:Driver 组 所添加的 "msic.c"与"stm32f10x_rcc.c"是硬件系统初始化所必须的,"stm32f10x_gpio.c" 是在后续测试工程点灯所需要的外设,也就是说当你需要用到什么外设,就在Driver组里面添加对应的外设 "stm32f10x_xxxx.c"--"xxxx"为对应外设名字。当然也可以全部添加进来,但这导致的后果就编译的速度会变得更慢。
User 组添加
全部添加完成后如图所示
完称上诉所有步骤后,点击 OK 按钮
头文件路径添加
全部添加玩后点击 "OK" 按钮
宏定义设置
在图示位置添加 "USE_STDPERIPH_DRIVER" 随后点击OK
创建配置Main.c
将main.c 保存在 工程模板的User 文件夹里面
创建完成后需要在小魔方 user 组里面添加 main.c 文件
在main.c 中添加代码
#include "stm32f10x.h"
int main (void)
{
}
在完成上诉所有步骤后,按下键盘的F7按键或点击图示位置按钮
编译通过左下角信息
如若出现图示警告,只需要在代码段的最后一行回车一行即可