你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103如何取消写保护

[复制链接]
soul24k123456 提问时间:2018-2-7 14:43 /
阅读主题, 点击返回1楼
收藏 评论15 发布时间:2018-2-7 14:43
15个回答
wenyangzeng 回答时间:2018-2-8 11:26:37
STM32F103系列好像没有写保护功能,
使用STM32 ST-LINK Utility工具解除这些扇区保护试看看:

无标题.png

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

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中判断,如果标志为升级完成,清除标志,并设置读保护。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

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

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wxyhv_ 回答时间:2018-9-17 17:13:48
你好,我也遇到和你类似的问题,IAP区被写保护了,APP不能区更新IAP区。请问你的解决了么?我看到说运行解除读保护那句话,就会在下次上电的时候擦出整个flash,那就白搞啦。好无语
12

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版