你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F103标准库开发:Keil5新建STM32工程

[复制链接]
STMCU小助手 发布时间:2022-5-3 13:07
新建STM32工程
步骤一:创建工程模板文件

1.新建一个文件夹 template

2.在文件夹template里面新建六个文件
(1)CMSIS: 存放内核驱动程序和启动引导文件
(2)FWLIB:存放库函数文件
(3)Project:存放工程文件
(4)User: 存放用户程序(主函数)


效果图:




步骤二:导入stm32固件库
STM32固件库的下载方式,在文章开头有链接。

1. 打开STM32F10x固件库文件


57K_[K%SV)KYUCKZC@__LVA.png

其中需要用到的两个文件:Libraries和Project。

2. 导入文件到 CMSIS 文件
(1)导入内核驱动程序

GW6UFL@GM6$M_ENBITC[G.png

STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport 中的两个文件复制到CMSIS文件中。


(2)导入启动引导文件

STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 中的所有文件复制到CMSIS文件中。



启动引导文件名的英文缩写的意义:
cl:互联型产品,stm32f105/107系列。
vl:超值型产品,stm32f100系列。
xl:超高密度(容量)产品,stm32f101/103系列。
ld:低密度产品,Flash小于64KB。
md:中等密度产品,Flash等于64KB或128KB。
hd:高密度产品,Flash大于128KB。

(3)最后CMSIS 文件效果图

V@G}WU@PCI0(}FYNZE98W01.png

3. 导入文件到 FWLIB 文件
STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver中的inc和src文件复制到FWLIB文件中。



最后 FWLIB 文件效果图

[]YNIWEJ)F6V]EGB5}G2%H1.png

4. 导入文件到 User 文件
STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的以下三个文件复制到 User 文件中。

P%HZ`X9}H`C9_4OPX_YC.png

STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template中的以下四个文件复制到 User 文件中。

4VWRV)RP_TJEV5%~{EZ6B3B.png

最后 User 文件效果图

O6`B@TG~ZGMX%)M)ET`OSH7.png

步骤三:新建STM32工程
1. 新建工程


ZDDQF8F7$`@])6I64IT6ETU.png

将工程文件建在 Project 文件中

PW6_A@3JE@TRU4@6PBI`I(M.png

2. 选择 STM32F103C8 芯片



确定之后跳出一个窗口,直接关掉

J77@$}JJ[1VZW`(HHKG7W9J.png

3. 添加工程文件到Keil_5工程中

JRD_G2WP]KBWC1{1LL`N]XN.png

新建CMSIS,FWLIB,User 三个文件,然后把刚刚复制在对应文件夹下的文件添加。

B_CKAXCB8YM7PMU8]L$_5VS.png

因为选择的芯片是STM32F103C8——64k内存,所以选择 md 启动引导文件

~@L$T(7BI`56IT67Z2({R]O.png

_ROYK$O)JS38MEJ([`PIM.png

最后添加成功

5OLOYT6K%B%1XABSXA~11WO.png

4. 添加路径和宏定义
点击魔法棒,选择 C/C++
添加宏定义:USE_STDPERIPH_DRIVER, STM32F10X_MD
注意:这里选择的是 md 启动引导文件,所以宏定义是 STM32F10X_MD

N)P1{1%RID[~L~1`()A}KGK.png

添加文件路径

GERUSG9YND)HXKMZ6DLDVAH.png

5. 选择默认ARM编译器版本



6. 编译运行成功

GGU%U[EZ7B0RB33DDH{BX04.png

问题解答

在评论区看到有人遇到以下问题:

问题1:
出现750个以下错误
…\CMSIS\core_cm3.h(173): error: #20: identifier “uint32_t” is undefined

0[OVBLQ)Q9`ZBP2PM}KW~}0.png

是因为 uint32_t、uint16_t、uint8_t 这三个没有定义。
正常这三个是定义在 stdint.h 文件中。

]YAWKHCN{UX)J4IYQ5%AQSF.png

没有定义这三个uint32_t、uint16_t、uint8_t,说明没有#include <stdint.h>

问题1解决方法:
正常在 core_com3.h 文件中第 90 行应该有#include <stdint.h> 这行代码。
没有的,自行加上#include <stdint.h> ,便可以解决问题!



PA[Q82EE@H{AL%GPPV~1TGT.png
T}77H`E0J1SFRKFAZ(LF6T0.png
收藏 评论0 发布时间:2022-5-3 13:07

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版