STM32无法连接JLink(Flash读写保护) 解决方法
<p style="text-indent: 2em;"><span style="color: rgb(0, 112, 192);">CPU:STM32F429IGT6</span><br/></p><p style="text-indent: 2em;"><span style="color: rgb(255, 0, 0);">对于其他的stm32芯片或者其他ARM芯片,其实解决方法都相通,主要就是先修改启动方式,再去更改flash或者ram中的程序。</span><br/></p><p class="artical_littlestyle1">1.问题出现原因</p><p style="text-indent: 2em;">最近在调试一个程序时,始终调试不通,没办法了,就想着参考网上的例程来看看,结果下载的stm32工程可能和板子的硬件不太一样导致stm32 flash读写保护,此后使用JLink再也无法连接上stm32了,Keil中也没办法识别出设备:<br/></p><p style="text-align:center"><img src="/uploads/AilsonJack/2020.12.12/195829781840853.png" onclick="preview_image('/uploads/AilsonJack/2020.12.12/195829781840853.png')"/></p><p class="artical_littlestyle2">2.解决方法</p><p style="text-indent: 2em;">首先,修改stm32的启动方式,我的板子默认设置的是从内部flash启动,这里要解决stm32的读写保护就不能选择从内部flash启动了。修改启动方式为:从系统存储器启动(也就是BOOT0接VCC,BOOT1接GND),下图是stm32f429对应的启动方式配置表:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2020.12.12/195829870505000.png" onclick="preview_image('/uploads/AilsonJack/2020.12.12/195829870505000.png')"/></p><p style="text-indent: 2em;">然后重新给板子上电,打开一个好的工程(能够在板子上正常运行的程序),此时Keil能够识别出设备了,然后重新下载程序到板子就OK了,程序下载完成之后,切换启动方式到原来的启动方式即可。</p><p style="text-align:center"><img src="/uploads/AilsonJack/2020.12.12/195829950232006.png" onclick="preview_image('/uploads/AilsonJack/2020.12.12/195829950232006.png')"/></p>
你可能也喜欢:
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1C语言-const char*,char const*,char *const理解 0Fedora-14源配置 0文件传输-FTP使用简介 0
标签云
Linux嵌入式实用技巧内核学习问题集合ARMCC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11STM32IDESublime操作系统OfficeAPUEgccRTOS中断Ubuntu漫游世界随笔感悟开发工具软件VMWare应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FTPFileZilla