在我的嵌入式项目中,我使用JTAG接口下载代码并调试下载的应用程序。但我不知道JTAG设置中发生了什么。
任何人都可以给我JTAG设置的基本思路/流程(高级视图),这将真正帮助我更好地理解我的开发系统。
__卡努
答案 0 :(得分:4)
要添加到Cliffords的答案,这里有一些图片:
http://www.fpga4fun.com/JTAG2.html
点击控制器状态机是您将看到发布的广告。这是JTAG的关键。正如Clifford所说,您访问芯片调试寄存器。分接控制器状态机对所有JTAG支持的器件都是通用的,但是您可以通过JTAG获得寄存器的地址,长度等。从供应商到供应商,为了做一些有用的事情你必须阅读或编写的事物顺序各不相同。例如,某些ARM技术参考手册(针对各种内核)具有Debug TAP控制器章节,其中包含此图片以及有关读取和写入寄存器或存储器或暂停处理器等过程的详细信息。
答案 1 :(得分:2)
当应用于处理器调试时(因为JTAG更常用作边界扫描测试接口),JTAG只是与器件的片上调试块和存储器接口通信的一种方式。
JTAG本身是一种简单的同步串行数据总线。 “JTAG链”上的JTAG器件只是通过移位寄存器为数据提供时钟,直到所需数据在寄存器中。将数据送入片上调试寄存器所需的时钟数取决于移位寄存器的长度和同一调试链上任何前面器件的寄存器长度。 JTAG在一个循环中运行,以便数据输出与数据输入匹配,延迟等于链的总位长。