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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4207|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32讀保護(hù)功能和清除讀保護(hù)功能設(shè)置

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:159552 發(fā)表于 2017-1-3 11:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1、STM32對(duì)內(nèi)部Flash的保護(hù)措施
   所有STM32的芯片都提供對(duì)Flash的保護(hù),防止對(duì)Flash的非法訪問(wèn) - 寫(xiě)保護(hù)和讀保護(hù)。
   1)、讀保護(hù)即大家通常說(shuō)的“加密”,是作用于整個(gè)Flash存儲(chǔ)區(qū)域。一旦設(shè)置了Flash的讀保護(hù),內(nèi)置的Flash存儲(chǔ)區(qū)只能通過(guò)程序的正常執(zhí)行才能讀出,而不能通過(guò)下述任何一種方式讀出:
通過(guò)調(diào)試器(JTAG或SWD);
從RAM中啟動(dòng)并執(zhí)行的程序;
   2)、寫(xiě)保護(hù)是以四頁(yè)(1KB/頁(yè)) Flash存儲(chǔ)區(qū)為單位提供寫(xiě)保護(hù),對(duì)被保護(hù)的頁(yè)實(shí)施編程或擦除操作將不被執(zhí)行,同時(shí)產(chǎn)生操作錯(cuò)誤標(biāo)志。  
   讀與寫(xiě)設(shè)置的效果見(jiàn)下表:
   讀保護(hù)寫(xiě)保護(hù)      對(duì)Flash的操作功能
    有效 有效 CPU只能讀,禁止調(diào)試和非法訪問(wèn)。
    有效 無(wú)效 CPU可以讀寫(xiě),禁止調(diào)試和非法訪問(wèn),頁(yè)0~3為寫(xiě)保護(hù)。
    無(wú)效 有效 CPU可讀,允許調(diào)試和非法訪問(wèn)。
    無(wú)效 無(wú)效 CPU可以讀寫(xiě),允許調(diào)試和非法訪問(wèn)。
2、當(dāng)Flash讀保護(hù)生效時(shí),CPU執(zhí)行程序可以讀受保護(hù)的Flash區(qū),但存在兩個(gè)例外情況:
   1)、調(diào)試執(zhí)行程序時(shí);
   2)、從RAM啟動(dòng)并執(zhí)行程序時(shí)
   STM32還提供了一個(gè)特別的保護(hù),即對(duì)Flash存儲(chǔ)區(qū)施加讀保護(hù)后,即使沒(méi)有啟用寫(xiě)保護(hù),F(xiàn)lash的第 0 ~ 3 頁(yè)也將處于寫(xiě)保護(hù)狀態(tài),這是為了防止修改復(fù)位或中斷向量而跳轉(zhuǎn)到RAM區(qū)執(zhí)行非法程序代碼。
3、Flash保護(hù)相關(guān)函數(shù)
   FLASH_Unlock();   //Flash解鎖
   FLASH_ReadOutProtection(DISABLE);  //Flash讀保護(hù)禁止  
   FLASH_ReadOutProtection(ENABLE);   //Flash讀保護(hù)允許
4、stm32置讀保護(hù)跟清讀保護(hù)操作
  功能:讀保護(hù)設(shè)置后將不能讀出flash 的內(nèi)容;當(dāng)解除讀保護(hù)的時(shí)候stm32 會(huì)自動(dòng)擦出整篇flash;
  讀保護(hù)設(shè)置:在程序的開(kāi)頭加入“讀保護(hù)”代碼,即實(shí)現(xiàn)了讀保護(hù)功能;(每次程序運(yùn)行先開(kāi)保護(hù))
  解除讀保護(hù):解除讀保護(hù)可以設(shè)置在按鍵里面,方便實(shí)現(xiàn)解鎖,也不可不設(shè)按鍵在RAM中執(zhí)行程序再清除讀保護(hù);
  (1)設(shè)置讀保護(hù):
int main(void)
{
    ....
      
    if(FLASH_GetReadOutProtectionStatus() != SET)
    {
        //FLASH_Unlock();不解鎖FALSH也可設(shè)置讀保護(hù)???
        FLASH_ReadOutProtection(ENABLE);   
    }
    ......
    while(1)
    {
       .....
     }
}
    這個(gè)寫(xiě)到程序當(dāng)中并執(zhí)行過(guò)后,使用j-link就不能‘讀出’程序了,就是‘讀保護(hù)’了!沒(méi)有使用此程序可以讀出下載到芯片中的程序,但是如果使用了此程序就無(wú)法讀出程序了。但是也無(wú)法再次燒寫(xiě)新的程序到芯片中了(要測(cè)試請(qǐng)慎重!。。。。。
  可以在主程序當(dāng)中設(shè)置一按鍵專門清除“讀保護(hù)”,一旦按下按鍵則清除“讀保護(hù)”時(shí)芯片可以重新被燒寫(xiě)。
  (2)解除讀保護(hù):在程序中的某個(gè)操作中(如按鍵等)加入如下代碼,執(zhí)行后
代碼自己殺死了自己!
if(FLASH_GetReadOutProtectionStatus() != RESET)
{
FLASH_Unlock();
FLASH_ReadOutProtection(DISABLE);
}
   這些函數(shù)在stm32f10x_flash 里面,注意:調(diào)用上面這個(gè)庫(kù)的時(shí)候需在#include "stm32f10x_flash.h"前加#define _FLASH_PROG;否則報(bào)(沒(méi)有定義)錯(cuò)。
   如果你沒(méi)有做按鍵清除讀保護(hù)這一步還有方法二補(bǔ)救:專門寫(xiě)一個(gè)清除“讀保護(hù)”程序,使用RAM中運(yùn)行程序的方法,運(yùn)行此程序解鎖“讀保護(hù)”,執(zhí)行后,F(xiàn)LASH會(huì)自動(dòng)全部擦除。代碼如下:
int main(void)
{
Chinp_Init();
FLASH_Unlock();
FLASH_ReadOutProtection(DISABLE);
}

※對(duì)于在RAM中運(yùn)行程序,說(shuō)明如下:
(1)我使用IAR + J-Link,不用把Boot0和boot1腳設(shè)置成從RAM啟動(dòng)也可在RAM中調(diào)試(我是設(shè)置成從FLASH啟動(dòng))。
(2)在IAR環(huán)境中設(shè)置Link文件為lnkarm_ram.xcl
(3)Debuger選項(xiàng)Download tab中勾全部去掉。
按上面設(shè)置完成后,按Debug按鈕,執(zhí)行上面程序,讀保護(hù)可解除。

*************************華麗麗的分割線***********************************************
  
if (FLASH_GetReadOutProtectionStatus() == RESET)
{
FLASH_Unlock();
FLASH_ReadOutProtection(ENABLE);
}
*************************華麗麗的分割線***********************************************

if (FLASH_GetReadOutProtectionStatus() == SET)
{

FLASH_Unlock();
FLASH_ReadOutProtection(DISABLE);
}
CPU Flash讀保護(hù)使能后,仿真器調(diào)試會(huì)失敗。J-LINK有個(gè)解鎖菜單,需要解鎖才能正常再次燒寫(xiě)程序。當(dāng)然解鎖會(huì)導(dǎo)致Flash內(nèi)容被全部擦出。



啟動(dòng)"J-Flash ARM"工具,Target->unsercure chip 就解除了芯片的讀保護(hù)。Target->unsercure chip 后一定要上電復(fù)位,系統(tǒng)不復(fù)位是不行的。

   
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精品久久久久 | 超碰97免费 | 亚洲午夜视频 | 美女视频一区 | 粉嫩国产精品一区二区在线观看 | 久久久精品一区 | 久草综合在线视频 | 亚洲精品一区二区在线观看 | 九九国产在线观看 | 蜜臀网站 | 久久精品91久久久久久再现 | 欧美日韩中 | 欧美性精品 | 日日夜夜天天 | 福利视频亚洲 | 国产一级精品毛片 | 一区二区三区国产精品 | 国产一区二区电影网 | 青青草网站在线观看 | 99精品一区| 91色站| 欧美a区 | 羞羞视频网站 | 91视视频在线观看入口直接观看 | 日韩精品四区 | 伊人春色成人网 | 91欧美激情一区二区三区成人 | 亚洲精品免费在线 | 在线观看国产三级 | 国产黄视频在线播放 | 久草资源在线 | 亚洲国产成人精品一区二区 | 99热精品久久 | 日韩和的一区二区 | 久久久久www| 色资源在线 | 久久国产成人 | 特黄毛片 | 黄色毛片在线播放 | 午夜精品一区二区三区在线观看 | 日韩最新网址 |