STM32程序加密读保护

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();
}

接下来就非常简单了。只需要三步

  1. 将代码复制到main.c文件中
  2. 在主函数中调用该函数 就像这样
    在这里插入图片描述
  3. 这一步最为关键,编译并下载,然后断电!断电!断电!重要的事情说三遍!

当你再次连接STlink以后,你会发现你将不能下载程序到板子上。因为这时候代码已经被读保护


版权声明:本文为MadaMaD原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。