|
中断是为使CPU具有对外界异步事件的处理能力而设置的。通常,DSP工作在包含多个外界异步事件环境中,当这些事件发生时,DSP应及时执行这些事件所要求的任务,中断就是要求DSP暂停当前的工作,转而去处理这些事件,处理完以后,再回到原来中断的地方继续原来的工作。
C6000有三种类型的中断:
(1)RESET 复位是最高级别中断,用来停止CPU的工作,并使之返回到一个已知状态。
(2)NMI 不可屏蔽中断 用来向CPU发出严重硬件问题的警报。
(3)可屏蔽中断INT4-INT15共12个, 被连接到芯片外部或者片内外设,也可由软件控制或者不用。一般INT4-7为外部中断,其余为内部中断。
C6000芯片有8个中断控制寄存器,
CSR:控制状态寄存器,控制全局使能或者禁止中断 库函数中:IRQ_globalEnable();
IER:中断使能寄存器,使能或者禁止中断处理。 IRQ_enable();
IFR:中断标志寄存器,示出有中断请求但尚未得到服务的中断
ISR:中断设置寄存器,人工设置IFR中的标志位
ICR:中断清零寄存器,人工清除IFR中的标志位
ISTP:中断服务表指针,指向中断服务表的起始地址
NRP:不可屏蔽中断返回指针,包含从不可屏蔽中断返回的地址,该中断返回通过B NRP指令完成。
IRP:中断返回指针,包含从可屏蔽中断返回的地址,该中断返回通过指令B IRP完成。
具体函数这里不做详细介绍,各控制器的操作函数均可利用csl库函数完成,方便有效。
|
|