久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM32對芯片啟動讀保護,實現加密(詳解) [打印本頁]

作者: irisice008    時間: 2021-5-27 15:03
標題: STM32對芯片啟動讀保護,實現加密(詳解)
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();//上鎖
  }
}


運行測試
1.第一步,下載程序

2.下載成功后,再次燒寫程序,校驗是否啟動讀保護(因為啟動讀保護后,不能進行讀寫程序了)
  
3.通過ST-LINK Utility工具嘗試連接芯片,發現確實不能讀數據了

然后只要代碼調用Off_Protect()函數,便可以取消保護了

oid SysLockProtectedProc(u8 nType)
{
        //設置讀保護:
        if (nType == 0x01)
        {
                if (FLASH_OB_GetRDP() != SET)
                {
                        FLASH_Unlock();

                        FLASH_OB_Unlock();

                        FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);

                        FLASH_OB_RDPConfig(OB_RDP_Level_1);
                        FLASH_OB_Lock();
                }
        }
        //解除讀保護
        else
        {
                if (FLASH_OB_GetRDP()  != RESET)
                {
                        FLASH_Unlock();

                        FLASH_OB_Unlock();

                        FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);

                        FLASH_OB_RDPConfig(OB_RDP_Level_0);
                        FLASH_OB_Lock();
                }
        }
}

上面這個函數可以實現讀保護,下載完程序后要斷電,在上電。這樣就無法下載和調試。需要用STVP全片擦除。或者事先寫好解除保護的程序。





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产成人在线免费视频 | 久久999 | 国产高潮在线 | 欧洲精品一区二区 | 午夜精品影院 | 欧美在线网站 | 操操操日日日 | 自拍偷拍欧美日韩 | 色婷婷久久综合 | 国产精品资源 | 深夜在线视频 | 国产午夜精品久久 | 日韩视频在线免费观看 | 九九热在线视频 | 超碰国产在线 | 日韩一区二区三区精品 | 日韩免费成人 | 日本在线观看一区 | 亚洲一区免费视频 | 成人午夜网站 | 色婷婷中文字幕 | 国产精品欧美一区二区 | 中文字幕日韩在线观看 | 色综合视频 | 免费性视频 | 欧美mv日韩mv国产 | 一区二区三区免费 | 中文字幕在线免费观看视频 | 亚洲一区日韩 | 欧美国产日韩一区 | 日韩av在线免费播放 | 国产日韩欧美日韩大片 | 欧美视频二区 | 亚洲成人二区 | av网站免费观看 | 特级淫片aaaaaaa级 | 五月婷婷激情 | 日本中文在线观看 | 久久精品欧美 | 欧洲精品| 97精品国产97久久久久久免费 |