Keil5安装和使用小记

随着keil版本的更新,一些使用问题一随之产生。本文针对安装目前最新版本keil软件和使用问题做一些总结。

目录

  • 1 Keil5下载&安装
    • 1.1 官网下载链接
    • 1.2 软件安装
      • 1.2.1 安装说明
      • 1.2.2 关于 51 和 ARM 共存的问题
    • 1.3 软件破解
  • 2 pack包安装 & 破解
    • 2.1 下载
    • 2.2 安装
  • 3 keil 关于软件中文乱码和字体不能修改问题
    • 3.1 问题说明
    • 3.2 解决办法
    • 3.2.1 下载方式
    • 3.2.2 安装
    • 3.2.1 字体使用
  • 4 keil AC 编译器问题
    • 4.1 最后的AC5编译器
    • 4.2 AC5编译器下载安装
      • 4.2.1 下载
      • 4.2.2 安装

1 Keil5下载&安装

1.1 官网下载链接

官网下载链接
下载指引-----以下载C51为例

-1-
选择Download

在这里插入图片描述
-2-
选择 Product Download

在这里插入图片描述
-3-
选择需要下载的产品
在这里插入图片描述
-4-
下方填写自己的个人信息,可以随便填,不需要什么验证码。最后点击选择Submit

在这里插入图片描述
-5-
单击下方的下载链接即可下载。
在这里插入图片描述

其他产品下载方式相同,自行下载即可。

1.2 软件安装

1.2.1 安装说明

打开自己下载的安装包,安装过程中并无什么特殊设置,自行下一步即可。
注意:安装路径不要有中文。

1.2.2 关于 51 和 ARM 共存的问题

  • 依次安装MDK 和 C51 软件,安装过程中,注意安装路径在 同一根目录 下。

1.3 软件破解

  • 最新版的软件还是可以破解到2032年。这里不提供软件方法,大家可以在博客网站或者软件安装公众号上自行搜索。
  • 如果安装了 MDK 和 C51 两个共存,破解中需要破解两次且注意选择破解项目。
  • 破解软件时,一定要使用 管理员方式运行 打开。

2 pack包安装 & 破解

2.1 下载

官网下载链接直达
寻找步骤:
首先进入Keil官网 →ProductsArm Development ToolsPublic Software Packs
页面如图所示
在这里插入图片描述

2.2 安装

  • 将PACK包文件复制到安装路径下的…\ARM\pack 文件目录下;
  • 双击打开包文件自行安装;

3 keil 关于软件中文乱码和字体不能修改问题

3.1 问题说明

  当安装了最新版本的MDK软件后,打开之前程序,文中的中文字符是没有问题的,但是如果添加新编辑的中文字符时,便会出现????这种乱码。
  对于之前版本Keil的解决方式,便是将keil的编码方式切换为chinese GB2312 。切换完以后,虽然中文字符乱码的问题解决了,但是所有中英文字体都变成了类似宋体的字体。且修改字体后,保存无效。对于大多数习惯了等宽字体的程序员可能很不适应。

3.2 解决办法

安装一种新的字体
网友们提供了一种新的字体Consolas雅黑混合版编程字体

3.2.1 下载方式

更新中

3.2.2 安装

1、安装前, 关闭Keil软件
2、解压并打开字体文件,单击安装按钮。等待安装完成即可。
在这里插入图片描述

3.2.1 字体使用

打开Keil软件,去设置中选择新安装的字体。
但是,我的软件中没哟这个字体。
另一种办法。
1、在keil根目录下,找到…\UV4\ 文件夹下。
2、以记事本的方式打开 global.prop 文件。
在这里插入图片描述
3、找到79行,将原有的
font.monospace.cpp=Courier New
修改为:
font.monospace.cpp=YaHei Consolas Hybrid

在这里插入图片描述

4 keil AC 编译器问题

4.1 最后的AC5编译器

从MDK5.37开始,不再默认安装AC5编译器,如果需要,自行独立安装。
现在安装的最新版本MDK只带一个AC6编译器。对于编译工程还是没有问题的,但是首次使用软件时候,需要自行选择一下。
在这里插入图片描述
那没有AC5编译器,只使用AC6编译器有什么问题呢,目前我发现的就是,之前写的程序,编译完以后,有些自定义的函数,通过F12无法跳转到定义处。但是切换为AC5编译器后,就可以了。

4.2 AC5编译器下载安装

4.2.1 下载

官网下载链接:旧版本编译器

4.2.2 安装

1、双击打开setup.exe程序文件。
2、在路径选择界面选择keil安装目录下的ARM文件夹,并在该文件夹下新建AC506u7文件夹,并选择其为安装路径。
注意安装路径不可有中文字体

在这里插入图片描述
3、安装完成后,打开keil添加编译器
在这里插入图片描述
在这里插入图片描述
4、添加完成以后就可以在如下界面看到两种编译器。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/1477.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能生活垃圾检测与分类系统(UI界面+YOLOv5+训练数据集)

摘要:智能生活垃圾检测与分类系统用于日常生活垃圾的智能监测与分类,通过图片、视频和摄像头识别生活垃圾,对常见的可降解、纸板、玻璃、金属、纸质和塑料等类别垃圾进行检测和计数,以协助垃圾环保分类处理。本文详细介绍基于YOLO…

找一找马里奥-第14届蓝桥杯STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第110讲。 蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多…

《Linux的权限》

本文主要对linux的一些基本权限进行讲解 文章目录前言Linux权限(1)权限的概念(2)linux下用户分类(root,普通)(3)linux的文件属性文件属性的分类文件权限修改文件权限1、chmod2、chown和chgrp3、fiile权限的三个重要的问题第一个问…

Java面向对象:接口的学习

本文介绍了Java中接口的基本语法, 什么是接口, java中的接口 语法规则, 接口的使用,接口的特性,如何实现多个接口,接口间的继承,以及抽象类和接口的区别 Java接口的学习一.接口的概念二.Java中的接口1.接口语法规则2.接口的使用3.接口的特性4.实现多个接口5.接口间的继承三.抽象…

C++线程池理解

线程池基本信息 线程池是一种结合池化思想衍生出来的一种线程管理及使用的方案 其主要针对服务器端多线程场景下,服务器频繁接收请求,每个请求都分配一个单独的线程去处理。 使用线程的开销: 创建和销毁线程调度线程 线程池主要解决的核…

你是真的“C”——结构体中鲜有人知的“秘密”

你是真的“C”——结构体中的精髓剖析【内存对齐】 【位段】 😎前言🙌结构体内存对齐:😊结构体内存对齐存在的意思是什么?😘内存对齐例子详细剖析:😘结构体中的位段:&…

基于Vue+Vue-cli+webpack搭建渐进式高可维护性前端实战项目

本文是专栏《Vue SpringBoot前后端分离项目实战》的实战第一篇,将从Vue脚手架安装开始,逐步带你搭建起一套管理系统所需的架构。当然,在默认安装完成之后,会对文件目录进行初步的细化拆分,以便后续功能迭代和维护所用…

ChatGPT没有API?OpenAI官方API带你起飞

目录ChatGPT没有API?OpenAI官方API带你起飞安装 OpenAI 的 API 库包装个函数包装个UIAPI 调不通怎么办?ChatGPT没有API?OpenAI官方API带你起飞 前段时间ChatGPT爆火,OpenAI 的 GPT API也被大家疯狂调用, 但其实这个AP…

超详细的堆排序,进来看看吧。

1.堆的基本概念1.1什么是堆堆是一种叫做完全二叉树的数据结构,1.2大堆和小堆大堆:每个节点的值都大于或者等于他的左右孩子节点的值小根堆:每个结点的值都小于或等于其左孩子和右孩子结点的值1.3完全二叉树节点之间的关系leftchild parent*2 1rightchild parent*…

string类(上)

string类(上)1.标准库中的string类2.string类对象的常见构造①string()②string(const char* s)③string(size_t n,char c)④string(const string&s)⑤string(const string& str,size_t pos,size_t lennpos)⑥string(const char* s,s…

【基于协同过滤算法的推荐系统项目实战-2】了解协同过滤推荐系统

本文目录1、推荐系统的关键元素1.1 数据1.2 算法1.3 业务领域1.4 展示信息2、推荐算法的主要分类2.1 基于关联规则的推荐算法基于Apriori的算法基于FP-Growth的算法2.2 基于内容的推荐算法2.3 基于协同过滤的推荐算法3、推荐系统常见的问题1、冷启动2、数据稀疏3、不断变化的用…

java 每日一练 (9)

文章目录1. 单选2. 编程1. 单选 1. 下面程序的输出是:() A : FmNwxy B :fmnwxy C :wxyfmn D : Fmnwxy 答案 : D , 这里主要考察 toUpperCase 和 replace 方法 , 注意点 : toUpperCas…

动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)

动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。动态规划问题,五步走:状态定义&am…

【数据结构】双向链表

🚀write in front🚀 📜所属专栏: 初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

海思SD3403/SS928V100开发(7)mcp2515-SPI转CAN驱动开发

1. 前言 需求: 需要一路can进行收发 分析: 根据目前使用较多的方案是使用主控端SPI接口 接入MCP2515芯片进行CAN协议转换 硬件: MCP2515->SPI2->SS928 2. Uboot开发 2.1 pinmux复用配置 2.1.1 修改uboot参数表 路径: osdrv/tools/pc/uboot_tools/ SS928V100…

Android 进程间通信机制(三) 系统进程与应用进程通信

一. 概述 Android中有一个重要的系统进程(system_server),运行着系统中非常重要服务(AMS, PMS, WMS等), 针对Activity而言,系统进程需要不断地调度Activity执行,管理Activity的状态; 每一个APK都需要运行在一个应用进程中&#xf…

【动态规划】最长上升子序列(单调队列、贪心优化)

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

jvm-题库

1、JVM内存模型 JVM内存区域总共分为两种类型 线程私有区域:程序计数器、本地方法栈和虚拟机栈 线程共享区域:堆(heap)和方法区 特征 线程私有区域:依赖用户的线程创建而创建、销毁而销毁,因用户每次访问都…

带头双向循环链表

在前面我们学习了单链表,发现单链表还是有一些不够方便,比如我们要尾插,需要遍历一遍然后找到它的尾,这样时间复炸度就为O(N),现在我们引入双向带头链表就很方便了,我们先看看它的结构。通过观察,我们发现一…

Vue全新一代状态管理库 Pinia【一篇通】

文章目录前言1. Pinia 是什么?1.1 为什么取名叫 Pinia?1.2. 为什么要使用 Pinia ?2. 安装 Pinia2.1.创建 Store2.1.1. Option 类型 Store2.1.2 Setup 函数类型 Store2.1.3 模板中使用3. State 的使用事项(Option Store )3.1 读取 State3.2 …