STM32 读保护的实现
读保护的实现即可以在代码中实现,也可以通过ST提供的软件实现。
基于HAL库的读保护实现
使用的开发板是STM32F2系列,代码如下:
HAL_StatusTypeDef FLASH_EnableReadProtection(void)
{
FLASH_OBProgramInitTypeDef OptionsBytesStruct = { 0 };
HAL_FLASHEx_OBGetConfig(&OptionsBytesStruct);
HAL_StatusTypeDef result = HAL_OK;
if (OptionsBytesStruct.RDPLevel == OB_RDP_LEVEL_0)
{
OptionsBytesStruct.OptionType = OPTIONBYTE_RDP;
OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_1;
HAL_FLASH_Unlock();
HAL_FLASH_OB_Unlock();
if (HAL_FLASHEx_OBProgram(&OptionsBytesStruct) != HAL_OK)
{
/* Launch the option byte loading */
HAL_FLASH_OB_Launch();
/* Lock the FLASH Option Control Registers access */
HAL_FLASH_OB_Lock();
HAL_FLASH_Lock();
return result;
}
/* Launch the option byte loading */
HAL_FLASH_OB_Launch();
/* Lock the FLASH Option Control Registers ac