IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stlink故障修复 -> 正文阅读

[嵌入式]stlink故障修复

前言

一直用的是国产版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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:07:47  更:2022-07-04 23:10:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 7:58:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计