STM32芯片解除写保护的方法(亲测有效)


前言

最近项目上用到STM32系列的单片机,因去年在淘宝上看到芯片便宜,就淘了20片的STM32F102C8T6,焊接到PCB上时发现无法识别Jlink,前提是Jlink是好的,于是怀疑芯片是拆机件,里面设置了芯片的写保护,导致无法连接上Jlink。于是在网上各种搜索资料,发现有些提供了一些方法,但不是很完整,于是自己重新整理了这份资料,方便以后自己查看及帮助有需要的人。

在这里插入图片描述

在这里插入图片描述


以下介绍了两种解除写保护的方法,都是我自己亲自测试可行的。

方法

一、用J-Flash来解除写保护

1.设置

一般烧录程序都设置了SWD接口,这时可以用J-Flash来解除芯片的写保护,需要将BOOT0设置为1,BOOT1设置为0。

2.操作步骤

(1)下载安装JFlash软件,已安装的跳到第二步
通过JFlash软件,配合JLink仿真器来解锁。
JFlash软件的下载网址为:
https://www.segger.com/downloads/jlink/JLink_Windows.exe
下载安装后,在开始菜单栏下会看到JFlash软件

在这里插入图片描述
(2)打开JFlash,选择Create a new project

在这里插入图片描述
(3)点击startJflash后,再点击Options,选择Project settings…,依次按以下图片进行设置,我这里以我手上的芯片STM32F102C8T6为例。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
(4)Jlink连接上PCB板,PCB板上电,然后点击Target中的Unsure chip。

在这里插入图片描述

(5)点击Target中的Connect,提示连接成功,然后再点击Target中的Unsure chip,此时芯片已经解除写保护,再点击Target中的Erase chip,将芯片数据清除。
在这里插入图片描述

(6)点击File中的Open data file,加载hex文件,然后点击Target中的Program,如果前面没有清除数据,会有提示,如果前面已经清除了数据,程序就是直接下载,然后提示下载成功。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(7)然后把BOOT0和BOOT1都设置为0,PCB重新上电,程序正常运行,现在可以直接在KEIL中用Jlink直接下载程序了。

二、用FLYMCU来解除写保护

如果你的PCB板设计了串口,可以用串口来烧录程序,这个方法最简单暴力,它是直接将程序强制下载进去,不管芯片里面原来有没有程序。

1.设置

将BOOT0设置为1,BOOT1设置为0。

2.操作步骤

(1)用USB转RS232或者USB转TTL,将MCU的TXD、RXD、GND与电脑连接起来。

(2)打开FLYMCU,设置好串口,加载hex文件,然后点击下载,按下复位键,提示正在下载程序,等待下载完成。

在这里插入图片描述

(3)然后把BOOT0和BOOT1都设置为0,PCB重新上电,程序正常运行,现在可以直接在KEIL中用Jlink直接下载程序了。


总结

通过上述方法基本上都能解除STM32的芯片的写保护,让芯片继续发光发热。

版权声明:本文为CSDN博主「wisage007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49805374/article/details/116604048

生成海报
点赞 0

wisage007

我还没有学会写个人说明!

暂无评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

Lin总线通信在STM32作为主机代码以及从机程序

距离上次做资料准备已经过去六天了。最近在学车,上周末就没有开电脑。这周开始进行了Lin通信的代码整理,目前是可以正常通信的了,采用的是增强型校验方式。后期再进一步跟进研究。。。更新一博,留

4路红外循迹模块使用教程

4路红外循迹模块使用教程 个人原创博客:点击浏览模块详细信息: 工作电压:DC 3.3V~5V 工作电流:尽量选择1A以上电源供电 工作温度:-10℃~50℃ 安装孔