STM32读保护的解除和出现的原因,使用串口和ST-LINK Utility解除读保护
- STM32读保护
- 读保护保护出现的现象
- 出现的原因
- 读保护解决方法
- 1、重新下载CH340驱动
- 2、FlyMcu串口下载软件接触读保护
- 使用STM32 ST-LINK Utility软件解除读保护
- 注意
STM32读保护
读保护保护出现的现象
1、串口下载会出现:
当出现这个读保护字样的时候就是芯片已经读保护了
2、当使用keil软件下载的时候出现Error: Flash Download failed - “Cortex-M4”,或者出现Flash Timeout.Reset Target and try it again
一般是两种报错同时出现。
3、STM32 ST-LINK Utility软件下载会出现“Can not read memory!Disable Read Out Protection and retry”
可以看到能读出芯片ID,但是依然会报错
出现的原因
读保护:是由于CH340乱触发DTR和RTS导致写入的时候异常,进入读保护的;读保护经常出现在STM32F4以上的芯片的串口下载中,F1系列的芯片进行串口下载基本不会出现读保护。
读保护解决方法
根据读保护出现的原因有以下三种方法可以解决
1、重新下载CH340驱动
让CH340出现的根本原因是驱动不兼容,可以到CH340官网:https://www.wch.cn/download/CH341SER_EXE.html,下载最新的驱动,或者是下载以前版本的驱动;这个解决方式不稳定,不同的电脑不知道装哪个驱动比较合适,一般建议采用下面两种方式解决。
2、FlyMcu串口下载软件接触读保护
首先需要把开发板上面的BT0置1(BT0接3.3V,BT0就是BOOT0),然后选择不使用RST和DTR:
上电复位后,就可以手动进入到串口下载模式,重新下载就可以解除读保护
使用STM32 ST-LINK Utility软件解除读保护
1、点击Target->Optiion Bytes…
2、等级选择Level0,Flash sectors protection扇区保护都不选
3、等一会就可以看到,提示解除保护成功了
然后再给开发板下载程序就行
下面是各种方式下载程序成功图:
注意
解除读保护之后就可以再次下载了,串口下载记得按一下RST按钮,如果有错误可以在下方留言指正