STM32/STM8技术论坛
直播中

周煌煦

7年用户 1016经验值
私信 关注
[问答]

请问STM32F103怎么取消写保护

我在产品当中使用了IAP,然后在IAP里面有使能了读保护功能,看网上的资料有讲它会默认将前面的几个扇区使能写保护,通过实验证明确实如此。目前想通过程序来更新IAP,但因为上面有几页无法擦除,所以造成失败。

在V3.5的库里面有看到写保护的,是否有取消写保护。

回帖(12)

何秀珍

2019-3-14 08:00:06
STM32F103系列好像没有写保护功能,
使用STM32 ST-LINK Utility工具解除这些扇区保护试看看:

举报

赵鑫

2019-3-14 08:06:20
Flash 上电默认都是写保护的 如果需要对flash写操作操作 需要开启写保护的
举报

周煌煦

2019-3-14 08:11:38
依据我测试的结果,好像默认没有写保护的,这个只是我写了读保护后,才会出现前面几个扇区写保护了,如果不写读保护则可以通过内部代码进行擦写操作
举报

李木木

2019-3-14 08:27:49
使用JLINK,清除整个芯片
举报

赵鑫

2019-3-14 08:37:25
引用: kingnet6688 发表于 2019-3-14 16:31
依据我测试的结果,好像默认没有写保护的,这个只是我写了读保护后,才会出现前面几个扇区写保护了,如果不写读保护则可以通过内部代码进行擦写操作

本帖最后由 Tcreat 于 2018-2-7 18:53 编辑

有的写保护机制 上电默认都是写保护的  需要对flash解锁才可以写操作
举报

周煌煦

2019-3-14 08:56:51
引用: sdfjaslkdjf1 发表于 2019-3-14 16:47
使用JLINK,清除整个芯片

我的目的是实现在线反过来升级IAP程序,IAP有一个bug需要修复,而且数量有点多。
举报

周煌煦

2019-3-14 09:03:02
引用: 60user135 发表于 2019-3-14 16:57
本帖最后由 Tcreat 于 2018-2-7 18:53 编辑

有的写保护机制 上电默认都是写保护的  需要对flash解锁才可以写操作

在我的IAP代码里面,只添加了一了读保护的动作
FLASH_ReadOutProtection(ENABLE);
如果IAP第一次上电还没有执行上面的语句或在烧录的时候没有点选读保护,就可以成功的通过Application来反升IAP,否则就会擦除失败。
举报

赵鑫

2019-3-14 09:10:07
引用: kingnet6688 发表于 2019-3-14 17:22
在我的IAP代码里面,只添加了一了读保护的动作
FLASH_ReadOutProtection(ENABLE);
如果IAP第一次上电还没有执行上面的语句或在烧录的时候没有点选读保护,就可以成功的通过Application来反升IAP,否则就会擦除失败。

读保护机制 好像有几个级别的  这个你可以参考数据手册响应的章节  读保护机制开启后 好像只能全部擦除  具体你看下相关的资料吧
举报

李维嘉

2019-3-14 09:16:57
本帖最后由 toofree 于 2018-2-7 23:44 编辑

如8楼所说,读保护开启后,如果你要清除读保护,那么整片Flash将会自动擦除。
这个是我之前工程应用中验证过的,当时使用的片子是STM32F103RBT6。
当设置读保护后,无法用ulink下载程序,直接擦除也不好使,点擦除只是复位后程序跑不起来了,但无法重新下载,没用其它仿真器验证过。
这种情况,只有建一个在RAM中跑的工程清除读保护,或者用ISP模式用串口清除读保护。
举报

刘翔宇

2019-3-14 09:27:51
先解锁,再写,写完再加锁
举报

釉博林

2019-3-14 11:32:07
这个有个下拉脚
举报

j1s2chen

2019-3-14 15:08:22
非常感谢!学习了!!!!!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分