wenyangzeng 发表于 2018-2-8 11:26:37

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


soul24k123456 发表于 2018-2-8 16:15:42

toofree 发表于 2018-2-7 23:38
如8楼所说,读保护开启后,如果你要清除读保护,那么整片Flash将会自动擦除。
这个是我之前工程应用中验证 ...

经我测试在RAM清除读保护同样不行的,因为一旦执行了清除读保护,系统感觉会重新启动,这样RAM当中的程序自然也没有了。

soul24k123456 发表于 2018-2-8 16:32:02

wudianjun2001 发表于 2018-2-8 08:22
先解锁,再写,写完再加锁

我是按照这个流程来操作的,现在的问题点是我在IAP里面有设置了读保护,而读保护又会自动默认设置前面4页的写保护,造成APP不能更新IAP的程序段。所以要先去写保护,而去写保护又要重启(STM官网的资料是这样要求的),而APP无法早于IAP启动,所以这个点就无法跳过

无薪税绵 发表于 2018-3-5 13:51:26

能否把程序改一下:
就是在实现更新时,在外部FLASH中,保存一个表示升级的标志,
当程序重启时,在IAP中判断,
如果外部FLASH中有升级标志,就停止读保护,
然后启动APP,在APP中进行升级,
升级完成后,把标志i设置为升级完成。
重启,IAP中判断,如果标志为升级完成,清除标志,并设置读保护。

Angel_YY 发表于 2018-3-6 17:29:54

是否可以采用两段式bootloader,在bootloader S1中实现判断是否更新程序,不更新直接跳转的app,如果需要更新S1先下载一个S2BootLoader,S2放置到RAM中,并把控制权交给S2,此时S2在RAM中执行,可以清除保护并擦除S1和APP,接收数据后从新写入到Flash并保护S1。我自己都有点儿乱,不过还是希望能帮到你。

wxyhv_ 发表于 2018-9-17 17:13:48

你好,我也遇到和你类似的问题,IAP区被写保护了,APP不能区更新IAP区。请问你的解决了么?我看到说运行解除读保护那句话,就会在下次上电的时候擦出整个flash,那就白搞啦。好无语
页: 1 [2]
查看完整版本: STM32F103如何取消写保护