你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32G031 程序设置读保护

[复制链接]
STMCU小助手 发布时间:2021-12-9 10:55
1.在main函数中加入启用读保护功能。

20201109092040958.png


2.读保护函数


20201109092040946.png



  1. int main(void)
  2. {
  3. Flash_EnableReadProtection();
  4. While(1)
  5. {

  6. }
  7. }

  8. void Flash_EnableReadProtection(void)
  9. {

  10.   FLASH_OBProgramInitTypeDef OBInit;

  11.   __HAL_FLASH_PREFETCH_BUFFER_DISABLE();

  12.   HAL_FLASHEx_OBGetConfig(&OBInit);
  13.   if(OBInit.RDPLevel == OB_RDP_LEVEL_0)
  14.   {
  15.     OBInit.OptionType = OPTIONBYTE_RDP;
  16.     OBInit.RDPLevel = OB_RDP_LEVEL_1;
  17.     HAL_FLASH_Unlock();
  18.     HAL_FLASH_OB_Unlock();
  19.     HAL_FLASHEx_OBProgram(&OBInit);
  20.     HAL_FLASH_OB_Lock();
  21.     HAL_FLASH_Lock();
  22.   }
  23.   __HAL_FLASH_PREFETCH_BUFFER_ENABLE();

  24. }

  25. void Flash_DisableReadProtection(void)
  26. {

  27.   FLASH_OBProgramInitTypeDef OBInit;

  28.   __HAL_FLASH_PREFETCH_BUFFER_DISABLE();

  29.   HAL_FLASHEx_OBGetConfig(&OBInit);
  30.   if(OBInit.RDPLevel == OB_RDP_LEVEL_1)
  31.   {
  32.     OBInit.OptionType = OPTIONBYTE_RDP;
  33.     OBInit.RDPLevel = OB_RDP_LEVEL_0;
  34.     HAL_FLASH_Unlock();
  35.     HAL_FLASH_OB_Unlock();
  36.     HAL_FLASHEx_OBProgram(&OBInit);
  37.     HAL_FLASH_OB_Lock();
  38.     HAL_FLASH_Lock();
  39.   }
  40.   __HAL_FLASH_PREFETCH_BUFFER_ENABLE();

  41. }
复制代码


收藏 评论0 发布时间:2021-12-9 10:55

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版