原创 2812中的EALLOW指令

2009-4-8 14:53 4468 2 2 分类: 处理器与DSP

       TI的DSP为了提高安全性能,将很多关键寄存器作了保护处理。通过状态寄存器1的C15位设置与复位,来决定是否允许DSP指令对关键寄存器进行操作。


      这些关键寄存器包括器件仿真寄存器、FLASH寄存器、CSM寄存器、PIE 矢量表、系统控制寄存器、GPIO MUX 寄存器、eCAN 寄存器的一部分。


       DSP由于在上电复位之后,状态寄存器基本上都是清零,而这样的状态下正是上述特殊寄存器禁止改写的状态。为了能够对这些特殊寄存器进行初始化,所以在对上述特殊寄存器进行改写之前,一定要执行汇编指令asm(“EALLOW”)或者宏定义EALLOW来设置状态寄存器1的C6位。在设置完寄存器之后,一定要注意执行汇编指令asm(“EDIS”)或者宏定义EDIS来清除状态寄存器1的C6位。


      在device.h文件中可以找到#define  EALLOW asm(" EALLOW")语句。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /3 下一条