切换到宽版
  • 7576阅读
  • 44回复

[STM]记一次曲折的ST-Link维修及固件刷写过程 [复制链接]

上一主题 下一主题
离线candura
 

发帖
274
M币
7780
专家
33
粉丝
16
— 本帖被 青柠 设置为精华,作者+3000M币+5专家(2018-08-30) —
ST-LINK是一个用于STM8和STM32微控制器的在线调试器和编程器。

一、前言

前段时间要给一批产品烧写程序,开始是用的山寨 J-Link v8,后来因为意外烧坏了,就换成用 ST-Link ,结果又因为一次意外把 ST-Link 给烧坏了。-_-|||

后来忙完这段时间之后,想着把之前的烧坏的 J-Link 和 ST-Link 都给修一下。J-Link 好办,就是USB口的保护二极管芯片击穿了,把它拆掉就能正常使用了,不过为了安全起见后面买了 SN65220 芯片来换上就修好了。所以我本来以为 ST-Link 无非也是电源芯片或者保护电路烧坏而已,应该很好解决,结果没想到折腾了许久。


二、查找问题点


(坏掉的ST-Link)
上图就是坏掉的 ST-Link,烧坏之后上电发现灯完全不亮了,3.3V电压也没有,所以判断应该是电源芯片烧坏了。拆开热缩管,把买好的 LD3985M33R 芯片更换上去。结果插上电脑还是没有反应,而且USB口和电源芯片发烫,感觉不大妙。拆下来用万用表一测,发现 3.3V 和 GND 直接短路了。

因为之前摸的时候是感觉USB口发烫最厉害,所以一开始我竟然以为是USB口的问题,真不知道当初是大脑短路了还是什么的,于是除了拆下电源芯片,还硬生生把USB口也给拆下来了。然后再测,发现还是短路。对照了一下原理图,发现跨在 3.3V 和 GND 之间的也就几个电容而已,没理由烧穿的,测到最后才想到把主控芯片取下来。

(拆下主要元件之后)

拆下主控之后再测板子上,不短路了,单独测拆下来的芯片的引脚,原来是把芯片内部给击穿了。这下最终确认问题点是主控芯片烧坏了。


三、修复硬件

知道问题点就好办了,这一块 ST-Link 上面的主控芯片是 STM32F103CBT6,在官网上面看了一下,发现 ST-Link 的固件不大,用 C8T6 就完全足够了,不需要用到 CBT6,于是找来以前拆机剩下的 C8T6 芯片吹上去。再把之前拆下来的电源芯片和USB口也焊上,基本就硬件部分就算弄好了。值得一提的一点是,我这块 ST-Link 预留的主控芯片下载口上面的间距是 2.0mm,不是常规排针的 2.54mm 间距,所以只好焊了几个电阻腿来方便引线。

(焊好后的ST-Link)

吹上主控之后用焊台补锡的过程中还不小心弄掉了一个焊盘[捂脸],还好那只是一个空焊盘不影响功能。


四、固件刷写测试

焊好之后就可以开始烧写 ST-Link 的固件了,因为这个时候主控里面是没有程序或者是别的产品的程序,所以是不能直接插到电脑上用 ST-Link Upgreade 来升级固件的,而要先用另外的 ST-Link 或者 J-Link 给它刷入 ST-Link 的固件。

(用好的ST-Link连接上)

我这里是用另外一块 ST-Link 来刷,板子上的口虽然没有丝印,不过测量一下发现从左到右的顺序分别是 GND、SWCLK、SWDIO、3.3V,跟它自身输出的顺序是一样的。连接好之后,就用好的 ST-Link 按照正常给产品芯片下程序那样把固件的 bin 文件刷入换上的主控就行了。

(刷写固件)

提示:13楼提供固件下载


(刷写完成)

我这里直接用官方的 ST-LINK Utility 工具来刷写,比较快捷。刷好之后将这一块 ST-Link 单独插到电脑上,发现电脑可以识别出来了。

(电脑识别)

然后再用 ST-Link Upgreade 来把固件升级成官网最新的固件。

(固件升级)

升级完成之后应该就是正常了。不过还是得测试一下功能,刚好手头有一块 STM8 的最小系统板子,拿这块修好的 ST-Link 试试给它下程序和调试看看。

(连接STM8)


(在IAR下调试STM8)

最终调试也都没有什么问题,就说明成功把这块 ST-Link 修复了。


五、后记

这次虽然成功把 ST-Link 修复了,但是中间还是走了一些不必要的弯路,还是自己思考问题不够全面,不够细心造成的,后续还是应该加强一下这方面才行。
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共8条打赏M币+75专家+1
ch104517745 M币 +1 歡迎探討 09-06
飞向狙沙 M币 +20 優秀文章 09-03
温力口 M币 +9 谢谢分享。。。。 09-01
jpdd521 M币 +1 有鸡好下蛋。其实,不用鸡,直接USB用DFU模式就可以刷进去固件的。 09-01
girlstorm M币 +13 謝謝分享 08-31
jzpjzl M币 +30 優秀文章 08-31
411183343 专家 +1 - 08-30
weixing_net M币 +1 - 08-30
离线sdjnzczp

发帖
83
M币
656
专家
-1
粉丝
5
只看该作者 1楼 发表于: 08-28
估计是没有隔离

内容来自Android手机客户端

离线candura

发帖
274
M币
7780
专家
33
粉丝
16
只看该作者 2楼 发表于: 08-28
回 sdjnzczp 的帖子
sdjnzczp:估计是没有隔离
 (2018-08-28 12:09) 回 sdjnzczp 的帖子

是啊,电脑的USB口之前没隔离,窜电过来烧坏了。
在线bluexiaoyu

发帖
1733
M币
1704
专家
7
粉丝
25
只看该作者 3楼 发表于: 08-28
陷入了一个怪圈。。。需要新的电烙铁来修老的电烙铁,需要新的下载器来修老的下载器。。。。。
本帖最近打赏记录:共1条打赏M币+5
2545889167 M币 +5 这芯片里面有bootload 可以串口下载程序的~不是那种老东西了。新版本的还支持直接usb下载程序了 08-29
离线sdjnzczp

发帖
83
M币
656
专家
-1
粉丝
5
只看该作者 4楼 发表于: 08-28
candura:是啊,电脑的USB口之前没隔离,窜电过来烧坏了。 (2018-08-28 12:40) 

Adi有磁隔离的芯片

内容来自Android手机客户端

离线2545889167

发帖
12309
M币
13207
专家
280
粉丝
4657
只看该作者 5楼 发表于: 08-28
引脚击穿了(一般是高压什么的)就会这样 vcc对gnd短路。内部的tvs被打穿了。我玩坏了一把stm32/stm8基本都是这样坏的
本帖最近打赏记录:共1条打赏M币+6
發騷友 M币 +6 歡迎探討 08-30
离线小陈兔

发帖
4813
M币
1006
专家
26
粉丝
263
只看该作者 6楼 发表于: 08-28
回 bluexiaoyu 的帖子
bluexiaoyu:陷入了一个怪圈。。。需要新的电烙铁老修老的电烙铁,需要新的下载器来修老的下载器。。。。。[表情]  (2018-08-28 12:47) 回 bluexiaoyu 的帖子

正解了,而且整个下载器的主要价值就在主控IC,修一个的代价比买一个还贵。
离线595953427@qq

发帖
439
M币
29
专家
0
粉丝
12
只看该作者 7楼 发表于: 08-28
回 小陈兔 的帖子
小陈兔:正解了,而且整个下载器的主要价值就在主控IC,修一个的代价比买一个还贵。 (2018-08-28 13:20) 回 小陈兔 的帖子

不知道有没有人把芯片烧录好ST LINK的程序来卖,然后买回来的芯片直接就可以用了。
离线candura

发帖
274
M币
7780
专家
33
粉丝
16
只看该作者 8楼 发表于: 08-28
回 小陈兔 的帖子
小陈兔:正解了,而且整个下载器的主要价值就在主控IC,修一个的代价比买一个还贵。 (2018-08-28 13:20) 回 小陈兔 的帖子

是的,要不是我这里有一堆拆机芯片,都懒得修了。
离线huaweiwx

发帖
1273
M币
3352
专家
57
粉丝
240
只看该作者 9楼 发表于: 08-28
回 bluexiaoyu 的帖子
bluexiaoyu:陷入了一个怪圈。。。需要新的电烙铁老修老的电烙铁,需要新的下载器来修老的下载器。。。。。[表情]  (2018-08-28 12:47) 回 bluexiaoyu 的帖子

不需要新的下载器来修老的下载器。

stm32 可以用串口来烧写。
没有另外的stlink, 可先将c8t6焊在任何一片最小系统板上,可以用串口来烧写好固件,再焊到stlink/jlink OB上;
本帖最近打赏记录:共1条打赏M币+10
發騷友 M币 +10 熱心助人 08-30
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个