MDK(uVsion3)问题总结及解决方法
使用MDK已经有快半年的时间了,开始一直使用试用版(不到半个月就上手了),后来研发部门购买了三套MDK工具进行产品研发,以下是我在使用过程中出现过的一些问题,现在总结出来供大家一起分享下吧,呵呵,希望对大家有用啦。电子论坛,电子设计论坛,电子开发论坛%W-u$z%h.h)E;c
问题1:MDK工具的CARM编译器?
$U3I,z"n(B2U&~电子论坛,电子设计论坛,电子开发论坛 我原来对CARM编译器比较熟悉,想用CARM编译器编译工程,但是却弹出一个不能执行“cc”的错误,到KEIL网站查下才知道原因:由于CARM编译器是比较老的编译器,并且KEIL公司两年前已经停止了对CARM编译器的维护与升级,所以目前KEIL公司已经没有把CARM编译器集成到MDK开发工具里面来。于是我就改用RealView编译工具,却发现RealView编译工具确实很好用,编译效率很高,不愧为业内最优秀的编译器啊,呵呵,所以建议大家都用RealView编译器吧。不过现在KEIL网站也可以下载CARM编译器,版本为2.54,具体情况见。电子论坛,电子设计论坛,电子开发论坛8I3n.W#x `"l9r
问题2:使用MDK工具将程序下载到RAM里面调试?,x8K"k$`(Y!n(f)y,N)W8p
MDK支持将代码下载到RAM中进行调试。之前我以为只能通过编写脚本文件的方法,后来看帮助文档才知道有一个更为快捷的方法,点下鼠标就可以了。可以有两种方法实现RAM下载的功能。—— 全球最大的中文电子开发论坛2`7f.J/i6?1V%g‘i(y4o
方法一电子开发论坛(t.X:M;y5U)p"I
我们只需要简单的设置就可以实现此功能。具体方法大家可在MDK帮助文档里看到:MDK帮助文档(Help)->RealView编译工具简介->嵌入式程序->指定存储域。在这一章节说明了将代码拷贝到RAM中执行的方法。也就是只要点下鼠标就可以实现的方法。
5C/~ M,M,U9c,K!T电子开发论坛方法二
8x;t6v6i3t M&j/n-g(p,p k 我们可以写脚本文件实现这一功能,脚本文件的写法和ADS或者Embest IDE大致相同,只是有些格式需要稍微修改,具体写法大家可以参阅MDK里面的PDF帮助文档,文档路进为:打开MDK工具->workspace->books->双击RV Linker/Utilities打开PDF文档->第五章Using Scatter-loading Description Files。这里面有关于脚本文件的详细讲述。
+I‘W6q:X"E-e3N电子开发论坛 脚本文件写好以后我们需要以下步奏添加到工程中去:电子论坛,电子设计论坛,电子开发论坛8x.t%\+I/j)i:D
1:打开“option for target”
"v$Z/W/W-_%N"| h5x!i1Tbbs.dzkf.net 2:在“linker”里面去掉“use memory layout for target dialog”的选择,在“scatter file”中点击“…”指定你编写好的脚本文件的路径。单击右边的“eidt”可以编辑脚本文件。见图1电子论坛,电子设计论坛,电子开发论坛:F4_#a3^5Y#T&{
3:单击确认
%G2s4E$_/^7y/vbbs.dzkf.net 说明:选中“use memory layout for target dialog”这一项实际上是默认在“target”中对Flash和RAM的地址配置,编译链接时会产生一个默认的脚本文件。—— 全球最大的中文电子开发论坛0t7k-Y.P*c5s
s6x#T Y(?.J‘r5B!R
;g+~#O!y3|0m h0}—— 全球最大的中文电子开发论坛问题三:关于License的问题‘t;~;p0V6k1c"{-d)D
我之前就因为License使用不当造成我的工具用不了,经过技术支持的处理才解决,所以建议大家一定要在License使用上要慎重,在这里也感谢英蓓特公司的技术支持啦—— 全球最大的中文电子开发论坛 g3w*?8^1V/R
1、卸载MDK开发工具或者格式化MDK所在硬盘分区时一定要先卸载License,不然就会导致不可预料的后果,如License不可用或者License不可再申请等。
.K1p,}#T1` 2、License与硬件(比如网卡MAC地址)是绑定再一起的,在一台电脑上使用过的License不能拿到另外一台电脑上使用,如果有这个需要的话,需要先卸载License然后再用需要使用License的电脑去申请一个新的License,但是License卸载次数不能超过两次。—— 全球最大的中文电子开发论坛6]5e&t(v3g#v)j‘o
电子开发论坛%@;k*\,J!y.Z5Q4^$M
问题四:“Could not stop ARM device”
3j+y;|1?&]0U,l电子开发论坛 我在使用LPC2364开发板进行调试的时候,有时会出现“Could not stop ARM device,please check the JTAG cable”的现象
5B‘{ O"b!u1N%t2h该现象与开发板的频率有关以及仿真器的频率有关,将JTAG Clock 调低到100KHz(见图2),晶振频率设置再12MHz左右就可以了。我想其它板子出现此情况也可以参照这个办法吧,再不行就干脆拔了仿真器再接上(很管用的)。
1@4^/x({2\电子开发论坛
1K0w5C:i.e8e:x4M/P5M电子论坛,电子设计论坛,电子开发论坛问题五:将二进制可执行文件(bin)通过MDK烧写到板子里面的方法bbs.dzkf.net7P5F+e.Z:q!g1J;e8M(o7\
我之前用过ADS,想把ADS下面编译通过的BIN文件通过MDK下载到开发板里面去,结果下不进去,经过咨询才知道原来是因为MDK暂时不支持直接烧写二进制格式的可执行文件(bin文件),对于二进制文件的写入方式是先将二进制文件(bin)转换为十六进制文件(hex)。转换完成后按照以下步奏完成文件的烧写:—— 全球最大的中文电子开发论坛;`8?*J%f9x(S"],}.G
1.通过Project - New Project....菜单命令产生一个μVision工程文件; 电子开发论坛*[2?1v;c;a1?1p2x#G0a M
2.在设备数据库中选择合适的微控制器,但是不要将初始化代码拷贝到工程中去;
2V0u:l/w9u)F0P5o$u电子论坛,电子设计论坛,电子开发论坛 3.在Project - Options for Target - Output页中输入即将生成的十六进制文件名;
‘R7K(R,]5M(\+o9W!M+];b)c电子论坛,电子设计论坛,电子开发论坛 4.按照配置Flash菜单中所述的内容设置下载工具;
‘S,e*F4C)M)?*a9j$Y8q.z电子论坛,电子设计论坛,电子开发论坛 当使用“Flash – Download”命令时, μVision会将指定的十六进制文件下载到Flash中 。二进制到十六进制文件的转换需要采用相关的转换程序;这个在keil 的网站上有提供。电子论坛,电子设计论坛,电子开发论坛;a2a6\/o,}5@9f0w&x
9S;^!y9U:d8o5^bbs.dzkf.net问题七:调试时弹出needs to close 对话框?电子论坛,电子设计论坛,电子开发论坛;P3[9b(^(R
我在调试工程的时候有时会弹出“needs to close ”的提示,开始一直不知道是什么问题,后来在网上搜索才知道该问题主要是工程代码问题,引起软件调试失败,更改程序或更换正常程序后问题解决。电子论坛,电子设计论坛,电子开发论坛+M5E%`;N/k(r
电子论坛,电子设计论坛,电子开发论坛;@;l1O2`)|,_&X-{
问题八:Error:C3900:Unrecognized option ‘-O3‘.电子论坛,电子设计论坛,电子开发论坛.y3t‘]#T9_,[%b
我使用的是MDK大众版,使用中曾弹出这个错误,原因是MDK中国版有三个版本,大众版支持优化级别0,企业版和专业版都能支持0、1、2、3四个级别,如果使用的是大众版,选择高的优化级别是会出错的。
阅读(1501) | 评论(0) | 转发(0) |