TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678的INTC问题

关于pdk_C6678_1_0_0_17\packages\ti\csl\example目录下提供的cpintc的测试用例:

1、打开INTC模块CSL_intcOpen (&intcObj, 63, &vectId , NULL)时事件号为什么是63呢?查看手册,

63对应的中断事件是INTC0_OUT(3+8*n)7 Or INTC1_OUT(3+8*(n-4))7,这里的3+8*n和7分别代表什么意

思啊?

2、测试用例中,通过((CSL_CPINTC_RegsOvly)CSL_CP_INTC_0_REGS)->STATUS_SET_INDEX_REG = 3手动

触发了INTC0系统中断3,产生了INTC0_OUT(Event Number = 63)中断事件输出,而在打开INTC模块时将

中断事件号63与CPU中断向量4对应,因此产生CPU中断4。通过CSL_CPINTC_mapSystemIntrToChannel

(hnd, 3 , 3)将系统中断3映射到通道3,而通道3与主机中断3对应,因此产生了主机中断。这样理解正

确吗?

3、测试用例是通过手动触发产生中断,如果是由外部触发产生的中断呢?比如IPC中断,是否只需使能

NMIs和global中断,通过CSL_intcOpen将中断事件91(IPC_LOCAL)与某个CPU中断向量对应(例如中断向量

4),并使能中断事件91,就可响应中断呢?而无需设置什么系统中断与通道的映射关系,还有使能主机

中断呢?关于CPU中断、系统中断、通道、主机中断之间到底是个什么样的关系呢?感觉理解上有点混乱

4、关于IPC中断的触发,看手册上说只需将IPCGRx寄存器的最低位置1即可,那么寄存器的4-31位关于

SRCSx的设置有什么作用?在设置上有什么要求吗?

5、通过查看手册,CPU只能响应12种中断,好像以往的C6000系列都有默认映射,例如:好像中断14与15

是对应定时器0和1中断,那么C6678默认的中断映射关系是什么呢?

Bruce Chen1:

1.n= core number ; 7 表示 注释7,在表格后面

2.STATUS_SET_INDEX_REG = 3 产生 系统中断3;

CSL_CPINTC_mapSystemIntrToChannel(hnd, 3 , 3), 将系统中断3映射到CPINTC channel 3

CPINTC 产生 3号host interrupt 给 corepac INTC,产生 63 号事件,对应vector 3

3.

a. IPC 只需 设置corepac INTC,不需要CPINTC 参与;

INTC 和CPINTC 是两个 概念,CPINTC 是 chip-level,而INTC 是核里面的

b.系统中断 映射到 channel,再由channel 对应 host interrupt,

这些都是 一种称呼, 不必纠结,明白 处理 步骤就行

4.SRCSx 设置中断源,没有限制

请参考 INTC user guide 和 每个芯片的 datasheet以及 corepac 关于 INTC部分

Andy Yin:

回复 Bruce Chen1:

您好,

Q5: vector4~15没有默认的对应中断,需要根据应用需求映射。

user1931146:

回复 Andy Yin:

TMS320C66x DSP CorePac.pdf中关于C66x CorePac Events:

The events that are shown as available events are to the C66x CorePac for chip-level events.

查看C6678的芯片手册,event 91 是 IPC_LOCAL,应该也是chip-level events,怎么不需要CPINTC参与

呢?

能具体解释下CPINTC和INTC吗?哪些需要设置CPINTC?哪些需要设置INTC?能举例说说吗?

jun lu1:

下面的回答还是没有解释清楚呀,如果文档说清楚了,我们也不会问你们专家了啥。

jun lu1:

下面的回答还是没有解释清楚呀,如果文档说清楚了,我们也不会问你们专家了啥。

jun lu1:

下面的回答还是没有解释清楚呀,如果文档说清楚了,我们也不会问你们专家了啥。

赞(0)
未经允许不得转载:TI中文支持网 » C6678的INTC问题
分享到: 更多 (0)