STM32F105xx写保护如何进行?
使用的是HAL库。没有使用官方的库,因此FLASH_ReadOutProtection() 不好使。
请参考文件“stm32f1xx_hal_flash_ex.h”和“stm32f1xx_hal_flash_ex.c”
本帖最后由 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;
} 可能得研究一下Flash 写保护的意义 toofree 发表于 2018-12-25 10:07
可能得研究一下Flash 写保护的意义
非常感谢。从贴子里翻出来的……
0xCC:级别2,禁止调试
把RDP配置成0xCC值时,会进入最高级别的读保护,且设置后无法再降级,它会永久禁止用于调试的JTAG接口(相当于熔断)。
学习了谢谢分享 toofree 发表于 2018-12-25 10:07
可能得研究一下Flash 写保护的意义
我才接触STM32两个来月,确实不懂……别人提醒,程序可以被恶意重新烧写……于是想到写保护……不知是不是这样的……
页:
[1]