1赞

9回答

2收藏

【软件篇】玩转JTAG工具,使用JTAG Probe测试硬件电路

 

#其他 #其他 14965 人阅读 | 9 人回复 | 2013-01-18

本帖最后由 nightseas 于 2013-1-22 13:30 编辑

看到大家都在分享自己的经验,我也来打个酱油~~
对于日常的嵌入式开发来说,我们一般会把JTAG作为下载代码和调试软件的接口。有时候为了减少PCB面积或方便升级,往往使用SWI、ISP、IAP等接口或下载方式代替JTAG。


实际上,JTAG产生的最初目的是用于芯片测试,即Boundary-scan技术,常见规范有IEEE1149.1、IEEE1149.6和IEEE1532等,通过与规范兼容的设备,即可访问芯片的内部节点或I/O。在一个硬件设备完成PCB制作和器件焊接后,有些攻城狮一旦成功下载了程序就开始软件调试,而调试不通时往往无法确定是硬件问题还是软件问题。


这里我们就可以使用TopJTAG公司的开发的一款小软件JTAGProbe,通过手中的各种仿真器(如USB-Blaster、J-Link等)在软件调试前轻松实现硬件检测,保证硬件电路的正确性。比起很多专业的大型软件,Probe的功能可谓简陋,但其小巧简洁的特性,正适合作为攻城狮的手边小工具,提高工作效率。

这个工具可以在TopJTAG官网上下载:
http://www.topjtag.com/files/TopProbe-Setup-1.7.5.exe

Probe为共享软件有20天使用期限,售价100刀!这让我们这些穷苦大众如何承受,于是兔子在国外网站上搜到了一个和谐工具(老外里也有很多充满了自由共享精神的高手啊)。当然了,和谐工具只用于学习,如果喜欢请支持正版云云……
和谐.zip (117.84 KB, 下载次数: 653)


安装完成后运行软件,可以看到它的界面非常简洁。


新建一个工程,选择仿真器。


Probe支持很多主流仿真器,如下图:


这里以兔子手里的USB-Blaster和EPM240开发板为例,选择USB-Blaster后,软件会自动检测当前连接的设备。


Next之后软件会自动扫描目标板的JTAG链,显示链上的设备ID和生产商。


然后我们需要为所需测试的设备指定一个BSDL文件,该文件根据IEEE规范定义了设备信息。


BSDL文件可以从芯片生产商那里获得,比如Altera MAX II的BSDL页面为:
http://www.altera.com/support/devices/bsdl/11491/bsd-11491.html


ST的STM32系列BSDL下载地址为:
http://www.st.com/internet/com/SOFTWARE_RESOURCES/HW_MODEL/BSDL_MODEL/stm32bsdl.zip


选则好BSDL之后可继续。


Probe已经将芯片的封装和I/O信息显示出来了。


在软件左侧一栏点击右键,将I/O添加到波形窗口中。


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


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


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


效果图如下,兔子用JTAG点亮了板子上的左边4个LED。


【Tips】
1. 关于软件的性能,我还做了个小测试,结果表明Probe的时间分辨率也就是毫秒级的,较高频率的信号难以应付,这是检测板上50MHz有源晶振的结果。>_< 这时候恐怕只能在Watch窗口中看看信号沿计数值了。


2. I/O可以手动设置名称,如果有ISE的ucf约束文件或者Quartus II的qsf文件,可以导入进来自动获取I/O名称。


3. 另外,如果JTAG链上有多个设备,不知道是否可以通过设备之间互访来检测电路,如果可以并配以自动化脚本,那就太Happy了。

一只搞电子的懒兔子~~
分享到:
回复

使用道具 举报

回答|共 9 个

倒序浏览

推荐

signet

发表于 2019-4-22 22:45:05 | 只看该作者

xiangxiadage 发表于 2014-12-23 17:11
这个功能较少,只有手动测试,且输出不可以变化。
哲发支持自动测试,包括互联测试。手工测试可以输出指定 ...

哲发是什么软件
回复 支持 1 反对 0

使用道具 举报

板凳

小菜儿

发表于 2013-1-18 13:40:07 | 只看该作者

支持兔子,很详细!
地板

liuyu-419812

发表于 2013-1-18 14:24:47 | 只看该作者

很好,支持一个
5#

懒兔子

发表于 2013-1-18 14:34:51 | 只看该作者

powerdruy 发表于 2013-1-18 14:19
我试着用JTAG来读串口发来的波形,结果只有在波特率300的时候才能看的比较清晰,再快就连在一起了什么都看 ...

不用理会360,各种算号机它都报毒,JTAG的操作速度是比较慢的,而且和芯片有关,逻辑分析仪是别想了
一只搞电子的懒兔子~~
6#

懒兔子

发表于 2013-1-18 14:36:43 | 只看该作者

powerdruy 发表于 2013-1-18 13:51
我的JLINKV8插上去出来2个,该怎么办啊

选你的目标芯片,另一个不用管自动Bypass掉了
一只搞电子的懒兔子~~
7#

xiangxiadage

发表于 2014-12-23 17:11:12 | 只看该作者

这个功能较少,只有手动测试,且输出不可以变化。
哲发支持自动测试,包括互联测试。手工测试可以输出指定序列。

8#

xukaiming

发表于 2022-11-25 10:33:14 | 只看该作者

这个好,拿来修板子比较方波,可以直接控制IO口的电平
回复 支持 反对

使用道具 举报

9#

lijing-350399

发表于 2024-4-28 09:40:38 | 只看该作者

虽然是12年前的软件,现在依然好用,赞一下!
回复 支持 反对

使用道具 举报

10#

跌跌撞撞不言

发表于 2025-4-23 11:48:14 | 只看该作者

学习学习,感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

专业电脑修理师
3932 积分
58 主题
+ 关注
热门推荐
关闭

站长推荐上一条 /3 下一条