keil5工具搭建STM32系列单片机空工程

一、工程创建

1.寄存器版本

1)了解一个基本的工程文件构成

首先在任意目录下创建一个文件夹(如:点亮LED灯,这里对中英文没有要求,下面我创建的项目名为STM32_Project),来放置内核文件、启动文件、用户文件、配置文件。注意:这个文件夹取名最好根据项目名称来取,方便以后你辨认是哪一个项目。
工程的创建可根据个人习惯来创建,下文也是根据我自己的习惯创建。
要配置一个寄存器版本的工程文件,需要以下4种文件:
内核文件:创建CMSIS文件夹放置内核文件 ,整个路径为STM32_Project/CMSIS
启动文件: 创建Startup文件夹放置启动文件 ,整个路径为STM32_Project/Startup
用户文件:创建User文件夹放置启动文件 ,整个路径为STM32_Project/User
在User文件夹下创建API,移植过程中API文件夹下没有放置任何文件,它是用来放置后续自己编写的功能源文件和头文件
STM32_Project/User/API: 自己编写的功能文件
配置文件:创建Startup文件夹放置启动文件 ,整个路径为STM32_Project/Project

2)固件库移植

这里分享一个M3的固件库
链接:https://pan.baidu.com/s/1N_TFIQCxBkrETjaOAVg-yQ
提取码:xps3
复制这段内容后打开百度网盘手机App,操作更方便哦

①移植内核文件
固件库中的内核文件路径STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
将该路径下的两个文件(core_cm3.c 、core_cm3.h)移植到自己创建的STM32_Project/CMSIS文件夹下
②移植启动文件
固件库中的启动文件路径STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
startup\arm将该路径下的对应的文件移植到自己创建的STM32_Project/Startup文件夹下
注意:这里的启动文件得根据自己选用的芯片来选择,如我使用的是STM32F103R8系列芯片,所以我要将startup_stm32f10x_md.s移植过去
ld 小容量 16-32K
md 中容量 64-128K
hd 大容量 256-512K
xl 超大容量 512-1024K
②移植用户文件
用户文件有两个路径需要移植,
路径1是STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x将该路径下的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h移植到STM32_Project/User
路径2是STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template将该路径下的stm32f10x_it.c、stm32f10x_it.h移植到STM32_Project/User
到此需要寄存器版本需要移植的文件结束。
看到这是不是感觉还有一个文件夹没用到是不是?别急,STM32_Project/Project在后续的创建过程中才用到,到这前面的都是在为创建工程做准备,接下来才是真正的创建一个项目工程。

2.库函数版本

库函数版本是在寄存器版本的基础上完成的。以上寄存器版本的新建文件夹以及固件库的移植需要原封不动的做一遍,在开始以下步骤。
1)创建文件夹
库函数文件夹:FwLib,,,该文件夹下存放的是官方提供的库函数,整个路径为STM32_Project/FwLib
2)固件库和库函数移植
bsp 库头文件移植:将 STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template路径下的stm32f10x_conf.h文件移植到用户文件夹下(STM32_Project/User)
库函数文件移植:将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver路径下的两个文件夹(ins和src)移植到STM32_Project/FwLib 下。

二、创建项目

1.创建项目工程名

打开keil5软件之后,点击project->New uVision project选择STM32_Project/Project 路径,在下面创建项目工程名(这里的项目工程名不能出现中文字符),然后选择对应的芯片型号,如我使用的便是STM32F103R8,便选择STM32F103R8,然后点击OK创建成功。

2.添加源文件

添加源文件,也就是添加.c文件。
经过上面的固件库移植,其实文件夹里的文件还在与你的工程没有产生丝毫联系,所接下来就是将他们之间产生联系,也就是添加源文件与头文件。
点击下图品字型图标
在这里插入图片描述
就去之后,双击每个分区空白的地方或者分区标题旁边的图标都可以快速创建新的模块,一般来说第一个分区是你的项目名称,第二个分区中的模块都对应你创建的文件夹的名字,在第三个分区来添加源文件,第二个分区中的每个模块都重复相同的步骤将.c文件添加进来,全部添加成功后一定要点击OK。此时源文件添加成功。
在这里插入图片描述
此时右侧项目会出现下面的样子。当然现在你的.c文件是无法展开的,因为现在还没有添加头文件。
在这里插入图片描述

3.添加头文件

头文件的添加有两种方法,一是点击魔法棒,然后选择C++ 在点击有三个点的方块。
在这里插入图片描述

在这里插入图片描述
然后点击下面两个图标进入选择头文件路径界面,然后将下图中的所有路径添加进来,注意与添加.c文件的区别,.c文件的添加需要明确到每一个.c文件,.h文件则是需要添加到.h文件的上一层为止(就是那个文件夹下装有.h文案就需要将这个文件夹添加进来),重复的文件夹添加一次即可。下面有一个FwLib\inc路径是库函数的路径,寄存器版本忽略即可,库函数版本的时候在添加上就可以。
在这里插入图片描述
到此处整个工程基本完成了,此时编译还是会报错,便需要接下来的两个步骤,还是这个界面,在STM32f10x.h文件中找到与你所用芯片对应的型号,我的是STM32F10X_MD 将其粘贴到这里。剩下一个USE_STDPERIPH_DRIVER 在STM32f10x.h中 99行。注意:两个标识符中间有一个英文的逗号,英文!!!英文!!!英文!!!最后点击OK保存!
在这里插入图片描述
到这里整个工程搭建就完成了。
当然了,需要在新建一个main.c 一个main.h 利用同样的添加头文件源文件的方法添加到项目中,写上主函数函数体即可正常运行。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值