欢迎光临亿道电子技术有限公司官网!

全国服务热线:

400-821-3806

您的位置:首页 > 新闻资讯 > 公司新闻
导航栏目

深圳(总部)

深圳市宝安区33区大宝路83号美生慧谷科技园 美谷5栋(邮编:518101)

电 话: 0755-23706296

邮箱:shenzhen@emdoor.com


北京

北京市朝阳区阜通东大街1号院 望京SOHO T1-B-1709室(100102)

电 话:010-82359258

邮箱:beijing@emdoor.com


上海

上海市杨浦区国定路335号复旦科技创业园2号楼10层(200433)

电话:021-52653259 021-62650520

邮箱:shanghai@emdoor.com

公司新闻

联系我们

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

发布时间:2020-07-17

浏览次数:53

[导读] 使用MDK已经有快半年的时间了,开始一直使用试用版(不到半个月就上手了),后来研发部门购买了三套MDK工具进行产品研发,以下是我在使用过程中出现过的一些问题,

使用MDK已经有快半年的时间了,开始一直使用试用版(不到半个月就上手了),后来研发部门购买了三套MDK工具进行产品研发,以下是我在使用过程中出现过的一些问题,现在总结出来供大家一起分享下吧,呵呵,希望对大家有用啦。

问题1MDK工具的CARM编译器?

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

问题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”中对FlashRAM的地址配置,编译链接时会产生一个默认的脚本文件。

问题三:关于License的问题

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

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

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

问题四:Could not stop ARM device

我在使用LPC2364开发板进行调试的时候,有时会出现“Could not stop ARM device,please check the JTAG cable”的现象

该现象与开发板的频率有关以及仿真器的频率有关,将JTAG Clock 调低到100KHz,晶振频率设置再12MHz左右就可以了。我想其它板子出现此情况也可以参照这个办法吧,再不行就干脆拔了仿真器再接上(很管用的)。

问题五:将二进制可执行文件(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中 。二进制到十六进制文件的转换需要采用相关的转换程序;

问题七:调试时弹出needs to close 对话框

我在调试工程的时候有时会弹出needs to close ”的提示,开始一直不知道是什么问题,后来在网上搜索才知道该问题主要是工程代码问题,引起软件调试失败,更改程序或更换正常程序后问题解决。

问题八:ErrorC3900Unrecognized option '-O3'.

我使用的是MDK大众版,使用中曾弹出这个错误,原因是MDK中国版有三个版本,大众版支持优化级别0,企业版和专业版都能支持0123四个级别,如果使用的是大众版,选择高的优化级别是会出错的。

关于亿道电子

亿道电子是国内最全面的开发工具提供商,致力于将全球最先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。亿道电子先后与armAltiumAnsysQTTestPlantCollabNetParasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。亿道电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从arm开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。亿道电子在北京、上海、深圳设有分公司,业务遍布全国。

摘自21ic