Secure Flash:
加密後的Flash是無法經外部BDM or Cyclone Pro讀取Flash內容。
加密的方法是在Flash 0xFF0F的位址寫入0x80 or 0x81 or 0x83,重新開機後MCU會把0xFF0F的值載入FSEC暫存器。FSEC[1:0]所代表即是目前Flash的加密狀態。
After reset, @FF0F --> FSEC
Unsecure Flash:
FSEC是唯讀的,不能經由改寫FSEC[1:0]改變Flash的加密狀態。
解密的方法有二:
一、使用Backdoor key, 可暫時的將Flash解密。這個方法通常是由外部提供Keys, 如經由RS232輸入。
二、抹除0xFF0F所在的Sector (0xff00 == 0x3FBF00). 然後將0xFF0F寫入0x82,重新開後 @FF0F à FSEC,便可將Flash解密。抹除的工作都必需是由MCU的Firmware。
想不到是AN2880SW有問題,之前可能都沒人試吧!
KEYACC @ FCNFG[5] 被設成1之後是無法讀取Flash資料的。
但是在AN2880SW的程式中犯了這樣的錯誤。