碎碎思 · 3月7日

玩转 JTAG 工具,使用 JTAG Probe”逆向“硬件电路

大家在一些二手网站上经常能看到一些没有配套资料(原理图等)的板子,而这些板子相对来说比较便宜,如果量大则可以用来做开发板,那么首先需要解决的就是”逆向“出原理图用来后续例程的开发。

image.png

目前能辅助类似工作的有两个软件:XJTAG 和 TopJTAG(我了解的),其中 TopJTAG 有和谐版所以就以其举例使用说明。

原理

JTAG 产生的最初目的是用于芯片测试,即 Boundary-scan 技术,常见规范有 IEEE1149.1、IEEE1149.6 和 IEEE1532 等,通过与规范兼容的设备,即可访问芯片的内部节点或 I/O。我们就利用 JTAG 这一特性,使用 TopJTAG 推断出相关的引脚。

安装

通过网盘分享的文件:TopJTAG Probe.zip 链接: https://pan.baidu.com/s/1WZE9...

解压后,打开下图两个 exe:

Image

按照下面步骤生成注册码:

Image

注册成功:

Image

使用

整个软件极其简洁,和常规的 EDA 软件布局类似。

Image

先使用对应芯片厂家的 EDA 软件扫描到芯片:

Image

在 TopJTAG 上新建工程:

Image

选择对应的仿真器,Probe 支持很多主流仿真器,如下图:

Image

按照自己使用的 JTAG 类型进行连接,我们本次使用 FT4232 做的 Xilinx JTAG:

Image

自动扫描目标板的 JTAG 链,显示链上的设备 ID 和生产商。扫描到芯片后就可以继续了:

Image

接下来就是最重要的一步了,查找 BSDL 文件(该文件根据 IEEE 规范定义了设备信息。):

Image

BSDL 文件可以从芯片生产商那里获得,比如 Altera MAX II 的 BSDL 页面为:

https://www.altera.com/suppor...

ST 的 STM32 系列 BSDL 下载地址为:

https://www.st.com/internet/c...

Xilinx 的 Versal, Zynq UltraScale+、 Zynq 7000 SoCs、UltraScale+, UltraScale, 7 series FPGAs 的 BSDL 下载地址:

https://www.xilinx.com/suppor...

选择 BSDL 文件验证完毕后就可以继续后面的操作了:

Image

窗口中就会显示相应的芯片信息了:

Image

在左侧有引脚定义一栏点击右键,将 I/O 添加到波形窗口中。

Image

同时由于我们要做的是外部硬件电路的检测,需要点击工具栏的 Instruction 按钮,选择 EXTEST 模式。这里的 SAMPLE 模式可监测芯片状态而不干扰其正常运行,INTEST 模式测试芯片内部逻辑,而对于 JTAG 链上一些可以忽略的设备可选择 BYPASS。

Image

在波形窗口中对引脚输出电平置 0、置 1 或反转。

Image

点击运行就可以查看效果了,同样的在运行中也可以改变引脚状态。

Image

效果就是如下图,通过 TopJTAG 和 JTAG 点亮几个 LED:

Image

总结

目前,我估计很多人还没搞清楚怎么做”逆向“,其实很简单,对相关的引脚进行置高置低或者输入一个频率低一点的方波(有人测试过 Probe 的时间分辨率也就是毫秒级的)对引脚进行监测就可以看到相关哪个引脚发生变化,就能确定是芯片的哪个引脚。

I/O 可以手动设置名称,如果有约束文件,可以导入进来自动获取 I/O 名称。

这只是 TopJTAG 一个不怎么”光彩“的应用,其实其对软、硬件排故等其他方面还有很多应用,剩下的的就等大家慢慢去摸索了。

Image

最后就是目前的版本不是最新的,谁有最新的版本可以在评论区分享一下~

END

作者:碎碎思
原文:OpenFPGA

相关文章推荐

更多 FPGA 干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10670
内容数
630
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息