以管理员身份打开软件!!!
以管理员身份打开软件!!!
以管理员身份打开软件!!!
内 容:Keil工程创建
学 时:2学时
知识点:开发固件库介绍、熟悉Keil功能、新建工程配置过程
重点:新建工程配置过程
难点:新建工程配置过程
时间:2022年12月20日 9:00~11:50
1 开发固件库介绍
2 工程文件添加
步骤1:
步骤2:
步骤3:
步骤4:
步骤5:
步骤6:
步骤7: 启动文件选择
步骤8:
3 工程配置
步骤1:
步骤2:
步骤3:
步骤4:
步骤5:
步骤6:
步骤7:
步骤8:
步骤9:
意法半导体公司(ST)为方便开发者,提供了开发函数库,称为固件库,屏蔽了很多直接操作硬件的底层操作。基于库函数的开发,可以更方便快捷。本次项目采用3.5固件库,固件库可以在提供的资料包中找到,也可以从意法半导体公司的官方网站上下载。进入库文件的根目录,根目录下有一些子目录和文件,如图1所示。
图1 库文件目录
●Libraries目录:库文件源码和系统启动相关的文件。
●Project目录:一些开发的示例和工程模板。
●Utilities目录:官方提供的一些开发例程。
●库帮助文档:库函数的功能和参数描述,是官方提供的帮助文档。
打开keil,选择Project->New uVision Project,如下图所示,选择工程的存储位置、工程名字,点击保存。
图2 选择新建工程存储位置
选择要用的CPU,自动化分拣系统中使用的是STM32F103R6,点击ok,如下图所示。
图3 选择CPU型号
弹出如下Manage Run-Time Environment窗口,点击关闭。
图4 Manage Run-Time Environment窗口
步骤4及以后都是在windows上的操作
在keil工程的存储目录下新建四个文件夹,如下图所示,分别为:
cmsis: 存放ARM处理器外围标准接口;
fwlib: 存放库文件;
source: 存放用户编写的代码文件;
startup: 存放开机启动文件,当STM32 芯片上电启动的时候,受限会执行启动文件的汇编程序,从而建立起来C 语言的运行环境。
图5 新建目录文件夹
将如下路径下的文件复制到fwlib文件夹复制到fwlib文件夹。
图6 fwlib文件目录
将如下图所示路径的文件复制到cmsis文件夹。【.c .h文件都要复制】
启动文件作用如下:
(1)初始化堆栈指针 SP;
(2)初始化程序计数器指针 PC;
(3)设置堆、栈的大小;
(4)设置异常向量表的入口地址;
(5)配置外部 SRAM作为数据存储器;
(6)设置 C库的分支入口__main(最终用来调用 main函数);
STM32F103xx系列,为我们提供了四种启动文件,以适应不同flash容量的芯片。
STM32F103R6 具有32K flash,所以启动文件选择startup_stm32f10x_ld.s,将如下图所示路径下的文件复制到startup文件夹。
图8 startup文件目录
将如下图所示路径文件复制到source文件夹。
图9 source文件目录
上述步骤,确保复制粘贴时无误,仔细耐心‼️
如下图所示,点击配置文件按钮,在中间栏(Grops)使用New按钮依次添加startup、cmsis、fwlib、source文件夹。
图10 配置文件界面
在右边栏(Files)添加各目录源文件,此目录文件即为keil创建路径下各目录的源文件。
图11 添加各目录源文件
添加完成后,文件目录如图12所示。
图12 文件目录
设置头文件路径:根据如下路径找到添加头文件的位置:魔法棒 -> C/C++ -> Include Paths,如图13所示。点击魔法棒,选择C/C++,添加Define。
图13 设置头文件路径
点击New按钮,...按钮,添加头文件路径Include Paths。
注意不要直接手动输入,点击 ... 按钮去windows文件夹中选择路径。
图14 添加头文件路径
添加宏,两个宏中间使用逗号 , 隔开(英文模式下输入)
STM32F10X_LD:告诉STM32标准库,我们使用的芯片类型是小容量的,使STM32标准库根据我们选定的芯片型号来配置。
USE_STDPERIPH_DRIVER:使stm32f10x.h头文件包含标准外设头文件stm32f10x_conf.h,
图15 添加宏
精简main函数。
#include "stm32f10x.h"
#include
int main(void)
{
while(1)
{
}
}
图16 精简main函数
修改频率。
图17 修改system_stm32f10x.c
点击编译按钮,编译工程。0 error
上午学习任务已完成!