zoukankan      html  css  js  c++  java
  • STM32简单加密

    转自:https://www.cnblogs.com/lifexy/p/8669916.html

    STM32可以对存储在flash上的程序进行读保护.

    • 启动读保护后,用户就不能再读写程序了.
    • 所以,在烧写程序之前,需要程序调用关闭读保护.关闭读保护后,会自动清空flash上的程序

    头文件位于:#include "stm32f10x_flash.h"

    启动保护,用在main()函数初始化时调用:

    复制代码
    void Set_Protect(void) //启动保护
    {
       if(FLASH_GetReadOutProtectionStatus() != SET)
      { 
        FLASH_Unlock(); //解锁  
        FLASH_ReadOutProtection(ENABLE);
        FLASH_Lock();//上锁 
      } 
    }
    复制代码

    注意:

    当代码第一次调用Set_Protect()函数启动读保护时。

    期间不能再次调用Off_Protect()函数关闭读保护,需要重新断电才能关闭读保护(因为Flash状态启动读保护后,不能立即设置Status=1)

    关闭读保护,在串口接收某个有效数据或按下某个按键时,调用:

    复制代码
    void Off_Protect(void) //关闭保护
    { 
      if(FLASH_GetReadOutProtectionStatus() != RESET)
      {
        FLASH_Unlock(); //不解锁FALSH也可设置读保护 
        FLASH_ReadOutProtection(DISABLE);
        FLASH_Lock();//上锁 
      } 
    }
    复制代码
    钻木取火!拼的是体力?耐心?智慧?
  • 相关阅读:
    修理牛棚 贪心 USACO
    零件加工 贪心 题解
    花店橱窗 动态规划 题解
    动态规划 摆花 题解
    NOIP2004普及组第3题 FBI树
    实况世界杯4小游戏链接
    poj2761(treap入门)
    最大连续子序列和(分治法)
    任意区间的最长连续递增子序列,最大连续子序列和
    lca转RMQ
  • 原文地址:https://www.cnblogs.com/x2i0e19linux/p/11654741.html
Copyright © 2011-2022 走看看