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

STM32怎么在代码中把读保护加进去呢?

[复制链接]
海飞尸 提问时间:2019-7-21 22:32 /
STM32怎么在代码中把读保护加进去呢?
收藏 评论13 发布时间:2019-7-21 22:32

举报

13个回答
wenyangzeng 回答时间:2019-7-22 07:22:49
使用下载工具改写选项字的读保护

无标题1.png

海飞尸 回答时间:2019-7-22 09:04:43
wenyangzeng 发表于 2019-7-22 07:22
使用下载工具改写选项字的读保护

这样下载起来很麻烦,应该是可以直接写到程序中,直接烧录就可以的
wenyangzeng 回答时间:2019-7-22 09:51:53
海飞尸 发表于 2019-7-22 09:04
这样下载起来很麻烦,应该是可以直接写到程序中,直接烧录就可以的

批量烧写并不麻烦呀。
海飞尸 回答时间:2019-7-22 10:00:18
wenyangzeng 发表于 2019-7-22 09:51
批量烧写并不麻烦呀。

他这个每次烧录要点确定,才能把这个读保护烧录进去
wenyangzeng 回答时间:2019-7-22 10:17:51
海飞尸 发表于 2019-7-22 10:00
他这个每次烧录要点确定,才能把这个读保护烧录进去

批量下载时当然要使用脱机烧写的工具一键就搞定了。
MrJiu 回答时间:2019-7-22 13:35:52
买专门的批量烧写工具啊!!!
七哥 回答时间:2019-7-22 14:26:33

20190722142548.png
ksyxt0700379 回答时间:2019-7-22 17:00:49
同问,具体怎么改
Cortexxx 回答时间:2019-7-22 17:05:24
1.png
2.png


评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

海飞尸 回答时间:2019-12-17 16:58:58


{
                FLASH_Unlock();          //必须加,否则会出错
                FLASH_OB_Unlock();
                FLASH_OB_RDPConfig(OB_RDP_Level_1);                        //设置读保护等级1
                FLASH_OB_Launch();  //这句话一定加上,将自动复位加载,否则第一次上电,RDP并未生效,需要复位后才能生效。
                FLASH_OB_Lock();
                FLASH_Lock();
                printf("\n重启\n");
//                __disable_fault_irq();
                NVIC_SystemReset();
}

STM32F407这样是能添加进去,但是会在FLASH_OB_Launch();这里卡住,不会自动复位
butterflyspring 回答时间:2019-12-23 14:40:00
程序加读保护前要先判断是否已经加了,不能每次复位都去写。此外,要使该位有效,还必须复位一次。最好用烧录器时候一次加好,程序加载失败后果会很严重的。
海飞尸 回答时间:2019-12-26 10:15:54
butterflyspring 发表于 2019-12-23 14:40
程序加读保护前要先判断是否已经加了,不能每次复位都去写。此外,要使该位有效,还必须复位一次。最好用烧 ...

有判断有没有保护,没有保护才会再加,但是会在FLASH_OB_Launch();卡住,手动重启可以看到是加进去了的,就是必须要手动重启一次,感觉麻烦,程序烧录时加入写保护感觉有点麻烦

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版