最近由于需要使用TMS320C6474和TMS320C6678的SRIO外设,DOORBELL中断是必须使用的功能。
TI的这两款芯片都是多核芯片,6474为3核、6678包含有8个核;所以在配置中断时,需要使用到类似于路由的寄存器来讲中断挂在到需要中断的核上。
路由的配置主要使用ICRR寄存器,
该图为6474的门铃中断的配置,占4个BIT,会讲该位产生的中断路由到INTDST0....INTDST7中,由于我在使用的时候都是用CORE0中断,所以该为赋0;
配置好ICRR后使用CSL库初始化中断就可以产生中断,但是DOORBELL包含了64个中断源,该参数是根据发送方的DOORBELLINFO来判断的。
如果使用FPGA来发送,DSP来接受的话,可以填充DOORBELL REG 核DOORBELL BIT来触发不同的中断,前提是必须配置好ICRR路由寄存器,否则会发生DSP无法接收到中断的情况。
DOORBELL REG 决定DOORBELL【0...3】;
DOORBELL BIT 决定doorbell ICSR【0..15】