TI的DSP為了提高安全性能,將很多關鍵寄存器作了保護處理。通過狀態寄存器1的C15位設置與復位,來決定是否允許DSP指令對關鍵寄存器進行操作。
這些關鍵寄存器包括器件仿真寄存器、FLASH寄存器、CSM寄存器、PIE 矢量表、系統控制寄存器、GPIO MUX 寄存器、eCAN 寄存器的一部分。
DSP由于在上電復位之后,狀態寄存器基本上都是清零,而這樣的狀態下正是上述特殊寄存器禁止改寫的狀態。為了能夠對這些特殊寄存器進行初始化,所以在對上述特殊寄存器進行改寫之前,一定要執行匯編指令asm(“EALLOW”)或者宏定義EALLOW來設置狀態寄存器1的C6位。在設置完寄存器之后,一定要注意執行匯編指令asm(“EDIS”)或者宏定義EDIS來清除狀態寄存器1的C6位。
http://www.eepw.com.cn/article/21050.htm