| |
 |
ARM实时在线仿真器Dragon-ICE常见问题 |
随着当前系统设计复杂度的提升,调试过程中碰到问题的几率大大增加。在各种问题中我们需要分析问题的根源和实质,以便去正确地解决。Dragon-ICE与目标板的连接仅限于JTAG接口,两者之间的耦合度已降到最小,不会对目标板的逻辑和电气性能产生影响。但是对于您在使用我们产品过程中遇到的各类问题,我们富有实际工作经验的工程师团队非常乐意为你提供支持和帮助。下面列出的几个问题,是客户在刚开始使用Dagon-ICE时问得比较多的,希望对你有所帮助。 |
| |
| 问题: 为什么要设置PC机的并口类型? |
| 原因: PC机的并口在发展过程中经历了一个从简单到复杂的过程。现有并存的几个并口类型之中, |
| 因为在接口信号的定义上也有所不同,所以无法仅从软件的层面实现兼容,必须在机器启动 |
| 的时候按要求配置好硬件接口才能够正常使用。而且因为不同并口类型并没有统一的名称, |
| 所以有时候只能通过试验来得到所需的结果。 |
| |
| 问题: Dagon-ICE server 程序启动失败,报TCP/IP堆栈出错。 |
| 原因: 你的机器没有连接网络或没有安装网络服务程序。如果你并不需要启动网络服务功能,可以 |
| 在程序的启动设置选项中关闭该功能;如果程序因为该原因自动关闭而造成无法修改选项设 |
| 置,可以在Dragon-ICE的安装目录下找到一个名为Non_tcp_ip.reg
的文件并双击运行它, |
| 这样在以后的运行中就会跳过网络协议堆栈的检测。 |
| |
| 问题: Dragon-ICE server自动识别目标失败 |
| 原因: 1. 检查电源, Dragon-ICE需要从20脚的JTAG接口中供电,根据不同的供电电压吸取80到 |
| 150mA的电流不等。确信你的目标板能够提供符合要求的电压和电流,通电后Dragon-ICE |
| 的电源指示灯点亮。如果在确保电源的情况下指示灯不亮,请接洽你的供货商要求维护。 |
| 如果你的目标系统供电有困难而需要对调试器单独供电,请联系我们的技术支持寻求帮助. |
| 2. 目标内核不受识别。在本手册1.5部分详细地列出了目前版本的Dragon-ICE所支持的内核 |
| 种类。如果能够检测到正确的TAP控制器并且建立起通信,但是不能返回内核的ID号,将 |
| 在屏幕上显示 'UNKNOWN',这时候调试器不能正常工作。你需要从你的芯片供应商那里知 |
| 道正确的ARM内核类型,并新建一个配置文件来进行手动配置,这个工作并不复杂;在大 |
| 多数情况下,用ARM7TDMI来配置你的目标内核也是可行的。 |
| 3. 信号问题。最常遇到的信号问题包括: |
| a) Reset信号没有上拉电阻(reset包含nTRST
和nSRST),这两个信号应在你的目标板上 |
| 用小于10K的电阻上拉。 |
| b) TCK信号的频率太高,该频率受制于TAP控制器,目标板布线和连接电缆等因素,有些 |
| TAP控制器只支持到1MHz速率,这时候需要调整你的TCK频率设置。 |
| |
| 问题: 同调试程序连接时报告"Can't
stop processor" |
| 原因: 1. 在当前环境下JTAG的时钟频率过高,请尝试降低TCK的速率。 |
| 2. Server程序是手动配置的 |
| a) 配置错误:处理器类型、连接次序等设置错误; |
| b) JTAG问题,进行收到配置时,因先确保在自动检测时能够检测到“UNKNOWN”,这样 |
| 就说明JTAG口的通信是正确的。 |
| 3. ARM接口的DBGEN被不正确拉低,如果该信号有片外接口,请检查。 |
| 4. 目标处理器的时钟是否正确。 |
| |
| 问题: 同调试程序连接时出现 *** Data
Abort *** |
| 原因: 1. 当debugger启动时,处理器将停在当前PC值指向的地方,同时读取该PC值周围一部分地 |
| 址的存储器值。如果这些地址正好没有被使用或指向空,就会出现Data
Abort,这种情 |
| 况属于正常。 |
| 2. 如果是使用了存储器(RAM或ROM),出现这种问题表明在存储器访问上可能存在数据错 |
| 误,请检查你的存储器。 |
| 3. 当用户下载程序到目标板时,下载的目标地址是在编译器中指定的,如果编译器里设置 |
| 的目标地址与目标板上可写存取器的物理地址不能对应,也会报Data
Abort,因为调试 |
| 器试图往错误的物理地址写入用户程序而出错。这时候需要检查并重新设置编译器选项。 |
| 4. JTAG口的时钟速率过快。 |
| |
| 问题: 在调试过程中经常停止,有时候甚至进不了调试程序。 |
| 原因: 在排除了调试程序本身的问题后,这一类带有随机性的问题可以考虑是硬件时序或逻辑问 |
| 题引起的,最主要的可能性是nTRST和系统reset信号不可靠。 |
| Reset信号的不可靠包含两方面:正常工作时要求稳定地保持高电平;复位状态时要求有足 |
| 够时间的底电平。Reset电路因为简单通常会被忽略,但事实表明很多貌似奇怪的问题最后 |
| 都归结在这里,无论是从调试的角度还是最后稳定工作的要求,我们都建议你采用一个好的 |
| reset电路(或是IC)来代替简单的R-C电路。 |
| |
| 问题: 调试程序报告"Hardware
interface timeout" |
| 原因: 1. 目标板与Dragon-ICE的连接断开或Dragon-ICE与PC之间的连接中断。 |
| 2. Dragon-ICE供电中断或供电不足。 |
| 3. Dragon-ICE同目标板的通信停顿。一般都是因为打开了RTCK选项,但是检测 |
| 不到合适的RTCK信号。这时你可以不使用RTCK功能或检查该信号的布线。 |
| |
| 问题: 调试程序报告"Unable
to set breakpoints on exception vectors" |
| 原因: 地址映射列表中的起始地址对应的存储器类型是ROM,Dragon-ICE不能在ROM上设置断点, |
| 遇到这个问题时可以忽略。 |
| |
| 问题: Server报告 ”fail to
initialize interface unit” |
| 原因: Server与Dragon-ICE硬件仿真器的连接出错。 |
| 1. 检查供电情况。 |
| 2. 检查Dragon-ICE的指示灯,上电的初始状态应该是绿色的电源指示,当PC端执行动作时 |
| 才有busy状态橙色的闪烁指示。如果一上电Dragon-ICE即指示橙色,表示仿真器系统 |
| 没有完成初始化设置。通常这是由于并口端带电引起的,PC的并口端带电影响了仿真器 |
| 对power on信号的检测。这时可以先拔下仿真器的并口电缆,然后上电(指示灯应为绿 |
| 色),再插上并口电缆。 |
| |
| |
| |