嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG调试基础概念.docxVIP

嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG调试基础概念.docx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

JTAG技术的起源与发展

JTAG(JointTestActionGroup,联合测试行动组)技术起源于1985年,由欧洲航天局(ESA)和美国国防部(DoD)共同发起,旨在解决多芯片系统中测试和调试的复杂性问题。随着集成电路(IC)的复杂度不断提高,传统的测试方法变得越来越难以实施,JTAG技术应运而生,它提供了一种通过芯片上的边界扫描链路进行测试和调试的解决方案。JTAG技术最初被设计用于检测和修复电路板上的故障,但随着技术的发展,它现在也被广泛应用于芯片内部的测试和调试,成为现代电子设计和制造中不可或缺的一部分。

1JTAG调试的基本原理

JTAG调试的核心原理是利用边界扫描技术,通过芯片上的JTAG接口访问内部的测试访问端口(TAP)。TAP控制器是JTAG技术的关键组件,它允许外部设备通过JTAG接口发送指令和数据,从而控制芯片内部的测试和调试过程。JTAG接口通常包括以下信号线:

TCK(TestClock):测试时钟信号,用于同步JTAG操作。

TMS(TestModeSelect):测试模式选择信号,用于控制TAP控制器的状态。

TDI(TestDataInput):测试数据输入信号,用于向芯片内部发送测试数据。

TDO(TestDataOutput):测试数据输出信号,用于从芯片内部读取测试数据。

TRST(TestReset):测试复位信号,用于复位TAP控制器。

通过这些信号线,外部调试器可以控制芯片进入不同的测试模式,如测试逻辑分析、测试数据输入输出、测试状态机控制等,从而实现对芯片内部状态的访问和控制。

2JTAG接口的组成与功能

JTAG接口由上述的TCK、TMS、TDI、TDO和TRST信号线组成,这些信号线连接到芯片内部的TAP控制器。TAP控制器是一个状态机,它有多个状态,包括:

Reset:复位状态,TAP控制器在此状态下等待复位信号的释放。

DR-Scan:数据寄存器扫描状态,用于访问芯片内部的数据寄存器。

IR-Scan:指令寄存器扫描状态,用于访问芯片内部的指令寄存器。

Capture-DR:捕获数据寄存器状态,用于将数据从TDI输入到数据寄存器。

Capture-IR:捕获指令寄存器状态,用于将指令从TDI输入到指令寄存器。

Shift-DR:数据寄存器移位状态,用于通过TDI和TDO进行数据的输入和输出。

Shift-IR:指令寄存器移位状态,用于通过TDI和TDO进行指令的输入和输出。

Exit1-DR:退出1数据寄存器状态,用于准备进入下一个状态。

Exit1-IR:退出1指令寄存器状态,用于准备进入下一个状态。

Update-DR:更新数据寄存器状态,用于将数据寄存器中的数据应用到芯片的内部逻辑。

Update-IR:更新指令寄存器状态,用于将指令寄存器中的指令应用到芯片的内部逻辑。

通过控制TAP控制器的状态,外部调试器可以实现对芯片内部寄存器的读写操作,从而进行测试和调试。

2.1示例:使用OpenOCD进行JTAG调试

OpenOCD(OpenOn-ChipDebugger)是一个开源的JTAG调试工具,可以用于多种微处理器和微控制器的调试。下面是一个使用OpenOCD进行JTAG调试的示例:

#OpenOCD配置文件示例

#

#配置JTAG适配器

adapter_khz1000

#

#配置目标设备

#

#使用JTAG接口连接目标设备

jtagnewtap:tap-irlen4-expected-id0x1ba01477

#

#设置目标设备的指令寄存器长度

#

#设置目标设备的IDCODE

#

#设置目标设备的CPU类型

#

#设置目标设备的复位方式

#

#设置目标设备的复位延迟

#

#设置目标设备的复位指令

#

#设置目标设备的复位状态

#

#设置目标设备的复位后状态

#

#设置目标设备的复位后指令

#

#设置目标设备的复位后状态机

#

#设置目标设备的复位后状态机控制

#

#设置目标设备的复位后状态机控制指令

#

#设置目标设备的复位后状态机控制状态

#

#设置目标设备的复位后状态机控制状态机

#

#设置目标设备的复位后状态机控制状态机控制

#

#设置目标设备的复位后状态机控制状态机控制指令

#

#设置目标设备的复位后状态机控制状态机控制状态

#

#设置目标设备的复位后状态机控制状态机控制状态机

#

#设置目标设备的复位后状态机控制状态机控制状态机控制

#

#设置目标设备的复位后状态机控制状态机控制状态机控制指令

#

#设置目标设备的复位后状态机控制状态机控制状态机控制状态

#

#设置目标设备的复位后状态机控制状态机控制状态机控制

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档