快来趴一趴JTAG那些事(下)

0?wx_fmt=gif

你以为你不知道,其实它一直就在你身边,JTAG是嵌入式开发中在熟悉不过的一个名词了,但是你真的很了解他吗,来一块趴一趴JTAG的那些事,今天来学习JTAG指令

JTAG指令

JTAG控制器执行IEEE 1149.1-2001标准定义的指令,下图是指令列表。

0?wx_fmt=jpegIDCODE 指令

IDCODE指令在TDI和TDO之间选择32位的设备识别寄存器作为移动路径,这条指令允许MCU的询问,以决定版本号和其他部分的识别数据,当JTAG控制器复位时,IDCODE指令被装载放置到指令寄存器。

SAMPLE/PRELOAD 指令

从名字看顾名思义有另个功能

这条指令的SAMPLE部分得到在边界扫描寄存器单元格出现在输出引脚之前得到系统数据和出现在MCU输入引脚上的控制信号的采样。当指令激活,且在Capture-DR状态时,在TCK的上升沿采样,在shift-DR状态下,采样数据通过边界扫描寄存器移位到TDO输出观测。

PRELAOD部分在EXTEST或者CLAMP指令执行边界扫描测试之前,初始化边界扫描寄存器单元格。在Update-DR状态下,在TCK的上升沿,初始化数据传送给并行输出的边界扫描寄存器单元格,

EXTEST指令

EXTEST选择边界扫描寄存器作为在TDI和TDO之间的移动路径,通过驱动边界扫描寄存器中的预装载数据可以允许支持及测试片外电路和板级连接的测试。通常在选择EXTEST之前,使用SAMPLE/PRELOAD指令将预装载数据装载到边界扫描寄存器。

HIGHZ指令

HIGHZ选择旁路寄存器作为在TDI和TDO之间的移动路径,当HIGHZ指令激活时,所有的输出驱动都处在非活跃状态。

CLAMP指令

当旁路寄存器被选择作为TDI和TDO之间的路径时候,CLAMP指令允许MCU管脚信号的状态由边界扫描寄存器决定。当经过边界扫描寄存器执行EXTEST指令时,CLAMP通过减少整体移位到旁路寄存器,增强提高了测试效率。

BYPASS 指令

BYPASS指令选择旁路寄存器在TDI和TDO之间创造一个单个位的移位寄存器路径。当MCU没有测试操作请求时,BYPASS指令通过减少整体的移位路径提高了测试效率。

更多详细的指令操作以及测试访问接口的状态机部分请详细参考IEEE标准,这里不在赘述。更多官方详解可以访问www.jtag.com网站

0

嵌入式

程序猿

微信号:InterruptISR

嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。

0?wx_fmt=jpeg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值