最近在开发STM32的时候,安装Keil5,遇到STM32和C51的共存的问题,在网上找了很多方法,又遇到一些bug,最终还是弄好了。因此将处理的过程记录下来,希望对遇到相同问题的朋友一些启发。
1、下载安装包
Keil Product Downloads官网链接:Keil Product Downloads
2、安装C51
先安装C51的安装包,再安装STM32的。
需要注意一下几点:
- 关闭360等杀毒软件;
- 以管理员方式进行安装和破解;
- 不能有中文路径或字符。
首先在安装的盘里面建立两个文件夹, "KeilC51" 是安装51的安装地址,"KeilSTM32" 是STM32的安装地址。
双击C51的安装包,开始安装,51的安装很简单,如下图所示,选择安装地址KeilC51
这些空格随便填一个空格就行
之后继续选择next,
51就基本安装完了,下面开始安装STM32。
3、安装STM32
双击STM32安装包直接下一步到如下图所示,选择安装地址: KeilSTM32
注意:那个Pack的地址会自动找到路径,如果不会自动找到路径的话自行补充路径。而且注意Pack地址字母的大小写,不然在之后安装芯片包的时候,与芯片包的安装地址不对,会报以下错:
报错提示: 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
随便填一个空格就行
至此,C51和STM32都安装好了,但现在还不能用,还需进行破解和共存
4、C51和STM32共存
分别打开C51和STM32安装位置~D盘的 KeilC51 和 KeilSTM32 文件夹。
将C51文件夹内的C51 和 UV4复制粘贴到KeilSTM32路径下,选择替换:
然后分别打开 KeilC51 和 KeilSTM32 文件夹内的TOOLS.INI文件,将KeilC51的TOOLS.INI文件内容全部赋值粘贴到 KeilSTM32的TOOLS.INI文件的最下边。
粘贴过去后,一定要修改KeilSTM32的TOOLS.INI文件中原本KeilC51的TOOLS.INI文件的C51的路径。
将其从:PATH="D:\KeilC51\C51\" 改成:PATH="D:\KeilSTM32\C51\"
然后打开KeilSTM32路径下的Keil5(也可以将这个文件UV4创建快捷方式放到桌面)
5、C51和STM32破解
C51和STM32破解这里就不在阐述了,百度一下有很多教程。只需注意以下几点就行:
- 关闭360等杀毒软件;
- 以管理员方式进行安装和破解;
破解之后,在图中的两个框都有Expires:Dec 2032的字样,就破解完成了。
6、安装芯片包
建议直接下载芯片包安装,较快。
直接双击pack包,选择安装地址。
注意:芯片包的安装地址跟安装STM32时候的pack地址相同,规避字母大小写,否则会产生错误。
至此,完毕!
7、可能会遇到的其他问题
1、C51仿真器的安装位置
如果在之后的51单片机使用中,需要用到仿真器,那么仿真器的安装位置应该安装在STM32的安装地址"KeilSTM32" 上。(安装在C51的安装位置可不可行我不知道,没试过,有空可以自行尝试)
如下所示是普中C51开发板的仿真器的驱动安装:
并且在连接好电脑和仿真器之后,才继续安装驱动,并用管理员身份运行安装,最好要把 360 等杀毒软件先关掉 。
下图是安装好仿真器之后,验证可行性的测试。连接好C51开发板,打开一个C51的工程文件,可以通过编译和进行调试。
2、Keil_5.37以上版本编译会报错
我这里安装的是Keil_539版本。
编译一个STM32工程之后报错,错误提示如下:
*** Target 'Target 1' uses ARM-Compiler 'Default Compiler Version 5' which is not available.
*** Please review the installed ARM Compiler Versions:
'Manage Project Items - Folders/Extensions' to manage ARM Compiler Versions.
'Options for Target - Target' to select an ARM Compiler Version for the target.
*** Build aborted.
Build Time Elapsed: 00:00:01
这时打开keil 软件会发现下图方框哪里会显示:Missing Compiler Version 5(这里我是解决问题之后截的图)
这是因为MDK5.37及以上的版本,默认不再安装Compiler Version 5,而这些例程却是用Compiler Version 5编译器,所以需要手动安装下Compiler Version 5编译器。
解决方式:从之前老版本的arm文件夹中找到【ARMCC文件夹】,将【ARMCC文件夹】粘贴到新ARM路径下。或者下载以下提供的链接;
这里提供一个ARMCC文件
链接:百度网盘 请输入提取码
提取码:yvpq
下载好ARMCC文件之后,将其放到keil(stm32)的安装目录的ARM目录之下,如图所示:
然后,按下图所示步骤添加路径:
添加好路径之后,在魔术棒里面的Target去设置ARM Compiler,就多出了个V5.06 update 7(build 960)
再次编译,就编译成功了!!!!!!
注意:如果编译还是出错,可以选择使用默认的: use default compiler version 5,就可以编译通过了。
希望这篇文章对您有所帮助。
如有误导之处请指出!