基于JTAG的ARM芯片系统调试
1 引言
32位ARM处理器是英国先进RISC机器公司(Advanced RISC Machines,ARM)的产品。随着嵌入式处理器性能的逐步提高,运算速度越来越快、处理的数据量越来越大,传统的调试方法如ROM驻留监控程序以及串口调试工具已经不能满足要求。ARM处理器采用一种基于JTAG的ARM的内核调试通道,它具有典型的ICE功能,基于ARM的包含有Embedded ICE(嵌入式在线仿真器)模块的系统芯片通过JTAG端口与主计算机连接。通过配置支持正常的断点、观察点以及处理器和系统状态访问,完成调试。为了对代码进行实时跟踪,ARM的提供了嵌入式跟踪单元(Embedded Trace Macrocell),对应用程序的调试将更加全面。
2 JTAG边界扫描原理
“JTAG边界扫描”或IEEE1149标准[1]是由“测试联合行动组”(Joint Test Action Group,简称JTAG)开发的针对PCB的“标准测试访问接口和边界扫描结构”的标准。这个标准是ARM处理器调试的基础。
2.1 硬件电路
JTAG边界扫描测试接口的一般结构[2]如图1所示。
JTAG边界扫描硬件电路主要由三部分构成:
1) TAP控制器。测试访问端口(TAP)控制器,是由TMS控制状态转换的状态机。
2) 指令寄存器。用于存储JTAG边界扫描指令,通过它可以串行的输入并执行各种操作指令。
3) 数据寄存器。特定芯片的行为由测试指令寄存器的内容决定。测试指令寄存器可用来选择各种不同的数据寄存器。
2.2 边界扫描测试信号
支持这个测试标准的芯片必须提供5个专用信号接口:
? TRST:测试复位输入信号,低电平有效,为TAP控制器提供异步初始化信号。
? TCK:JTAG测试时钟,独立于任何系统时钟,为TAP控制器和寄存器提供测试参考。
? TMS:TAP控制器的测试模式选择信号,控制测试接口状态机的操作。
? TDI:JTAG指令和数据寄存器的串行输入端,给边界扫描链或指令寄存器提供数据。
? TDO:TAG指令和数据寄存器的串行输出。
2.3 指令
JTAG测试系统是通过向指令寄存器送入指令,然后使用数据寄存器进行测试。测试指令说明要进行的测试种类及测试要使用的数据寄存器。测试指令分为公开指令和私有指令。公开指令已经定义且用于通用测试。私用指令用于片上的专用测试,测试标准没有规定如何使用私有指令。测试标准支持的最小集的公开指令有:
? BYPASS:器件将TDI经一个时钟延时连接到TDO,用于同一个测试环中其它器件的测试。
? EXTEST:将边界扫描寄存器连接到TDI和TDO之间,用于支持板级连接测试。
相关文章
- 2024-07-09多CCD拼接相机中图像传感器不均匀性校正
- 2023-03-02智能化色谱分析软件的研究与应用探讨
- 2024-02-26实现同一分析周期内两流路并行分析的技术改造
- 2022-04-27监控摄像机日夜及彩色黑白转换两用简析
- 2024-07-31铁路客车提速轴承外圈非基准端面挡边平行度测量仪的研制



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。