当前位置: 首页 > news >正文

MDK(μVsion3)问题总结及解决方法

问题 1:MDK 工具的 CARM 编译器? 我原来对 CARM 编译器比较熟悉,想用 CARM 编译器编译工程,但是却弹出一个不能执 行“cc”的错误,到 KEIL 网站查下才知道原因:由于 CARM 编译器是比较老的编译器,并且 KEIL 公司两年前已经停止了对 CARM 编译器的维护与升级,所以目前 KEIL 公司已经没有把 CARM 编译器集成到 MDK 开发工具里面来。于是我就改用 RealView 编译工具,却发现 RealView 编译工具确实很好用,编译效率很高,不愧为业内最优秀的编译器啊,呵呵,所以 建议大家都用 RealView 编译器吧。不过现在 KEIL 网站也可以下载 CARM 编译器,版本为 2.54, 

问题 2:使用 MDK 工具将程序下载到 RAM 里面调试? MDK 支持将代码下载到 RAM 中进行调试。之前我以为只能通过编写脚本文件的方法, 后来看帮助文档才知道有一个更为快捷的方法,点下鼠标就可以了。可以有两种方法实现 RAM 下载的功能。

我们只需要简单的设置就可以实现此功能。具体方法大家可在 MDK 帮助文档里看到: MDK 帮助文档(Help)->RealView 编译工具简介->嵌入式程序->指定存储域。在这一章节 说明了将代码拷贝到 RAM 中执行的方法。也就是只要点下鼠标就可以实现的方法。 方法二 我们可以写脚本文件实现这一功能,脚本文件的写法和 ADS 或者 Embest IDE 大致相同, 只是有些格式需要稍微修改,具体写法大家可以参阅 MDK 里面的 PDF 帮助文档,文档路进 为:打开 MDK 工具->workspace->books->双击 RV Linker/Utilities 打开 PDF 文档->第五 章 Using Scatter-loading Description Files。这里面有关于脚本文件的详细讲述。 脚本文件写好以后我们需要以下步奏添加到工程中去: 1:打开“option for target” 2:在“linker”里面去掉“use memory layout for target dialog”的选择,在“scatter file” 中点击“…”指定你编写好的脚本文件的路径。单击右边的“eidt”可以编辑脚本文件。 3:单击确认 说明:选中“use memory layout for target dialog”这一项实际上是默认在“target”中对 Flash 和 RAM 的地址配置,编译链接时会产生一个默认的脚本文件。

问题 3:关于 License 的问题 我之前就因为 License 使用不当造成我的工具用不了,经过技术支持的处理才解决,所 以建议大家一定要在 License 使用上要慎重。

1、卸载 MDK 开发工具或者格式化 MDK 所在硬盘分区时一定要先卸载 License,不然就 会导致不可预料的后果,如 License 不可用或者 License 不可再申请等。 

2、License 与硬件(比如网卡 MAC 地址)是绑定再一起的,在一台电脑上使用过的 License 不能拿到另外一台电脑上使用,如果有这个需要的话,需要先卸载 License 然后再用需要使 用 License 的电脑去申请一个新的 License,但是 License 卸载次数不能超过两次。

问题 4:“Could not stop ARM device” 我在使用 LPC2364 开发板进行调试的时候,有时会出现“Could not stop ARM device,please check the JTAG cable”的现象 该现象与开发板的频率有关以及仿真器的频率有关,将 JTAG Clock 调低到 100KHz,晶振频率 设置再 12MHz 左右就可以了。我想其它板子出现此情况也可以参照这个办法吧,再不行就 干脆拔了仿真器再接上(很管用的)。

问题 5:将二进制可执行文件(bin)通过 MDK 烧写到板子里面的方法 我之前用过 ADS,想把 ADS 下面编译通过的 BIN 文件通过 MDK 下载到开发板里面去,结 果下不进去,经过咨询才知道原来是因为 MDK 暂时不支持直接烧写二进制格式的可执行文 件(bin 文件),对于二进制文件的写入方式是先将二进制文件(bin)转换为十六进制文件 (hex)。转换完成后按照以下步奏完成文件的烧写: 1、通过 Project - New Project....菜单命令产生一个μVision 工程文件; 2、在设备数据库中选择合适的微控制器,但是不要将初始化代码拷贝到工程中去; 3、在 Project - Options for Target - Output 页中输入即将生成的十六进制文件名; 4、按照配置 Flash 菜单中所述的内容设置下载工具;当使用“Flash – Download”命 令时, μVision 会将指定的十六进制文件下载到 Flash 中 。二进制到十六进制文件的转换 需要采用相关的转换程序;这个在 keil 的网站上有提供。 问题 6:调试时弹出 needs to close 对话框? 我在调试工程的时候有时会弹出“needs to close ”的提示,开始一直不知道是什么问 题,后来在网上搜索才知道该问题主要是工程代码问题,引起软件调试失败,更改程序或更 换正常程序后问题解决。 问题 8:Error:C3900:Unrecognized option '-O3'. 我使用的是 MDK 大众版,使用中曾弹出这个错误,原因是 MDK 中国版有三个版本,大 众版支持优化级别 0,企业版和专业版都能支持 0、1、2、3 四个级别,如果使用的是大众 版,选择高的优化级别是会出错的 2

相关文章:

MDK(μVsion3)问题总结及解决方法

问题 1:MDK 工具的 CARM 编译器? 我原来对 CARM 编译器比较熟悉,想用 CARM 编译器编译工程,但是却弹出一个不能执 行“cc”的错误,到 KEIL 网站查下才知道原因:由于 CARM 编译器是比较老的编译器&#xff0…...

手眼标定学习笔记

目录 标定代码: 手眼标定原理学习 什么是手眼标定 手眼标定的目的 eye in hand eye to hand AXXB问题的求解 标定代码: GitHub - pumpkin-ws/HandEyeCalib 推荐博文: https://zhuanlan.zhihu.com/p/486592374 手眼标定原理学习 参…...

Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统

下载链接:https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取码:5gk6 戴尔原装系统自带网卡、显卡、声卡、蓝牙等所有硬件驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell、迈克菲等预装软…...

【第8章】SpringBoot实战篇之文章分类(上)

文章目录 前言一、后端代码1. CategoryController2. service3. CategoryMapper4. Category 二、测试1. 失败(校验)2.正常 总结 前言 从这开始进入文章相关的接口开发,本章主要介绍定义文章分类接口和新增文章分类 建表语句和测试用例,在SpringBoot专栏首…...

【QT】Qt Plugin开发

目录 插件是什么QT插件是什么 为什么要有插件开发插件开发优势插件和动态库区别 Qt PluginQT插件类型QT插件开发流程QT插件应用QT插件JSON文件 参考文章 插件是什么 插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。…...

快速了解GPU分布通信技术:PCIe、NVLink与NVSwitch

在现代高性能计算和深度学习领域,GPU的强大计算能力使其成为不可或缺的工具。然而,随着模型复杂度的增加,单个GPU已经无法满足需求,需要多个GPU甚至多台服务器协同工作。这就要求高效的GPU互联通信技术,以确保数据传输…...

Python对获取数据的举例说明

当使用Python来获取数据时,有许多不同的方法和库可以根据你的需求来选择。以下是一些常见的示例,说明如何使用Python来从各种来源获取数据。 1. 从网站或API获取JSON数据 你可以使用requests库从网站或API获取JSON格式的数据。例如,从某个API…...

JVMの垃圾回收

在上一篇中,介绍了JVM组件中的运行时数据区域,这一篇主要介绍垃圾回收器 JVM架构图: 1、垃圾回收概述 在第一篇中介绍JVM特点时,有提到过内存管理,即Java语言相对于C,C进行的优化,可以在适当的…...

人工智能就业方向有哪些?

人工智能就业方向有哪些? 随着人工智能技术的不断发展,其应用领域也越来越广泛。对于想要进入人工智能领域的年轻人来说,选择一个合适的职业方向是至关重要的。今天给大家介绍六个热门的人工智能就业方向,分别是机器学习工程师、自然语言处理…...

自定义类型:枚举和联合体

在之前我们已经深入学习了自定义类型中的结构体类型 ,了解了结构体当中的内存对齐,位段等知识,接下来在本篇中将继续学习剩下的两个自定义类型:枚举类型与联合体类型,一起加油!! 1.枚举类型 …...

负载均衡加权轮询算法

随机数加权轮询算法 public int select() {int[] weights {10, 20, 50};int totalWeight weights[0] weights[1] weights[2];// 取随机数int offset ThreadLocalRandom.current().nextInt(totalWeight);for (int i 0; i < weights.length; i) {offset - weights[i];i…...

PyTorch 相关知识介绍

一、PyTorch和TensorFlow 1、PyTorch PyTorch是由Facebook开发的开源深度学习框架&#xff0c;它在动态图和易用性方面表现出色。它以Python为基础&#xff0c;并提供了丰富的工具和接口&#xff0c;使得构建和训练神经网络变得简单快捷。 发展历史和背景 PyTorch 是由 Fac…...

1千2初中英语语法题库ACCESS\EXCEL数据库

英语语法是针对英语语言进行研究后&#xff0c;系统地总结归纳出来的一系列语言规则。英语语法的精髓在于掌握语言的使用。比如词类有名词、代词、数词、感叹词等&#xff0c;时态有一般状态、进行状态、完成状态和完成进行状态四种&#xff0c;语态有主动语态、被动语态等。 …...

高德面试:为什么Map不能插入null?

在 Java 中&#xff0c;Map 是属于 java.util 包下的一个接口&#xff08;interface&#xff09;&#xff0c;所以说“为什么 Map 不能插入 null&#xff1f;”这个问题本身问的不严谨。Map 部分类关系图如下&#xff1a; 所以&#xff0c;这里面试官其实想问的是&#xff1a;为…...

MySQL数据库主从配置

MySQL主从配置 1. 修改数据库my.cnf文件 修改数据库my.cnf文件&#xff0c;在文件中添加如下内容&#xff0c;其中主数据库的server-id必须要比从库的更小。 # 注册集群id server-id101 # 开启二进制日志文件 log-binmysql-bin # 设置日志格式 binlog-formatrow # 开启中继日…...

测试工程师经常使用的Python中的库,以及对应常用的函数

os (操作系统接口) 该库提供了许多与操作系统交互的函数&#xff0c;如文件处理、目录操作、进程管理等。 常用功能包括&#xff1a; os.name: 获取操作系统的名称。 os.path: 用于操作文件路径的模块&#xff0c;如os.path.join拼接路径。 os.mkdir: 创建目录。 os.remove: 删…...

【frp】服务端配置与systemd启动

ini配置的方式已经废弃。官方文档是toml 。阿里云ecs 部署服务端参考大神的文章 使用Frp配置内网访问(穿透) 0.54 版本 我现在用最新的0.58版本。systemd apt install systemdfrp服务端配置 /root/frp目录 vim frps.toml#服务绑定的IP与端口 bindAddr = "0.0.0.0" …...

计算机网络学习实践:模拟RIP动态路由

计算机网络学习实践&#xff1a;模拟RIP动态路由 模拟动态路由RIP协议 1.实验准备 实验环境&#xff1a;华为模拟器ENSP 实验设备&#xff1a; 3个路由器&#xff0c;3个二层交换机&#xff08;不是三层的&#xff09;&#xff0c;3个PC机 5个网段 192.168.1.0 255.255.…...

详解 Flink 的常见部署方式

一、常见部署模式分类 1. 按是否依赖外部资源调度 1.1 Standalone 模式 独立模式 (Standalone) 是独立运行的&#xff0c;不依赖任何外部的资源管理平台&#xff0c;只需要运行所有 Flink 组件服务 1.2 Yarn 模式 Yarn 模式是指客户端把 Flink 应用提交给 Yarn 的 ResourceMa…...

【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)

前言 在上一篇&#xff08;【UE5.1 角色练习】10-物体抬升、抛出技能 - part2&#xff09;基础上创建一个新的大象坐骑角色&#xff0c;并实现控制该角色行走的功能。 效果 步骤 1. 在商城中下载“African Animal Pack”资产和“ANIMAL VARIETY PACK”资产导入工程中 2. 复…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...