你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
toofree 发表于 2018-12-24 01:33 请参考文件“stm32f1xx_hal_flash_ex.h”和“stm32f1xx_hal_flash_ex.c”
toofree 发表于 2018-12-25 10:07 可能得研究一下Flash 写保护的意义
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
1q1q
12345
11
11.08
评分
查看全部评分
非常感谢。这方法我用过,似乎不能完全禁止再次烧写。(烧写时会有提示写保护……)
是我 代码有问题吗?
//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;
}
非常感谢。从贴子里翻出来的……
0xCC:级别2,禁止调试
把RDP配置成0xCC值时,会进入最高级别的读保护,且设置后无法再降级,它会永久禁止用于调试的JTAG接口(相当于熔断)。
我才接触STM32两个来月,确实不懂……别人提醒,程序可以被恶意重新烧写……于是想到写保护……不知是不是这样的……