前言
一直用的是国产版stlink,但是最近手头手头上的两个stlink在下载的时候出故障了,无法识别。上淘宝一搜发现涨价了,记得以前是20左右,现在都要40快一个。于是想着能不能进行修复。百度搜了一下,发现确实有大神开发出了固件。可以重新把stlink里面的固件重新刷一下。
准备工作
stlink里面实际上是一块stm32单片机。手头上的用stlink,如上图的里面是一块stmf101c8t6,但网上找到的固件都是stm32f103c8tc6的,有的博客说这两个是通用的,但是经过我的测试发现,103的stlink固件在101上是用不了的,能下载进去,但是插上电脑还是不显示stlink设备。所以,最好是将上面的101换成103。
刷固件的原理是,找一个能正常使用的stlink,将坏的stlink连接到正常使用的stlik上,然后再用stm32 stlink utility软件进行烧录。
所以正式开始之前,前期要准备如下: 1、stlinkv2固件:ST-Link固件V2.J16.S4.hex 2、笔记本电脑安装stm32 stlink utility软件 3、一个功能完好的stlink 4、一块stm32f103c8t6 64pin芯片
操作步骤
1、拆开stlink用刀将stlink头部的胶垫撬开usb这头的胶垫
2、将金属外壳抽出来 3、用万用表找出芯片的下载接口,stlink正方面如下图 原版用的是stm32f101c8t6,下图是更换了stm32f103c8t6 4、stlink单片机的swd下载接口。经过摸索,成功找出了clk和dio引脚,如下:
上图中VCC为5V,用导线将上图的接口与功能正常的stlink连接。
5、固件烧录 打开stlink utility软件,按照下图顺序操作,①-连接上stm32f103;②-打开ST-Link固件V2.J16.S4.hex固件;③-烧录固件。等几十秒钟,烧录完成。 最后插上修复好的stlink,电脑能正常识别。
最后打开keil mdk ,会提示升级stlink固件,按照界面要求进行升级。由于当时忘记截图了,所以这里没有贴上图片。
至此,stlink修复完成,最后将外壳装回去。又可以high了。
问题及注意事项
最后写出来其实也没多难,但是整个修复过程也搞了半天。现对当时出现的一些问题进行总结归纳。
stm32写保护
一开始测试stlink原来的stm32f101电压等都正常,本身应该没有坏掉。用st-link utility连接的时候,出现如下问题。 这个问题原因是,单片机的里固件开启了写保护。所以要想刷固件之前要去除写保护,去除写保护可以用st-link utility或者jlink的jflash操作。这里用st-link utility。 连上单片机后,按照如下操作 在打开的页面进行如下操作 之后便可正常烧固件。 注意:烧写ST-Link固件V2.J16.S4.hex固件后,又会进入写保护,如果要重新少固件,需要先去除写保护。
stm32f101c8t6不适用该固件
一开始本着尽量用stlink原有的stmf101的目的,将ST-Link固件V2.J16.S4.hex固件烧写进去后,插上电脑发现还是不能被识别为stlink设备,经过多次尝试,仍然如此。基本确定,该固件不适配stm32f101c8t6.其他博客说是通用的说法是错误的。最后将101芯片用热风枪吹下来换成了stm32f103c8t6. 如果有大神找到了适配stm32f101c8t6的固件,麻烦发我下,我再进行测试。
如果手上没有好的stlink怎么办
如果手上没有好的stlink,可以考虑利用手上有的仿真器,比如ulink2。由于ulink2只能依赖keil mdk软件进行操作,所以其无法给处于写保护状态下的stm32烧写固件。
对于修复stlink来说,只能换一片新的stm32f103芯片后,在用ulink2的swd接口进行烧录固件,连接方式如下图所示:ulink20pin 接口的7脚为swdio,9脚为swclk。
采用ulink只能使用mdk来烧录固件。采用mdk来烧录单独的hex文件步骤如下:
1、新建工程 porject->new uverion project新建工程,然后选择芯片。stm32f103c8 新建完成的项目如下图,一定不要添加任何启动文件,保持空工程即可。
2、配置hex文件名称 按照下图配置好hex固件。最关键的一步是步骤3,一定要与我们要烧写的固件完全一致。
3、配置ulink 这里就比较简单,按下图操作。
4、烧写固件 点击烧录固件按钮,进行固件烧录。烧录完成后,将修复好的stlink插入电脑,能正常识别到。通过这种方式也可以修复好stlink
固件下载链接
里面包含ST-Link固件V2.J16.S4.hex,以及stlink的原理图和pcb源文件,有需要的可以自己去打样制作pcb。如果没有积分可以私信我留下邮箱。 https://download.csdn.net/download/sinat_36568888/85813603
|