手把手教你STM32F103ZE新建keil工程.docx
- 文档编号:28123048
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:17
- 大小:1.33MB
手把手教你STM32F103ZE新建keil工程.docx
《手把手教你STM32F103ZE新建keil工程.docx》由会员分享,可在线阅读,更多相关《手把手教你STM32F103ZE新建keil工程.docx(17页珍藏版)》请在冰豆网上搜索。
手把手教你STM32F103ZE新建keil工程
手把手教你STM32F103ZE新建keil工程接下来我将手把手的教您新建一个基于V3.5版本固件库的STM32F1工程模板。
步骤如下:
1)在建立工程之前,我们先在电脑的某个目录下建立文件夹(我建在了桌面),后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为test。
2)点击MDK的菜单:
Project→NewUvisionProject,然后将目录定位到刚才建立的文件夹test之下,在这个目录下建立子文件夹USER(我们的代码工程文件都是放在USER目录,很多人喜欢新建“”Project“”目录下面,这也是可以的,这个就看个人喜好了),然后定位到USER目录下,我们的工程文件就都保存到USER文件夹下面。
工程命名为test,点击保存。
图2定义工程名称
接下来会出现一个选择CPU的界面,就是选择我们的芯片型号。
如图3
所示,这里我们选择STM32F103ZET,6操作:
STMicroeletronics→STM32F1Series→STM32F103→STM32F103ZET(6如果使用的是其他系列的芯片,选择相应的型号就可以了,特别注意:
一定要安装对应的器件pack才会显示内容哦~)
图3选择芯片型号
3)
点击OK,MDK会弹出ManageRun-TimeEnvironment对话框,如图4:
4)
到这里,我们还只是建了一个框架,还需要添加启动代码,以及.c文件
等。
4)现在我们看看USER目录下面包含2个文件,如下图6所示:
图6工程USER目录文件
这里我们说明一下,Template.uvprojx是工程文件,非常关键,不能轻易
删除。
5)
接下来,我们在test工程目录下面,新建3个文件夹CORE,OBJ以及
STM32F10x_FWLi。
bCORE用来存放核心文件和启动文件,OBJ是用来存
放编译过程文件以及hex文件,STM32F10x_FWLib文件夹顾名思义用来
存放ST官方提供的库函数源码文件。
已有的USER目录除了用来放工程
main.c,以及其他包括system_stm32f10x.c
文件外,还用来存放主函数文件
等等。
等等。
6)
图7工程目录预览
面我们要将官方的固件库包(读者自行去ST官网下载)里的源码文件
复制到我们的工程目录文件夹下面。
打开官方固件库包,定位到我们之前
准备好的固件库包的目录
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver
下面,将目录下面的src,inc文件夹copy到我们刚才建立的
STM32F10x_FWLib文件夹下面。
src存放的是固件库的.c文件,inc存
放的是对应的.h文件,您不妨打开这两个文件目录过目一下里面的文件,每个外设对应一个.c文件和一个.h头文件。
图8官方库源码文件夹
7)下面我们要将固件库包里面相关的启动文件复制到我们的工程目录
CORE之下。
我们的芯片STM32F103ZET6是大容量芯片,所以选择
startup_stm32f10x_hd.s启动文件。
现在看看我们的CORE文件夹下面的
文件:
图9启动文件夹
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport
\ST\STM32F10x下面将里面的三个文件stm32f10x.h,
system_stm32f10x.c,system_stm32f10x.h,复制到我们的USER录之下。
然后将
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Temp
late下面的4个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,
stm32f10x_it.h复制到USER目录下面。
前面8个步骤,我们将需要的固件库相关文件复制到了我们的工程目录
面,下面我们将这些文件加入我们的工程中去。
右键点击Target1,选
择ManageProjectItems。
10)
图11点击ManagementProjectItmes
ProjectTargets一栏,我们将Target名字修改为
Template,然后在Groups
栏删掉一个SourceGroup1,建立三个Groups:
USER,CORE,FWL。
IB然
后点击OK,可以看到我们的Target名字以及Groups情况
图12新建分组
图13工程主界面
11)下面我们往Group里面添加我们需要的文件。
我们按照步骤10的方法,右键点击点击Tempate,选择选择ManageProjectItmes,然后选择需要添加文件的Group,这里第一步我们选择FWLIB,然后点击右边的Add
Files,定位到我们刚才建立的目录STM32F10x_FWLib/src下面,将里面所有的文件选中(Ctrl+A),然后点击Add,然后Close.可以看到Files列表
面包含我们添加的文件
这里需要说明一下,对于我们写代码,如果我们只用到了其中的某个外设,我们就可以不用添加没有用到的外设的库文件。
例如我只用GPIO,我可
以只用添加stm32f10x_gpio.c而其他的可以不用添加。
这里我们全部添加进来是为了后面方便,不用每次添加,当然这样的坏处是工程太大,编用同样的方法,将Groups定位到CORE和USER下面,添加需要的文件。
这里译起来速度慢,用户可以自行选择。
图14添加文件到FWLIB分组
12)用同样的方法,将Groups定位到CORE和USER下面,添加需要的文件。
这里我们的CORE下面需要添加的文件为core_cm3.c,startup_stm32f10x_hd.s(注意:
默认添加的时候文件夹类型为.c,也就是添加startup_stm32f10x_hd.s启动文件时,你需要选择文件类型为Allfiles
才能看得到这个文件),USER目录下面需要添加的文件为main.c,stm32f10x_it.c,system_stm32f10x.c.。
这样我们需要添加的文件已经添加
到我们的工程中了,最后点击OK,回到工程主界面
图15添加文件到CORE分组
图16添加文件到USER分组
图17工程结构
13)点击魔术棒,然后选择“Output”选项下面的“Selectfolderforobjects⋯”,然后选择目录为我们上面新建的OBJ目录
14)
图18选择编译后的文件存放目录
下面我们要告诉MDK,在哪些路径之下搜索需要的头文件,也就是头文
件目录。
这里大家要注意,对于任何一个工程,我们都需要把工程中引
3个目录
,出来一个菜单,然后点击c/c++选项.然后点击IncludePaths右边的按钮。
弹出一个添加path的对话框,然后我们将图上面的
添加进去。
记住,
keil只会在一级目录查找,所以如果你的目录下面还
有子目录,记得path一定要定位到最后一级子目录。
然后点击OK。
图19点击魔术棒
图20C/C++选项卡
图21添加头文件路径到PATH
15)按照步骤14,定位到c/c++界面,然后填写
“STM32F10X_HD,USE_STDPERIPH_DR”IV到ERDefine输入框里面(请注意,
两个标识符中间是逗号不是句号)然后点击OK
图22添加全局宏定义标识符到Define输入框
16)这次在编译之前,我们记得打开工程USER下面的main.c文件,复制
面代码到main.c覆盖已有代码,然后进行编译。
(记得在代码的最后面
加上一个回车,否则会有警告),可以看到,这次编译已经成功了
图23main.c代码参考
图
17)
这样一个工程模版建立完毕
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手把手 STM32F103ZE 新建 keil 工程