【工具使用】Keil5软件使用-基础使用篇

一、概述

本文面向未接触过Keil的新手,如果是职场老手可跳过此篇。为了快速上手,本文会跳过很多细节及解释,如需要了解原理,请移步进阶篇。

二、 软件介绍

Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
目前软件对中文的支持不友好,不建议安装网上的一些汉化包之类的。另外建立的工程文件路径也尽量不要存在中文,否则可能会出现一些异常。
演示版本:5.24a

三、名词释义

IDE:Integrated Development Environment,是开发集成环境的意思,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。因为做嵌入式开发的,首先需要有可以编写代码的编辑器,然后需要有把代码转换成机器可执行代码的编译器,有时候可能需要在对应硬件芯片上调试,那就需要有个调试器,为了操作方便,一般会把这些都图形化。这么下来的一整套工具集成在一个应用程序里,就是所谓的IDE,这篇文章介绍的Keil uVision就是IDE的一种。
Keil:其实Keil是个公司名,其旗下开发的软件都以Keil开头命名。目前有Keil MDK-ARM、Keil C51、KeilC166和KeilC251等版本。
uVision:uVision是由keil公司开发的集成开发环境(IDE),可以进行代码编辑,文件管理,程序的编译调试等。
MDK、C51:如果想要开发ARM内核的芯片,需要安装MDK-ARM,如果想要开发51内核的芯片,那就需要安装c51。也就是说,MDK、c51只是Keil针对不同芯片内核开发的不同开发集成环境。
CMSIS:ARM Cortex微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。
烧录:烧软件只是一种叫法,来源于最早刻录光盘,因为是用激光讲数据烧在光盘上,所以后来人们把这种不可逆的记录方式称之为烧录。
bin文件:二进制文件,其用途依系统或应用而定。一种文件格式binary的缩写。一个后缀名为”.bin”的文件,只是表明它是binary格式。一般来讲是机器代码,汇编语言编译后的结果。
axf文件:axf文件是ARM芯片使用的文件格式,它除了包含bin代码外,还包括了输出给调试器的调试信息,例如每行C语言所对应的源文件行号等。
Hex文件:Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。

四、下载链接

直接官网下载,用注册机生成Lisence即可,个人用没什么问题,企业用建议购买正版,不然会被查到的。(会有邮件警告到公司老总那去,别问我为什么知道)

五、软件使用

1、软件安装

这个没什么特殊的,一路next就行。如果是自己用的,一般不建议装在C盘,因为后续芯片包都会默认安装在此目录下,文件会变得很大。

2、下载/安装芯片包

跟旧版本的Keil不一样,Keil4以前是软件里集成芯片包,也就是只要下载安装完Keil的软件,就有对应的一些芯片可供选择使用。但由于现在软件支持的芯片越来越多,软件的体量也就越来越大,如果把所有芯片包都跟软件打包一起下载,那软件估计得有几百个G。所以为了简洁,Keil把集成环境跟芯片包、例程等东西分开单独下载,具体要用到什么芯片再自己去下载安装对应的芯片包。

  • 在Keil里下载

点击”Pack Installer”,也就是这个图标

【工具使用】Keil5软件使用-基础使用篇
在更新完后,在左边的窗口中找到想要安装的芯片型号,可以选择整个系列(或具体芯片,结果是一样的),这里以STM32G071为例。然后在右边窗口中,找到”Device Specific”里面”Keil:STM32G0xx_DFP”这一项,点击按钮”Install”下载安装。(同样的,网络卡的时候下载很慢,还经常断开链接)
【工具使用】Keil5软件使用-基础使用篇
这种方式有个好处就是即使在官网无法下载时,也可以假借他人之手去下载。为了防止小伙伴们在官网下载也出现网络中断的情况,这里提供STM32常用系列的芯片包供下载使用(版本可能不是最新的,可以凑和着用)。

3、新建工程

点击”Project”->”New Project”新建工程,在弹出的窗口中选择工程要保存的路径,设置好工程名称,点击保存。由于是新建工程,软件会默认弹出芯片选择框,让你选择当前使用的单片机型号,这里我们选择STM32G071RBTx,然后是选择接口标准,这里我们选择CMSIS。

【工具使用】Keil5软件使用-基础使用篇

因为这里有演示使用的是STM32CubeMX生成的工程,所以里面已经添加好一些初始化的代码文件,我们现在要做的就是把闪灯的逻辑文件也添加进来。由于时间关系,闪灯的代码文件和逻辑都已经准备好了。

【工具使用】Keil5软件使用-基础使用篇
  • 选择烧录器

这里可以选择在线调试或离线仿真两种方式,如果有开发板,建议选在线调试直接在板子上进行实验。选择了在线调试后,需要选择烧录器的类型,这里我们选择ST-Link,也就是开发板上自带的这个烧录器的类型。

【工具使用】Keil5软件使用-基础使用篇
  • 选择烧录后复位

选择”Reset and Run”可以在软件烧录后立即运行,不然会发现一个现象,就是烧完后程序不会跑,需要手动复位后才能跑起来。
为了防止出现些奇奇怪怪的问题,这里建议把”Erase Full Chip”勾选上。

【工具使用】Keil5软件使用-基础使用篇

注:如果此时出现了Error信息,则无法编译通过,需要修改源代码直到编译结果0-Error,才可以正常生成可执行文件。如果出现Warning信息,可视情况进行处理,Warning信息不影响编译结果,但建议多关注下这些Warning信息,很多Bug就隐藏在里面。

7、烧录

经过前面的步骤,我们已经得到了机器中识别的执行文件.axf。并且工程也已经配置了对应的烧录器及芯片,此时先连接烧录器到开发板上,点击”Project”->“Optinos for Target ‘xxx’”->“Debug”->”Setting”查看当前是否已正常连接。如果已正常连接,点击,可以看到左下方有个烧录的进度条。

【工具使用】Keil5软件使用-基础使用篇

8、调试

  • 在线调试

在有开发板的情况下,可以把软件烧进单片机中,并使用烧录器对运行的程序进行实时监控。可查看当前单片机内核、外设、ROM、RAM的变化情况,并且Keil提供了一套比较友好的人机交互界面,可以帮助快速定位查找问题。

  • 离线仿真

如果是没有开发板的情况,想要大致跑下自己写的逻辑有没有问题,可以使用离线仿真这种方式。但如果逻辑中涉及跟单片机外设或开发板外围电路的一些配合,则不适合使用这种方式调试。

六、注意事项

  1. 工程路径下不可以有中文,否则可能编译或调试时会有影响。
  2. 工程文件路径不可过长,这个软件对路径的识别是有长度限制的,当文件的总路径长度超过一定限制后,编译时可能会报无法查找到相关文件。

七、相关链接

Keil5软件使用-进阶工程配置篇、Keil5软件使用-进阶调试篇

来源:知识噬元兽

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月21日
下一篇 2022年9月21日

相关推荐