目录
1 背景
作为最常用的单片机程序编辑工具,全球有超过10万的工程师在使用Keil,但初学者很有可能对Keil的各种信息和操作一无所知,我便是其中一员,由于最近看了很多Keil相关的教程,这里想结合自己的实践经验来写一篇汇总式的教程,我觉得几乎包含了在使用Keil的过程中可能出现的各种需求。
2 名词释义
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中的程序和数据。
3 发现的问题
打开Keil时Pack Installer 自动打开下载芯片包,但弹出如下提示,无法下载:
Refresh Pack description
E: the specified CMsls Pack Root directorydoes NoT exist! Please take a moment to review ifthe value is correct or create a new one via cpackget init command
cannot download "https://www,keil,com/pack/Keil.STM32G4xx DFP,1.5.0.pack: General error
cannot download file https://www,keil,com/pack/Keil,STM32G4xx DFP,1.5.0.pack: General error
然后我们尝试直接打开最下面的DFP1.5.0,但仍然提示报错: the specified CMSIS Pack Root directory does NOT exist! Please take a moment to review if the value is correct or create a new one via cpackget init
command,无法像上面的包一样打开以后编译出pdsc文件
4 想到的可能解决问题的措施
1.确保pack已经下载完整
2.不能有中文路径
3.(我解决这个问题的方法)重新安装Keil,注意到这个界面时,如果我们不想把Keil安装在默认路径,一定要记住默认路径的格式,我们在创建自己的路径时一定要按照这个格式来
比如,如果我们此时想安装在D盘,那么我们最好命名成
Core:D:\Keil_v5
Pack:D:\Keil_v5\ARM\PACK
如果默认路径有中文就把中文替换成英文即可
这样这个问题我们就解决了
5 下载网址
官网:Keil Embedded Development Tools for Arm, Cortex-M, Cortex-R4, 8051, C166, and 251 processor families.