STM32F103基于固件库创建工程模板

本文详细介绍了如何基于STM32F10x的固件库创建一个新的工程模板,从下载官方库和芯片包,到创建工程目录结构,再到移植必要的代码文件,并在Keil5中配置工程,最后实现编译无误。特别强调了目录命名规则、文件添加步骤和编译设置,适合初学者进行STM32开发。

基于固件库搭建工程模板步骤

工程模板 提取码:8866

1.下载官方固件库及芯片包

        直接上百度网盘

        3.5固件库           提取码:8866

        F10x芯片包        提取码:8866

 

2.创建工程目录

新建文件夹,在新建文件夹根目录下创建 "CMSIS" "Driver" "HARDWARE" "Lis" "Obj" "startup" "system" "user" 文件夹。

        f480ce2beda74286b1070b2403258635.png

        

        Driver文件夹里还需要创建如下两个文件夹

a629619c09a44f8888bddcf2171cd0f8.png

 

 注意:工程名可以为中文,但是其上级目录(包括上上级、上上上级等)不能有中文,否则会出现编译错误!

3.移植固件库代码

       CMSIS 文件移植       

打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

78e357c1bd2744c1b62ac56033e3a892.png

打开路经

..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

f8f5e361f70c4785864512d0f9061533.png

 

        Driver 文件 inc移植

打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc

 910026e2b7fc4baf90e925170f50a1f7.png

 

        Driver 文件 src移植

打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src

12365e60c76443d5934bab9d31a0ee6a.png

         Startup 文件移植

打开路径

..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

583edb8f980b41a48fdc77ef646acb82.png

 

        User 文件移植

 打开路径 ..\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template

cf72d7d392c94a279ff90a78f0f929d6.png

 

HARDWARE  文件夹用于存放用户个人代码

System        文件夹用于存放 类似 UART Delay 等代码

Lis  与  OBJ  用于存放 编译中间产物

 

4.创建工程

打开KEil 5 创建F103工程        

b3726cc2ee4c434b9f1f948e7133c94d.png

ea01d77e98104819bdf7d39ff057b161.png

点击OK后,弹出 Manage Run-Time Environment 对话框,直接cancel即可。

创建完成后出现4个文件 

13647846996b4b25b45e35a5482ebb7b.png

 Template.uvprojx 是工程文件,非常关键,不能删除。 

 Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件。这里,我们把两个文件夹删除,我们在刚才创建文件夹的时候已经创建了Lis以及Obj,用来存放编译中间文件。

修改OBJ输出目录

40b29d3bdc2b4c328c758f6f95b77519.png

 修改Lis输出目录

fddb558530d741d29abcf8c01c6a94ef.png

 

 5.工程配置

        创建目录组         

点击小魔方

187ab3d6b329472098bc7987799baa54.png

 

 

         给工程添加必须文件

继续点击小魔方

        CMSIS 组添加

5105743305f54e30981af67a7cf1a65c.png

        startup 组添加

5cf7f44695a94f618415622ae52c4983.png

此处选择  startup_stm32f10x_md.s 作为启动文件的原因是 创建工程时选择的芯片是 F103C8,该芯片是属于中容量储存,后缀 ld 为小容量,hd为大容量。

 

        Driver 组添加

依次添加 "stm32f10x_gpio.c" "stm32f10x_rcc.c" "misc.c"  

6919ff2f0dad44aaa1c850305208c0c1.png

 PS:Driver 组 所添加的 "msic.c"与"stm32f10x_rcc.c"是硬件系统初始化所必须的,"stm32f10x_gpio.c" 是在后续测试工程点灯所需要的外设,也就是说当你需要用到什么外设,就在Driver组里面添加对应的外设 "stm32f10x_xxxx.c"--"xxxx"为对应外设名字。当然也可以全部添加进来,但这导致的后果就编译的速度会变得更慢。

        User 组添加

39d12a3e0dc742e9a441de25fe82f502.png

 

 全部添加完成后如图所示

d73d4cc74da44683a922193b49bd6e38.png

 

完称上诉所有步骤后,点击  OK 按钮 

        头文件路径添加

55bad5a904fa4add9fb390352dea0551.png

全部添加玩后点击 "OK" 按钮 

        宏定义设置

在图示位置添加  "USE_STDPERIPH_DRIVER" 随后点击OK

        15729a6dbda3490cb8ed31e4060da394.png

 

        创建配置Main.c

将main.c 保存在 工程模板的User 文件夹里面

        a4c189ee723d4d37a1432425c5531999.png

 

创建完成后需要在小魔方 user 组里面添加 main.c 文件 

在main.c 中添加代码

#include "stm32f10x.h"

int main (void)
{
	
}

在完成上诉所有步骤后,按下键盘的F7按键或点击图示位置按钮

dc04b295964e4dc5b5bbb99a248b4a88.png

 编译通过左下角信息

7e8f3703ab3e4bb1946bfb5f3d070d4c.png

如若出现图示警告,只需要在代码段的最后一行回车一行即可

b02e2f9ea1024bfaa6ee5699f7f3a6a6.png

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河狸子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值