保存在地址0xFDFE和0xFDFF中的安全鎖定字節(jié)集可以保護(hù) FLASH 存儲器,使得不能通過JTAG接口讀取或修改其內(nèi)容。安全鎖定字節(jié)中的每一位保護(hù)一個8k字節(jié)的存儲器塊。將讀鎖定字節(jié)中的一位清0可防止通過JTAG接口讀對應(yīng)的 FLASH存儲器塊將寫/擦除鎖定字節(jié)中的一位清0可防止通過JTAG接口寫/擦除對應(yīng)的存儲器塊。當(dāng)所有其它扇區(qū)都被鎖定后128字節(jié)的扇區(qū)才被鎖定。
本文引用地址:http://www.biyoush.com/article/201611/320880.htm![](http://editerupload.eepw.com.cn/fetch/20161101/320880_1_0.jpg)
![](http://editerupload.eepw.com.cn/fetch/20161101/320880_1_1.jpg)
使用FLASH訪問限制(FLACL)這一特殊功能寄存器來設(shè)置軟件讀限制。所希望的軟件訪問限制地址(設(shè)計者希望的軟件訪問保護(hù)的最高地址)的高字節(jié)被裝入FLACL寄存器。該限制地址的低字節(jié)為0x00。如果FLACL寄存器被賦值為0x40,則軟件訪問限制地址為0x4000。所有位于地址0x0000到0x4000(包括0x4000)的存儲區(qū)內(nèi)的代碼將不能被在該地址以上執(zhí)行的軟件訪問。在FLACL邊界之上執(zhí)行的程序可以用跳轉(zhuǎn)或調(diào)用指令進(jìn)入到FLACL邊界以下的保護(hù)存儲區(qū)。軟件讀限制只對MOVX和MOVC操作起作用。為了防止對FLASH的訪問,應(yīng)使用FLASH安全字節(jié)保護(hù)0x4000以下的存儲區(qū)或進(jìn)行整體保護(hù)。
![](http://editerupload.eepw.com.cn/fetch/20161101/320880_1_2.jpg)
這里要提到一個軟件Flash Programming Utilities,在用Keil編譯完成后生成hex文件,需要量產(chǎn)時,可以按下圖操作
![](http://editerupload.eepw.com.cn/fetch/20161101/320880_1_3.jpg)
即下程序前擦出真?zhèn)€Flash,下完后對代碼進(jìn)行鎖定,防止被讀寫;對于鎖定了代碼的MCU,需要在Flash Erase選項卡中擦除,否則在下面第二個圖顯示的界面中是無法用連接上的
![](http://editerupload.eepw.com.cn/fetch/20161101/320880_1_4.jpg)
評論