3

在我的嵌入式项目中,我使用 JTAG 接口下载代码并调试下载的应用程序。但我不知道 JTAG 设置内部发生了什么。

谁能给我JTAG设置的基本想法/流程(高级视图),这将真正帮助我更好地理解我的开发系统。

__卡努

4

2 回答 2

4

要添加到 Cliffords 的答案,这里有一些图片:

http://www.fpga4fun.com/JTAG2.html

抽头控制器状态机是您将看到已发布的令人作呕的东西。这确实是 JTAG 的关键。正如克利福德所说,您可以访问芯片调试寄存器。抽头控制器状态机对所有 JTAG 支持的设备都是通用的,但是您可以通过 JTAG 访问的寄存器的地址、长度等。为了做一些有用的事情,你必须读或写的事情的顺序因供应商而异。例如,一些 ARM 技术参考手册(针对各种内核)有一个 Debug TAP 控制器章节,带有这张图片以及关于读取和写入寄存器或内存或停止处理器等过程的详细信息。

于 2010-09-23T19:32:33.263 回答
2

当应用于处理器调试时(因为 JTAG 更普遍地用作边界扫描测试接口),JTAG 只是与设备的片上调试块和存储器接口通信的一种方式。

JTAG 本身就是一个简单的同步串行数据总线。“JTAG 链”上的 JTAG 设备只需通过移位寄存器为数据提供时钟,直到所需的数据在寄存器中。将数据输入片上调试寄存器所需的时钟数取决于移位寄存器的长度和同一调试链上任何先前器件的寄存器长度。JTAG 在循环中运行,因此数据输出与数据输入匹配,延迟等于链的总位长度。

于 2010-09-23T08:49:55.900 回答