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