STM32程序加密之FLASH读写保护
首先要说明的一点,这是基于 HAL库 所写的代码。你可以直接移植到你的项目中去。
代码
void FlashProtect(void)
{
FLASH_OBProgramInitTypeDef obInit;
HAL_FLASH_Unlock();
HAL_FLASH_OB_Unlock();
HAL_FLASHEx_OBGetConfig(&obInit);
if(obInit.RDPLevel != OB_RDP_LEVEL_1){
obInit.OptionType = OPTIONBYTE_RDP;
obInit.RDPLevel = OB_RDP_LEVEL_1;
HAL_FLASHEx_OBProgram(&obInit);
}
HAL_FLASH_OB_Lock();
HAL_FLASH_Lock();
}
接下来就非常简单了。只需要三步
- 将代码复制到main.c文件中
- 在主函数中调用该函数 就像这样

- 这一步最为关键,编译并下载,然后断电!断电!断电!重要的事情说三遍!
当你再次连接STlink以后,你会发现你将不能下载程序到板子上。因为这时候代码已经被读保护 。
版权声明:本文为MadaMaD原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。