【嵌入式】keil5安装(同时兼容C51和STM32)

devtools/2024/9/23 15:31:50/

        最近在开发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,就可以编译通过了。

希望这篇文章对您有所帮助。

如有误导之处请指出!


http://www.ppmy.cn/devtools/8093.html

相关文章

Java-IDEA-类注释快捷键

1 需求 2 接口 3 示例 File-->Settings-->Editor-->File and Code Templaes中的Class /*** ClassName: ${NAME}* Description: TODO* Author: TODO* Version: TODO* Date: ${DATE} ${TIME}*/ 4 参考资料 IDEA设置类快捷注释_idea add to custom tags-CSDN博客 IDE…

C# winfrom 超详细UI创建过程 实现双色球选号器UI界面设计过程

一、 效果展示 1. 无点击效果展示:不选中——双色球为灰色,字体也为灰色 2.点击双色器效果展示:选中——双色球为红或者蓝,字体为白色 二、 使用控件标注说明 三、界面特点介绍 双色球代码控制生成---------由于红色33个球&…

软考134-上午题-【软件工程】-进度管理

一、甘特图(了解) 1-1、定义 Gantt图是一种简单的水平条形图,它以日历为基准描述项目任务。 水平轴表示日历时间线(如时、天、周、月和年等),每个条形表示一个任务,任务名称垂直地列在左边的列中,图中水…

ROS1快速入门学习笔记 - 01Linux基础

目录 一、Linux极简基础 二、C与Python极简基础 1. for循环 2. while循环 3. 面向对象 一、Linux极简基础 终端快捷键:ctrlaltt 命令行的操作方式 查看当前终端所在路径:pwd切换路径cd;例如cd /home/ 进入home文件夹;cd …

JAVA-服务器搭建-创建web后端项目

首先打开IDEA 点击新建项目 写好名称-模板选择 Web应用程序 -语言选择 Java 构建系统选择 Maven 然后点击下一步 选择版本-选择依赖项 Web Profile 点击创建 点击当前文件-选择编辑配置 选择左上角的加号-选择Tomcat服务器-选择本地 点击配置-选择到Tomcat目录-点击确定 起个…

社会工程渗透测试教程(一)

原文:annas-archive.org/md5/db987a87e1478b8a8617c263c631b477 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 我依然清晰地记得当我坐下来开始在social-engineer.org写框架时的情景。我在互联网上搜索我想要涵盖的主题的有用提示。然而&#xff0c…

MAC 终端命令

Command Shift . 显示隐藏文件夹 环境变量路径 ~/.zshrc ~/.bash_profile 每次打开都需要 source 安装Homebrew xcode安装 xcode-select --install brew安装 /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” 检查是否…

C#版本与.NET版本对应关系以及各版本的特性

C#版本与.NET版本对应关系以及各版本的特性 C#版本.NET版本发布日期特性C# 1.0.NET Framework 1.02002-02-13委托、事件C# 1.1.NET Framework 1.12003-04-24APM(异步编程模型)C# 2.0.NET Framework 2.02005-11-07泛型、匿名方法、迭代器、可空类型C# 3.…