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 上传 点击文件名下载附件


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
SUPER_CRJ
1楼-- · 2019-12-10 20:58
 精彩回答 2  元偷偷看……
CoolBird007
2楼-- · 2019-12-11 00:15
同样,使用STLINK关闭读保护再写入校验等都不用重新上电的路过。
SUPER_CRJ
3楼-- · 2019-12-11 05:41
顶一个,今天一天用了逻辑分析仪测试,但是指令太多了。
最后看jlink操作的指令都是M3内核中的操作。
sme
4楼-- · 2019-12-11 07:14
本帖最后由 sme 于 2019-10-22 08:29 编辑
SUPER_CRJ 发表于 2019-10-21 15:56
顶一个,今天一天用了逻辑分析仪测试,但是指令太多了。
最后看jlink操作的指令都是M3内核中的操作。 ...


应该是系统复位就行了,包括所有复位。
SUPER_CRJ
5楼-- · 2019-12-11 12:37
sme 发表于 2019-10-22 08:28
应该是系统复位就行了,包括所有复位。

估计不是,因为我软件代码中最后是增加了内核复位的。
我今天等会用个开发板测试一下。
昨天用jlink截取的,解Flash的读保护,看懂了前面几百条,后面还有几百个指令是操作M3内核的,看不懂,今天用STLINK看看。

一周热门 更多>