因学习的需要,电脑会同时安装MDK-ARM v4.x(Keil uVision4) 、 MDK-ARM v5.x(Keil uVision5)、C51(Keil uVision5)。但是由于 Keil uVision5 是直接由 Keil uVision4 升级而来,ARM公司在升级上不知道到咋考虑的(Keil 5 文件名竟然还是Keil 4),如果同时安装时,后安装的Keil版本会把之前安装的Keil版本的文件关联给覆盖掉。 这就导致了不同版本的项目无法通过双击使用正确的 Keil 版本打开。
在之前的文章ARM 之 Keil 项目/生成的各种文件类型(.AXF、.D、.crf)说明中已经说过,Keil uVision4 与 Keil uVision5 的项目文件是彼此独立的。那么从理论上来说,两者是可以相互独立的!
C51 和 MDK-ARM
由于目前最新版 C51 和 MDK-ARM v5.x 均使用了 Keil uVision5 作为IDE。在安装时这俩的默认路径是一样的(C://Keil_v5),ARM公司在这方面应该是已经考虑到共存问题,直接安装在同一目录下即可共存。
两部分是相互独立目录,共同使用UV4
(Keil uVision5中文件名没有改名)。那么两者具体如何区分呢?其实就是通过目录下的 TOOLS.ini
来加载各部分的配置的。
当然,也可以将两者分别安装到不同的目录下,然后将两部分的TOOLS.ini
进行合并。具体这里就不多说了。
以上处理过后,在建立项目时,可以直接选择使用C51还是MDK,如下图
- 由于环境原因,未测试 两者均为旧版本(Keil uVision4)时的兼容情况!理论上来说也是直接安装在同一目录即可。
- 如果先安装C51再安装MDK的情况未测试。
Keil uVision4 和 Keil uVision5
如果先安装了 Keil uVision4,然后再安装 Keil uVision5,那么 Keil uVision4 的文件关联就会被 Keil uVision5 给覆盖了。导致 Keil uVision4 的文件关联失效。两者的共存问题主要通过修改注册表来实现。具体键值的位置\HKEY_CLASSES_ROOT\UVPROJFILE
见下图即可
按照上图的注释,将对应版本的Keil关联文件修改为自己的目录位置就可以了。注意的是,修改完后需要重新才会有效果
注意:
- 需要重启才会刷新图标。
- 如果是先安装 Keil uVision5,再安装 Keil uVision4,则不会出现上面的问题
- 初次安装后有可能遇到没有有效关联启动程序,及时重启也无效。这似乎是Windows的bug。这时直接双击项目文件,Windows会出现选择打开的程序界面,并且推荐就是Keil,选择一下就正常了!
本文转自: ARM 之三 Keil uVision4、Keil uVision5、Keil C51同一系统下的共存
如有侵权,联系博主删除