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

【经验分享】STM32F1在MDK下新建标准库函数工程

[复制链接]
STMCU小助手 发布时间:2021-11-28 22:54
STM32F1 在 MDK 下新建标准库函数工程
一、准备
STM32F10x 官方固件库;

20210408094157723.png


keil5 MDK 软件

20210408094236205.png


二、步骤
(一)创建项目文件夹,复制固件库文件
新建项目文件夹,名称自定,如 Project

20210408094308107.png


在文件夹中再新建 4 个文件夹,分别取名为 CMSIS、Lib、Startup、User、Basic、Hardware,每个文件夹的作用如下表所示,此处参考来源于洋桃电子工作室:
文件夹名称        作用

IGEW[WXJD`PW8`LB]%OI}T8.png


2021040809463570.png


为每个文件夹粘贴指定的官方固件库文件
CMSIS 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
  1. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c
  2. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h
  3. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h
  4. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
  5. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h
复制代码

因此,CMSIS 文件夹中的文件如下所示:

2021040809470937.png


Lib 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
  1. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc
  2. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src
复制代码

因此,Lib 文件夹中的文件如下所示:

20210408094740591.png


Startup 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
  1. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm(里面所有的文件复制)
复制代码
因此,Startup 文件夹中的文件如下所示:

20210408094859930.png


User 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
  1. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\main.c
  2. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h
  3. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.c
  4. STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.h
复制代码

因此,User 文件夹中的文件如下所示:

20210408094927828.png


(二)keil5 创建标准库函数工程

打开 keil5,新建工程

20210408095052466.png


创建新工程,起名为 Project

20210408095121706.png


在弹出来的对话框中选择相应的 MCU,作者的开发板使用的芯片是 STM32F103C8T6,因此选择 STM32F103C8

20210408095144762.png


在弹出的对话框中,选择取消

20210408095212494.png


得到工程最基础的文件夹

20210408095238898.png


将刚才复制好的库文件加载到 keil5 中
点击菜单栏中的三个小方块按钮

20210408095257539.png


在弹出的对话框中,在 Groups: 这一列里面点击方框按钮,手工输入刚才的几个文件夹名称,注意要名称一致,新建好了之后将原先自带的文件名 “Source Group 1” 点击红叉按钮删除

2021040809531784.png


输入完成后如图所示:

20210408095338843.png


在新建好的文件夹中添加对应的文件

20210408095401491.png


每个文件夹添加文件之后的截图如下:

20210408095429876.png



20210408095445707.png


20210408095458359.png


20210408095512921.png



此时完成了文件的添加,点击 OK 退出

此时可以在软件左侧的文件树中看到刚刚添加的文件

2021040809552888.png


进行初始化的配置
点击菜单栏中魔术棒的按钮

20210408095544713.png


首先设置单片机的晶振为 8.0MHz

20210408095600386.png


勾选生成 Hex 文件

20210408095613226.png


在 C/C++中输入处理器类型,USE_STDPERIPH_DRIVER,STM32F10X_MD

20210408095628530.png


在 C/C++中输入包含文件的路径,然后点击 OK

20210408095641883.png


在文件树中选择 main.c 文件,删除原有的内容,就可以按照自己的项目需求来填写代码了

20210408095716404.png


收藏 1 评论1 发布时间:2021-11-28 22:54

举报

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