1. ARM920T调试架构与边界扫描基础
ARM920T处理器作为经典的ARM9系列嵌入式内核,其调试系统采用分层设计架构。最底层硬件层由测试访问端口(TAP)控制器和嵌入式ICE模块构成,中间层通过JTAG接口实现物理连接,上层则通过各类调试工具链完成人机交互。这种设计使得开发者能够在非侵入式条件下对运行中的系统进行实时监控和故障诊断。
边界扫描测试技术基于IEEE 1149.1标准实现,其核心是在芯片I/O单元外围植入移位寄存器单元。当这些单元首尾相连时,就形成了贯穿芯片边界的扫描链(Scan Chain)。ARM920T包含多条扫描链,其中:
- 扫描链0(184位):用于ARM9TDMI核测试
- 扫描链1(67位):调试数据通道
- 扫描链2(38位):EmbeddedICE寄存器访问
- 扫描链3:外部边界扫描控制
关键提示:在ARM920T中,扫描链3默认作为外部边界扫描的主控链,通过SDIN/SDOUTBS引脚可级联板级其他JTAG器件,实现整个系统的联合调试。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. TAP控制器工作原理解析
2.1 状态机转换机制
TAP控制器是JTAG调试的核心状态机,包含16个状态节点。其状态转换完全由TMS信号在TCK上升沿时的电平决定。图9-6所示的典型调试系统中,TAP控制器通过SCREG[4:0]输出当前扫描链编号,配合IR[3:0]指令寄存器的值,共同决定测试数据寄存器的访问路径。
状态机的关键操作节点包括:
- Capture-DR:将系统信号采样到扫描单元
- Shift-DR:通过TDI/TDO串行移入/移出数据
- Update-DR:将移位结果更新到并行输出
2.2 公共指令集详解
ARM920T支持的标准JTAG指令如Table 9-1所示,各指令功能差异显著:
| 指令 | 二进制码 | 功能描述 |
|---|---|---|
| EXTEST |
