保存在地址0xFDFE和0xFDFF中的安全鎖定字節(jié)集可以保護 FLASH 存儲器,使得不能通過JTAG接口讀取或修改其內(nèi)容。安全鎖定字節(jié)中的每一位保護一個8k字節(jié)的存儲器塊。將讀鎖定字節(jié)中的一位清0可防止通過JTAG接口讀對應(yīng)的 FLASH存儲器塊將寫/擦除鎖定字節(jié)中的一位清0可防止通過JTAG接口寫/擦除對應(yīng)的存儲器塊。當(dāng)所有其它扇區(qū)都被鎖定后128字節(jié)的扇區(qū)才被鎖定。
本文引用地址:http://www.104case.com/article/201611/320880.htm

使用FLASH訪問限制(FLACL)這一特殊功能寄存器來設(shè)置軟件讀限制。所希望的軟件訪問限制地址(設(shè)計者希望的軟件訪問保護的最高地址)的高字節(jié)被裝入FLACL寄存器。該限制地址的低字節(jié)為0x00。如果FLACL寄存器被賦值為0x40,則軟件訪問限制地址為0x4000。所有位于地址0x0000到0x4000(包括0x4000)的存儲區(qū)內(nèi)的代碼將不能被在該地址以上執(zhí)行的軟件訪問。在FLACL邊界之上執(zhí)行的程序可以用跳轉(zhuǎn)或調(diào)用指令進入到FLACL邊界以下的保護存儲區(qū)。軟件讀限制只對MOVX和MOVC操作起作用。為了防止對FLASH的訪問,應(yīng)使用FLASH安全字節(jié)保護0x4000以下的存儲區(qū)或進行整體保護。

這里要提到一個軟件Flash Programming Utilities,在用Keil編譯完成后生成hex文件,需要量產(chǎn)時,可以按下圖操作

即下程序前擦出真?zhèn)€Flash,下完后對代碼進行鎖定,防止被讀寫;對于鎖定了代碼的MCU,需要在Flash Erase選項卡中擦除,否則在下面第二個圖顯示的界面中是無法用連接上的

評論