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

STM32F105xx写保护如何进行?

[复制链接]
dabendan001 提问时间:2018-12-22 21:26 /
使用的是HAL库。

没有使用官方的库,因此FLASH_ReadOutProtection() 不好使。
收藏 评论6 发布时间:2018-12-22 21:26

举报

6个回答
七哥 回答时间:2018-12-24 01:33:19
请参考文件“stm32f1xx_hal_flash_ex.h”和“stm32f1xx_hal_flash_ex.c”
20181224012937.jpg

20181224013033.jpg

20181224013234.jpg


评分

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

查看全部评分

dabendan001 回答时间:2018-12-25 09:27:10
本帖最后由 dabendan001 于 2018-12-25 09:31 编辑
toofree 发表于 2018-12-24 01:33
请参考文件“stm32f1xx_hal_flash_ex.h”和“stm32f1xx_hal_flash_ex.c”

非常感谢。这方法我用过,似乎不能完全禁止再次烧写。(烧写时会有提示写保护……)
是我 代码有问题吗?
//OB_RDP_LEVEL_2,在标准库里没有。我参照STM32F4的库,搬过来的。#define OB_RDP_LEVEL_2    ((uint8_t)0xCC)(~病急乱投医)。
//开启写保护,即:禁止写入;
                OptionsBytesStruct.OptionType         = OPTIONBYTE_WRP;
                OptionsBytesStruct.WRPState           = OB_WRPSTATE_ENABLE;
                OptionsBytesStruct.WRPPage            = FLASH_PAGE_TO_BE_PROTECTED;
                OptionsBytesStruct.RDPLevel                = OB_RDP_LEVEL_2;    //   OB_RDP_LEVEL_1
                if(HAL_FLASHEx_OBProgram(&OptionsBytesStruct) != HAL_OK)
                {
                        return 1;
                }
七哥 回答时间:2018-12-25 10:07:01
可能得研究一下Flash 写保护的意义
dabendan001 回答时间:2018-12-25 10:14:32
toofree 发表于 2018-12-25 10:07
可能得研究一下Flash 写保护的意义

非常感谢。从贴子里翻出来的……

    0xCC:级别2,禁止调试

把RDP配置成0xCC值时,会进入最高级别的读保护,且设置后无法再降级,它会永久禁止用于调试的JTAG接口(相当于熔断)。


sincomaster 回答时间:2018-12-25 10:41:43
学习了谢谢分享
dabendan001 回答时间:2018-12-25 11:29:41
toofree 发表于 2018-12-25 10:07
可能得研究一下Flash 写保护的意义

我才接触STM32两个来月,确实不懂……别人提醒,程序可以被恶意重新烧写……于是想到写保护……不知是不是这样的……
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版