问题 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