J-LINK的VCC还是TVCC?

2021-07-16 15:21:23 浏览数 (1)

业务需要,前几天入手了一块STM32F4的板子,随板子一起送了一条下载口的转接线,长这样:

很明显,一侧接J-LINK,另一侧接板子。另一侧虽然是个5P连接器,但实际它只接了4条线。自从小马哥送了我几个ELINK32之后,我就很久不用J-LINK了,那玩意确实好用,速度快、稳定、不掉固件.可惜的是没有保护套,容易被磕来磕去。

咦,扯远了,于是我祭出了我很久不用的J-LINK,连接、上电,额,连不上?

现象是上面这样,能看到J-LINK,但是看不到J-LINK后面接的板子。问了下客服,客服先是看了下我接的线序,老夫多年点亮LED的技术岂是儿戏,自然没有问题。接着发来了它的调试接口的引脚图:

它的调试接口有5条线,但实际转接线只接了4条,是2~5,即:SWDIO、DCOM、SWCLK、ARM_RST。后面问我还有没有别的J-LINK,我四处看了看,从同事那里拿了一个,长这样:

接上试了一下,竟然能用,谢过客服,我开始琢磨,难道是我的仿真器坏了?

虽然买了很多年,但保护的很好,几年前还手动给它更新过固件,只是最近用几年不怎么用了,不应该~~~

再看了一眼客服发来的管脚图,看着那个空着的D3V3,我想到了什么。手动搜了一下J-LINK的管脚图,如下:

注意看这两个图,网上搜的话,大部分得到的J-LINK管脚分布都是这样。但是注意,这两个图是错的!

错在哪里?

第一个管脚,不是VCC,而是TVCC!

那么,TVCC是什么意思?Target borad VCC,也就是目标板的VCC。用来监测目标板的信号电平,是5V还是3.3V,从而输出相应的调试电平。

回忆了一下我的工作经历,早期调试ARM核的芯片的程序,用的都是J-LINK,但是它太笨重,一下子在板子上就占了一个2X10的位置。调试的时候,一般都是板子上有单独的电源,J-LINK只做为调试用,不向板子供电。

后来国内出现了大量的山寨ST-LINK,就这玩意,里面用的单片机是ST官网查不到的型号。价格低、体积小、接口少、速度也还可以,就是三天两头的GAME OVER,尤其是冬天。硬生生把一个持久性工具变成了一次性的消耗品。

最重要的是,它不再需要监测目标板电压,相反,还能向目标板供电。

如果你经历过这样的过渡阶段,那你应该就能猜到,这次J-LINK连不上目标板的问题就是:没有检测到目标板的电压!

于是我拿了条杜邦线,连接板子上的D3V3和J-LINK的TVCC,于是,一切都好了~

不过,还是有两个疑问:

  1. 新版的ARM仿真器真的不再监测目标板电压了吗?
  2. 标准的J-LINK转接线这么设计合适吗?

打完,手工~~~

不是我不明白,这世界变化快~~~

arm

0 人点赞