STM32F1使用SWD/JTAG解除读保护需要重新上电才能解保护

2019-12-10 18:08发布

本帖最后由 SUPER_CRJ 于 2019-10-18 13:45 编辑

自己通过SWD编写的下载器,存在一个问题:
就是STM32F1解除读保护需要重新断电。(因为这个断电多了一个步骤体验非常不好。当然:除非不做写入的检验)
原因是根据:
STM32F1xx闪存编程手册中:明确提到(图片后面有:可以使用Bootloader关闭读保护不用断电,但是Bootloader不是SWD能启动的,还要手工操作Boot引脚。):
进行复位(上电复位)以重新加载选择字节(和新的RDP代码),此时读保护被解除
Reset the device (POR Reset) to reload the option bytes (and the new RDP code) and, to disable the read protection.

但是测试了:jlink/STLINK加保护和编程,是不需要断电的(难道:jlink/STlink在这种情况下也没有读出Flash检验?)。(而且有其它的下载器也不需要断电操作(有的下载器是内部加了一个LDO实现断电。))具体的时序还没有测试。本来想在手册上找找原因的,但是找了几天,一直没有头绪。
如果不断电,其实也可以写,但是无法读出Flash进行比对。

1571376986(1).jpg (58.75 KB, 下载次数: 0) 下载附件 2019-10-18 13:37 上传

另外附件为手册:
STM32F10xxx闪存编程参考手册.pdf (464.42 KB, 下载次数: 2) 2019-10-18 13:40 上传 点击文件名下载附件
PM0042---STM32F10xxx-Flash-Programming-V5.0-(Feb-2009).pdf (237.12 KB, 下载次数: 3) 2019-10-18 13:40 上传 点击文件名下载附件


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。