收藏 分享(赏)

arm调试问题总结.doc

上传人:czsj190 文档编号:4418759 上传时间:2018-12-28 格式:DOC 页数:4 大小:33.50KB
下载 相关 举报
arm调试问题总结.doc_第1页
第1页 / 共4页
arm调试问题总结.doc_第2页
第2页 / 共4页
arm调试问题总结.doc_第3页
第3页 / 共4页
arm调试问题总结.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、标题:ARM 调试问题总结2010-04-30 15:47:52基于 ADS 的 ARM 调试有关问题总结1. 在添加文件的过程中你可能已经发现了 CodeWarrior IDE 为用户建立了三个Target,分别是“DebugRel ”、 “Realse”、 “Debug”,这三个 Target 分别表示三种调试方式。DebugRel 表示在生成目标的时候会为每一个源文件生成调试信息;Debug 表示为每一个源文件生成最完全的调试信息;Release 表示不生成任何调试信息。一般默认选择“DebugRel”。同时从图6 可以发现每次添加文件的时候都会询问添加到哪个 “Target”,一般默认

2、三个都添加,点击确定。2. 我在编译程序的时候出现了这样的错误,请问是什么问题啊 Error : (Fatal) L6002U: Could not open file D:.tmmgrsp周力功ARM 嵌入式系统实验教程FlashDown.mcp re:别用中文名路径,换成英文的;点击 Project 下的 Remove Object Code,然后在重新编译下就 OK 了。3. 刚买了一块2131开发板,不管怎样擦除都不能在下仿真错误显示:Error, FLASH is protected by user configation!re:1:请使用 EasyJTAG V1.06的版本;2:在

3、 JTAG 配置中选中 “当需要的时候擦除”。4. 在 AXD 中提示 error 0x40001e00! FLASH Sector 0 write failed!re:1. 使用 EasyJTAG 写外部 FLASH 要注意,需使用16位总线方式,需要使用 SST39VF106芯片.2. 如果是自己做的板子,需要先在内部 RAM 调试通过, 保证 EasyJTAG 与板子已经连通.3. 如果有外部 RAM,要先通过(测试) 外部 RAM 来测试总线 .5. 在 AXD 中提示 RDI Warning 00254:Unimplemented RDI message.re:是 JTAG 的问题.

4、可以先使用 ISP 操作试试就知道了, 如果能 ISP,说明 LPC2104 没有损坏,还能正常运行程序JTAG 的 nRST、TDI 、TMS、RTCK 等引脚注意要接上下拉电阻,以确保 JTAG 在上电时有一个稳定的初始状态,具体参看 ARM 公司给出的 JTAG 参考电路。对于有的 PC 机,EasyJTAG 不能正确连接开发板,总是弹出错误对话框,这时可以检查并口连接是否可靠,检查并口上是否接有软件狗,或者重新给开发板上下电。另外,在 PC 机的 CMOS 设置里将并口模式设为 SPP 模式,设置并口的资源为378H37FH。6. 错误显示:No disassembly could b

5、e read at the requested address.re:1.有可能被加密了,请使用 ISP 软件(FlashMagic ) ,看看能否对 Flash 进行擦除。2.也可能芯片被烧坏。7. 错误显示:RDI Severe Error 00602: Cant halt target and make it enter DEBUG state.re:当在非 GPIO 模式下操作 IOnDIR 时,会出现 JTAG 调试中无法暂停的情况,并且 AXD 会弹出以下信息的窗口并被迫关闭:“RDI Severe Error 00602:Cant halt target and make it

6、enter DEBUG state.“简单翻译一下就是:“RDI 严重错误00602: 无法暂停目标并使它进入调试状态。 ”当出现这种情况后,就要复位2131(或者重新上电) ,然后重新打开 H-JTAG 软件和 AXD 等。8. SDT JTAG 和 Wiggler JTAG 有什么区别?re:SDT JTAG 和 WIGGLER JTAG 的区别只是在与并口的接法不一样。功能是一样的。你在OPENOCD 里,应该能找到 JTAG 信号与并口的连接的定义,做相应的修改应该就可以了。9. 错误显示:RDI Severe Error 00616: Failed to access instruc

7、tion register.re:1.可能是并口驱动能力不够强, 影响 JTAG 信号质量, 造成不稳定.2.可能是你 flash 中的程序有问题, 先往 flash 中烧一个能正常跑的程序 ,再试试看。10. 关于 JTAG 接口:P1.20/TRACESYNC 应该加上拉电阻以禁止 TRACE 功能。PINSEL2 一定要在程序开始时初始化一下。LPC2210 JTAG注1,2/VDD3.3V P1.31/nTRST, input 3/nTRST, output EasyJTAG 中有上拉电阻。P1.28/TDI, input 5/TDI, output EasyJTAG 中有上拉电阻。P

8、1.30/TMS, input 7/TMS,output EasyJTAG 中有上拉电阻。P1.29/TCK, input/output 9/TCK, input/output EasyJTAG 中有上拉电阻。P1.26/RTCK, input 11/RTCK, output P1.26外接下拉电阻。P1.26有内部上拉电阻,故测量时该引脚会呈现高电平。但是在复位时,它的上拉电阻不起作用,只有外部的下拉电阻起作用,P1.26 = 0V, 所以上电后 PINSEL2的 D3D0会是0x04(B0100),JTAG 有效。若将 P1.26接到 3.3V 再复位,此时 PINSEL2的 D3D0将会

9、是 0x00,JTAG 无效。P1.27/TDO, output 13/TDO, input EasyJTAG 中有上拉电阻。nRESET, input 15/nRST, output EasyJTAG 中有上拉电阻。4,6,8,10,12,14,16,18,20/GND 17,19/NC 11. 错误显示:DBE Warning 00041: An unspecified Debug Toolbox call faied.re:1. 先使用 ISP 软件对板上的 LPC2000系列芯片进行全片擦除。因为如果芯片加密了,则无法进行 JTAG 调试。2. 检查并口线、JTAG 仿真头的连接是否可

10、靠。3. 检查并口模式设置,并口上不要接其它硬件(如软件狗)。12. 错误显示:RDI Warning 00148: Cant set point.re:原因是仿真器在 ROM 中设置的断点数是有限的,且单步运行时内部还要占用断点。解决方案:1.清除所有断点。2.使用“Option-Config Processor”打开“Processor Properties-ARM7TDMI”窗口,点击Clear ALL 即可。13. 错误显示:DBE Warning 00056: The statement into which was stepped is singular (i.e. it has

11、no exit).re:表明 CPU 在死循环,检查你的 RAM,总线配置等。14. 出现取数据中止re:进入取数据中止和取指中止的根本原因在于,对非法地址进行访问(未分配给您使用的地址空间您不能访问,保留作它用的地址空间您不能访问) 。常见的触发取数中止和取指中止的原因之一是利用指针操作缓存时越界了。如果用了周的模板,请修改配置文件里的参数,周的模板默认都是该种芯片最小型号的,主要是修改 RAM 起始地址和 RAM 最高端的地址。请查数据手册!mem_a.scf _RelInFlashmem_b.scf _DebugInRammem_c.scf _DebugInFlash15. 出现 War

12、ring : L6329W: .srcmem_b.scf Pattern *(RW) only matches removed unused sections.re连接警告的原因是你定义的全局变量并同时进行了初始化,但是这个全局变量在你的程序中并没有被使用!并不是没有 RW 属性的段,一般程序都有堆“heap”,全局变量都在 heap 中,heap 有一个明显的属性都是可读可写的。16. 出现 Error : C2933E : type disagreement for rcvmcu.re将 A 函数的实现,剪切到 B 函数实现的前面, 就可以了.17.SPI 时序的设定主要由外接从机决定,应

13、用时您可以按照从机要求的输入时序图,再对照书上的四种模式下的输出时序图来选择当前模式即可。如果从机是上升沿输入,下降沿输出,此时选 CPHA = 1, CPOL = 1,如果从机是上升沿输出,下降沿输入的话则选 CPHA = 0, CPOL = 1.当然 SPI 主机时序的选择还与从机是否在片选时,是否有数据输出有关。以上两个例子,均假设片选时没有数据输出。1、SPI 是全双工的通讯方式,即发送数据的同时会接收到一帧数据;2、至于返回的数据的作用:当需要从机给主机发送数据时,该返回值就是从机需要发送的数据;3、SPI 读取从机数据时,主机发送数据是因为 SPI 通讯时时钟由主机来提供,主机数据

14、给从机提供时钟信号。SPI 通信本来就要由主机来产生时钟,所以读取数据的时候也要由1138来产生时钟,要产生时钟就要发送数据,所以一般读取数据的时候1138就发送0xFF,处理器会自动把 Rx 线上的数据存到 FIFO,而存储器知道是读取数据,不会理会1138发送的数据。 不过之前1138发送命令的时候虽然存储器没有往 Rx 发送数据,但是 1138还是会认为上面是有效数据,会把 Rx 上的高电平当成 0xFF 放到接收 FIFO,所以在接收数据前最好先把 FIFO 清空。18.出现 Error : (Fatal)L6002U : Could not open file E:TEST for ARMrecorder_armrecorder_arm_DataDebuInRAMObjectCodeStartup.o.re:点击 Project 下的 Remove Object Code,然后在重新编译下就 OK 了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 工作总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报