文章目录[隐藏]
前言
最近项目上用到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
暂无评论