前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快来趴一趴JTAG那些事(下)

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

作者头像
用户1605515
发布2018-04-10 11:16:02
1.5K0
发布2018-04-10 11:16:02
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿
你以为你不知道,其实它一直就在你身边,JTAG是嵌入式开发中在熟悉不过的一个名词了,但是你真的很了解他吗,来一块趴一趴JTAG的那些事,今天来学习JTAG指令

JTAG指令

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

IDCODE 指令

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网站

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档