首页 > 代码库 > TI C66x DSP 系统events及其应用 - 5.10(创建ISR的三种情况)

TI C66x DSP 系统events及其应用 - 5.10(创建ISR的三种情况)

ISFP是服务中断的指令包,创建ISR的三种情况:

1,一个ISFP包的8条指令就可以满足ISR

2,ISR可以占用多个连续的ISFP(前提是下面的中断没有使用)

3,ISR位于IST之外

上述图中,B IRP表示从可屏蔽中断(INT4~15)中返回(从ISR返回或者从ISFP中返回)的指令。因为B指令有5个cycle的延迟,所以在B跳转指令后加上5个NOP指令,目的是防止CPU执行到其他的程序。如在第一张图中,如果B IRP后面的指令是单cycle指令(如NOP 1),那么CPU会在执行完INT6的ISFP的前4条指令后,才会真正的跳转到IRP地址处的指令,这是不允许的,因为执行INT6前4条指令的后果是不可预测的。

所以B IRP指令后面应该加NOP 5或者5条单cycle指令。