最近在开发stm32的时候,安装keil5,遇到stm32和c51的共存的问题,在网上找了很多方法,又遇到一些bug,最终还是弄好了。因此将处理的过程记录下来,希望对遇到相同问题的朋友一些启发。
1、下载安装包
keil product downloads官网链接:keil product downloads
2、安装c51
先安装c51的安装包,再安装stm32的。
需要注意一下几点:
首先在安装的盘里面建立两个文件夹, "keilc51" 是安装51的安装地址,"keilstm32" 是stm32的安装地址。
双击c51的安装包,开始安装,51的安装很简单,如下图所示,选择安装地址keilc51
这些空格随便填一个空格就行
之后继续选择next,
51就基本安装完了,下面开始安装stm32。
3、安装stm32
双击stm32安装包直接下一步到如下图所示,选择安装地址: keilstm32
注意:那个pack的地址会自动找到路径,如果不会自动找到路径的话自行补充路径。而且注意pack地址字母的大小写,不然在之后安装芯片包的时候,与芯片包的安装地址不对,会报以下错:
随便填一个空格就行
至此,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文件之后,将其放到keil(stm32)的安装目录的arm目录之下,如图所示:
然后,按下图所示步骤添加路径:
添加好路径之后,在魔术棒里面的target去设置arm compiler,就多出了个v5.06 update 7(build 960)
再次编译,就编译成功了!!!!!!
注意:如果编译还是出错,可以选择使用默认的: use default compiler version 5,就可以编译通过了。
希望这篇文章对您有所帮助。
如有误导之处请指出!
发表评论