#define EINT asm(" clrc INTM") //INTM置0,开中断
#define DINT asm(" setc INTM") //INTM置1,关中断
#define ERTM asm(" clrc DBGM") //使能调试事件
#define DRTM asm(" setc DBGM") //禁止调试事件
#define EALLOW asm(" EALLOW") //关闭保护,允许对受保护的寄存器进行操作;
#define EDIS asm(" EDIS") //开启保护,恢复对寄存器的保护。
DBGM(Bit1)—Debug enable mask bit.
调试使能屏蔽位
0:调试事件被使能
1:调试事件被禁止
INTM (Bit 0) —Interrupt global mask bit.
中断全局屏蔽位
0:可屏蔽中断被全局使能
1:可屏蔽中断被全局禁止
EALLOW (Bit 6) — Emulation access enable bit.
仿真寻址使能位,通过 EALLOW 指令置1,通过 EDIS 指令清零;TI 的DSP一些关键寄存器被做了保护处理,通过设置 EALLOW 的置位与清零,来实现是否对这些寄存器进行操作。当其置位时,可访问操作被保护的寄存器,当其清零时无访问操作权限
由于DSP在上电复位后,状态寄存器基本上都清零,无法对被保护的寄存器进行操作,因此需在操作前使用 EALLOW 将其置位,并在操作完成后使用 EDIS 将其清零。