Jtagulator寻找JTAG引脚

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091154923.png

在测试过程中,如果可以根据芯片引脚定义确定JTAG针脚位置,进而通过万用表打通断确认JTAG针脚在PCB板上的焊接点的位置

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091200887.png

此时可以使用Jtagulator查询JTAG四个调试引脚:TDI、TDO、TCK、TMS的位置顺序。

Jtagulator共有24个通道,一个GND,和一个VADJ输出。

扫描接口的原理就是利用串口的波特率进行穷举排列组合。

Jtag接口有多种形式,一般来说有14针,20针,10针这几种,但是有定义的针脚仅仅有几个,其余的全部是NC(无需连接)或者是电源引脚,测试关注的仅仅是上面提到的四个:

  • TCK,时钟输入引脚,当两个设备通信的时候,得有一个基准的时钟,仅仅是一个周期信号,两端的设备根据这个信号为基准,进行通信
  • TDI,信号就是从这个脚单向输入到jtag接口
  • TDO,信号从这个针脚输出
  • TMS,测试模式选择脚。TRST脚,复位引脚

将四个焊接点的位置使用探针或接插件连接出来,连接到Jtagulator通道中,GND接PCB板的地(除四个点外另外打通断找一个地),另外四个点随意顺序连接Jtagulator通道

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091214519.png

使用Mobaxterm或Xshell支持串口Serial连接的工具与Jtagulator连接串口,波特率设置115200

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091220889.png

串口号为插入USB后电脑自动识别到的串口

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091222363.png

将零部件上电,连接串口,观察Jtagulator板子上面的灯泡,如果是绿色,代表已连接串口

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091223390.png

此时在界面按下Enter回车,就会输出Jtagulator初始界面信息

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091224434.png

Jtagulator的使用方法很简单,输入H回车,会输出使用帮助信息

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091227532.png

Target Interfaces部分代表Jtagulator总共支持四种串口查询,JTAG、UART、GPIO通用输入输出以及SWD,需要扫描哪种串口就按下对应的首字母即可,例如JTAG串口就按下J。

General Commands部分代表配置设置,V代表设置电平,一般都会设置3.3V,当然可能也会有1.8V或其他电压,支持的电平范围是在1.4V至3.3V之间

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091231872.png

I命令就是查看Jtagulator板子的版本信息,H就是帮助信息。

现在按下J,进入JTAG扫描界面,继续按下H,会输出JTAG扫描的帮助信息

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091233842.png

J、I、B三个指令都是用来扫描外接的jtag接口,在测试时如果J命令无法扫描到,可以试试I、B零个命令,有的时候J命令扫不出来,而I命令可以扫描到。

V键设置好电平后,在JTAG界面继续按下j,可以开始JTAG扫描,会让用户设置通道的数量,前面说过,共有24个通道,但实际上并不是所有的通道都需要,只需要设置默认的0通道以及5-10之间的通道数量即可,Jtagulator会自动排列出通道的组合数量

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091244963.png

设置好通道后,Jtagulator还会做一个设置,就是是否设置将电平置低:

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091247194.png

这里推荐选择是,按下y回车,而如果设置N,扫描时间会很短,但是几乎扫描不到结果,再后面的两个扫描时间间隔就可以默认,直接两次回车,然后按下空格键,开启扫描,间隔的横杠就代表Jtagulator正在工作扫描,板子上的灯泡会持续闪烁

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091249330.png

此时用j命令没有扫到设备,换用i扫描,除了TDI输入外,其他三个引脚都已找到

https://zebpic-1301715962.cos.ap-nanjing.myqcloud.com//blog/202312091253116.png

除了J、I、B以外,r为专门识别RTCK引脚的,D用于得到设备的id编号,T为bypass测试,Y为指令/数据寄存器测试,P为端口映射,O为openocd模式,但一般测试寻找JTAG引脚定义,常用的就是前三个。