今天刚好是1024程序员节,公司还发了个小礼物,哈哈。正好最近在用Keil测RA和GD32的MCU,但环境搭建的时候遇到了几个小问题,在此整理,希望对诸位有所帮助。
一、打开工程的时候提示没有相应的device
第一次打开keil工程的时候,往往会弹出几个窗口,大意是靠诉你缺少工程需要的device,需要你安装,一般会弹出安装packs的界面,如下所示:
这时候有些萌新可能就懵了,该怎么办啊?
其实只要安装对应的device包就好了。首先要明确自己使用的是哪一款MCU,或者说板子,举个例子,之前我在测GD32的板子,但是安装keil时不会自带GD32的device包,就需要去下载。一般是去官网下,链接:Arm Keil | Devices
然后在搜索框中查找使用的MCU型号,下载对应的包,最后进行安装。
二、Keil芯片包安装失败,出问题
有的时候从官网下载的芯片包无法安装,各种报错,怎么办?
只要你能够把芯片包成功下载,就可以尝试手动安装。如下所示(图中的不是芯片包,仅作展示),安装包是一个pack文件,可以双击安装,也可以使用解压软件直接解压。
将解压出的文件放入keil的芯片包文件夹中,重启keil就可以了。芯片包文件夹被命名为pack,就是你一开始安装keil的时候,第二个安装路径就是芯片包的位置,一般在 Keil -> ARM -> PACK中,但我没有放在这里,我把pack放在了外面。 注意,一定是安装keil的时候选择的芯片包位置,不能搞错。
最后放进去应该是这样的,最好注意一下路径格式:
最后重启keil就可以了。
三、Keil编译的时候疯狂报错
编译不通过,错误少可能是你的问题,错误多达上千那基本上是keil的问题,问题的原因在于编译器版本不对。
打开魔法棒,Target里的这个位置就是编译器选择,图例展示的是complier V6,就是那个版本号V6.16,那个才是安装的编译器。这里是只能选择V6版本,并不是我的keil里只有V6版本的编译器,其实V5版本的也有,但不让选,并不是我没有配置。
为什么呢,这就与工程创建相关了,如果是现有的工程,创建之初可能就设置好了编译器版本,尤其是使用RASC创建的一些keil工程,往往会选择ARM Complier V6的编译器,这也就导致了在keil中只能选择V6的编译器。
而在另一个工程中,可以看到可以使用两个版本的编译器。这里需要使用V5版本的,这也是很多编译报错的问题所在,V6的编译器其实不能编译V5版本的。
最后简单说一下complier 5的安装。可以去官网下载,说实话,不是很好下,需要注册账号,可能也需要科学上网,链接:Downloads - Arm Developer
这里提供一个链接:https://pan.baidu.com/s/1l2CPIEinbwsgyMGK073l8g 提取码:awon
【免费】keilcomplier5安装包资源-CSDN文库 免费的CSDN资源
安装包在这里
在ARM文件夹下创建一个ARMCC的文件夹用于安装complier 5,而下方的ARMCLANG就是complier 6了。
安装完成后,进入keil添加编译器。按照下图的顺序,将ARMCC文件夹添加到里面,当ArmCC Version下面出现了V5版本时就说明安装好了。