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

news2024/10/1 23:49:33

        最近在开发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.coloradmin.cn/o/1613784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

判断水仙花数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int n 0;int b 0;int s 0;int g 0;int m 0;//提示用户&#xff1b;printf("请输入…

贪吃蛇游戏实现(VS编译环境)

贪吃蛇游戏 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;C语言&#x1f353; &#x1f33c;文章目录&#x1f33c; 0. 前言 1. 游戏背景 2. 实现后游戏画面展示 3. 技术要求 4. Win32 API介绍 4.1 Win32 API 4.2 控制台程序 4.…

开启农业新篇章:山海鲸智慧农业解决方案全面解析

在农业领域&#xff0c;数字化转型已经成为推动农业发展的重要力量。山海鲸&#xff0c;作为农业科技创新的引领者&#xff0c;推出了全新的智慧农业解决方案&#xff0c;通过运用先进的物联网、大数据和人工智能等技术&#xff0c;为农业生产提供智能化、精准化的管理服务&…

c++模拟实现list——详讲双链表--链表

在C语言中我们已经模拟实现了list&#xff0c;现在对比c看看二者的区别 双链表————详讲 个人博客主页&#xff1a; 个人主页 个人码云 码云代码 文章目录 目录 文章目录 ​编辑 前言 一、list是什么&#xff1f; 二、list的使用 三、模拟实现list和搭建list的结构 1.节点结…

孩子用什么样的灯对眼睛没有伤害?分享五款防近视护眼台灯

随着生活条件逐渐提升&#xff0c;对台灯的需求也越来越大&#xff0c;不管在生活中还是工作中&#xff0c;灯具是必不可少的照明工具了&#xff0c;尤其是对于学生而言。很多家长都在寻找孩子用什么样的灯对眼睛没有伤害&#xff1f;建议最好选择一款合格、专业的护眼台灯&…

SpringBootWeb请求

文章目录 前言一、Postman介绍 二、简单参数三、实体参数四、数组集合参数五、日期参数六、JSON参数七、路径参数 前言 在上一篇文章中&#xff0c;已经基于SpringBoot的方式开发一个web应用&#xff0c;浏览器发起请求 /hello 后 &#xff0c;给浏览器返回字符串 “Hello Wor…

STM32之HAL开发——FSMC—扩展外部SRAM

SRAM读写时序 对SRAM进行读写数据时&#xff0c;它各个信号线的时序流程如下图 &#xff08;图一&#xff09;SRAM的读时序 &#xff08;图二&#xff09;SRAM的写时序 流程解释 主机使用地址信号线发出要访问的存储器目标地址&#xff1b;控制片选信号CS1#及CS2#使能存储器…

力扣HOT100 - 25. K 个一组翻转链表

解题思路&#xff1a; class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode dum new ListNode(0, head);ListNode pre dum;ListNode end dum;while (end.next ! null) {for (int i 0; i < k && end ! null; i) {end end.next;}if …

生成式AI产品图谱全览:投资人、产品经理必备指南

以下是生成式AI产品图谱的核心要点&#xff0c;供投资人、产品经理等关注生成性AI领域的专业人士参考&#xff1a; 技术领域细分&#xff1a;依据AI技术所处理的媒介类型进行划分&#xff0c;包括文本处理、代码生成、图像处理、语音识别、视频分析、3D模型构建、音乐创作和游戏…

深度学习项目设置超参数 parser or dictionary

见惯了parser 有的人却是用字典读的&#xff1a; 将配置文件config.yaml读取到一个dictionary类型的变量cfg中&#xff0c; 后面出现了这样的语句&#xff1a;cfg["trainer"].get("sup_only_epoch", 1): 意思是&#xff1a;在config.yaml文件里key为trai…

Java客户端如何直接调用es的API

Java客户端如何直接调用es的API 一. 问题二. withJson 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一. 问题 今天做项目的时候&#xff0c;想要直接通过java客户端调用es的api…

PHP反序列化漏洞原理(附带pikachu靶场演示)

1.反序列化概念 序列化:是将变量转换为可保存或传输的字符串的过程;实现函数是serialize()反序列化:就是在适当的时候把这个字符串再转化成原来的变量使用&#xff0c;就是序列化的逆过程。实现函数是unserialize() 直白一点就是&#xff1a;序列化是把对象转换成字节流&#…

基于java+springboot+vue实现的图书借还管理系统小程序(文末源码+Lw+ppt)23-1

摘 要 随着社会的发展&#xff0c;图书借还的管理形势越来越严峻。越来越多的借阅者利用互联网获得信息&#xff0c;但图书借还信息量大。为了方便借阅者更好的获得本图书借还信息&#xff0c;因此&#xff0c;设计一种安全高效的“共享书角”图书借还管理系统极为重要。 为…

python安装pytorch@FreeBSD

先上结论&#xff0c;最后在conda下安装成功了&#xff01; PyTorch是一个开源的人工智能深度学习框架&#xff0c;由Facebook人工智能研究院&#xff08;FAIR&#xff09;基于Torch库开发并维护。PyTorch提供了一个高效、灵活且易于使用的工具集&#xff0c;用于构建和训练深…

Matlab进阶绘图第51期—带填充等高线的三维特征渲染散点图

带填充等高线的三维特征渲染散点图是填充等高线图与特征渲染三维散点图的组合。 其中&#xff0c;填充等高线图与特征渲染的三维散点图的颜色用于表示同一个特征。 由于填充等高线图无遮挡但不直观&#xff0c;特征渲染的三维散点图直观但有遮挡&#xff0c;而将二者组合&…

【MySQL探索之旅】多表查询

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

快速排序题目SelectK问题(力扣75.颜色分类、力扣215.数组中的第K个最大元素、面试题17.14最小K个数)

力扣75.颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sor…

使用Nexus搭建npm私服库

优质博文&#xff1a;IT-BLOG-CN 【1】下载nexus http://www.sonatype.com/download-oss-sonatype解压到本地即可&#xff1b; 【2】打开nexus-3.2.0-01-win64\nexus-3.2.0-01\bin&#xff1b;打开cmd&#xff08;必须使用cmd&#xff09; 执行nexus.exe /run&#xff1b;需要使…

贪吃蛇的简单实现(c语言)

前言&#xff1a;学完了C语言的基础语法&#xff0c;和一点数据结构的知识&#xff0c;拿贪吃蛇来练练手&#xff0c;并熟悉以前的知识。写完之后&#xff0c;有一种成就感&#xff0c;为以后的学习饱满激情。 注意这里的讲解是由部分到整体的思路。 目录 控制台不能是终端&am…

OpenCV-复数矩阵点乘ComplexMatrixDotMultiplication

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 需求说明 一般用到FFT&#xff0c;就涉及到复数的计算&#xff0c;为了便于调用&#xff0c;我自行封装了一个简单的复数矩阵点乘…