APM32芯片Flash读写保护、锁芯片的多种解决办法 问题描述:
在烧录APM32芯片时,偶遇用MDK,J-Flash,IAR等无法连接芯片(实践使用其它竞品芯片也有几率发生),即使有时候链接上了,也无法下载。基本原因有以下2种:(注意:如果下载器接线不良,也会有这个问题)
1)Flash读、写保护
根本原因是工程设计有问题,特别是实际晶振大小与程序中HSE_VALUE大小不一致,很容易导致Flash读保护。
而读保护的本质是芯片的选项字节被设置了,因为读保护就在选项字节里面设置,详情看芯片手册中的选项字功能描述。
2)SWD接口锁住
SWD接口锁住就是SWD引脚被锁住了,根本原因是用户使用这个引脚做其它功能了。 解决办法:
1)SWD接口锁住的解决办法:
(1)SWD引脚被锁住的解决办法比较简单,只要下载器带了复位引脚,并且板子的SWD接口也留出了NRST复位引脚,就可以正常下载程序。原理是芯片复位上电后,SWD这几个引脚是工作在SWD默认模式的,之后才是用户为这几个引脚设置的其它功能,正是这些复用功能导致下载器无法连接到芯片。所以只要下载器的硬件复位正常,芯片SWD接口锁住后就可以正常下载。
(2)MDK下载选择这里,复位状态进行下载。
JLINK设置: 在复位状态下连接芯片: 2)Flash读写保护后的解决办法:
(1)使用H7-TOOL可以解除保护: H7-TOOL脱机烧录工具解除读写保护和各种遇到异常情况,含SWD接口锁,低功耗和看门狗导致的下载异常: (2)JLINK UNLOCK工具解除读写保护。JLINK安装目录有这个软件,早期版本叫JLINK UNLOCK,现在新版叫JLINKSTM32.EXEM,解锁读写保护用的。原理是恢复默认的选项字节设置。 (3)还有就是意法半导体的XXM32CubeProg工具了,需要用到MCU的boot0引脚,让芯片从系统bootloader启动,可以选择USB DFU,也可以使用串口,都可以看到如下的读保护表示,勾上解除读保护,然后下载正常的程序即可。 USB DFU方式: UART串口方式:
|