JTAG接口技术及ETM
— DDEN在ARM9TDMI内部测试模式下,是可获取、可测试的。在ARM9TDMI外部测试模式下低电平表示将获取数据总线上输入的数据,高电平表示将要输出扫描链上存储的数据。
— 在ARM9TDMI进入调试状态时,SYSSPEED将输出。低电平表示微内核现在进入断点调试,高电平表示微内核进入观察点调试状态。
ETM嵌入式跟踪宏
基于ARM的具有Embedded ICE和JTAG TAP的系统芯片通过JTAG端口和协议转换器与主机相连。这种装置支持正常的断点、观察点以及处理器和系统访问状态。但如果要进行代码的实时跟踪就要引入嵌入式跟踪宏ETM。它提供了ARM处理器系列的指令和数据跟踪。跟踪协议被设计成可嵌入大规模专用集成电路(ASIC)中的ARM处理器内核提供实时跟踪能力。由于ASIC通常包含片上cache和其他电路,因此,不可能通过观察ASIC引脚来决定处理器核的操作,可见跟踪口是了解处理器操作所必需的。
ETM能捕获指令和数据序列,访问并把它们的记录发送给芯片上或芯片外的缓冲器,ARM的ETM既可设置成允许触发器工作也可设置成允许跟踪结果被滤出。使用ETM的过滤功能,可以只捕获特别中断的或特殊文件的代码执行,即相当于提供了对代码的压缩功能。
ETM由如下两部分组成:
— 跟踪端口,用于实时执行的跟踪。代码执行时,CPU发送串行、经过编码、压缩的分支目标地址、管线状态、读写数据给ETM。
— 触发装置,规范已被开发。该规范允许指定特定应用所需的触发源的准确集合。资源包括地址和数据比较器、计数器和定序器。
软件调试器提供与ETM的接口。调试器允许所有的ETM装置通过JTAG接口来配置。若跟踪口已实现,那么调试器就可以用容易理解的格式显示捕获的跟踪信息。
ETM压缩跟踪信息并通过跟踪口输出。外部跟踪口分析器TPA(trace port analyzer)用于捕获跟踪信息。
当跟踪信息已被捕获时,调试器从TPA提取压缩信息,并将其解压缩以提供执行代码的完整反汇编。调试器还可以将其与原高级代码连接以提供代码如何在目标系统执行的信息。
在实际的调试系统中ETM用于实时指令追踪以控制寄存器、总线和存储器。触发点和过滤功能由调试软件配置并通过标准JTAG接口传输到ETM上。利用已有可编程的跟踪器,追踪端口可配置为4位、8位或16位数据总线宽度。同时在仿真时外设和中断程序依然能够继续运行。
ETM7和ETM9的结构和工作原理基本相同。如它们的跟踪保护(trace protocol)和TPA是相同的。
JTAG接口技术ET 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)