This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6670 中断设置问题!



您好:

            我采EDMA3搬移数据,产生完成中断后,我想让程序运行自己写的中断服务函数,这要怎么实现呢?

            我本想使用csl中提供的中断的相关函数设置,却发现CSL_intcGlobalNmiEnable   CSL_intcGlobalEnable等函数找不到定义,我在整个开发包里都找不到哪里有定义这两个函数的,只有声明,这是为什么?

            还有CSL_intcOpen是实现map Event ID to Vector ID ,在文档里要怎么查找 Event ID和 Vector ID的匹配关系呢?这里很疑惑!  

谢谢解答!! 

  • 您好,

    需要在工程中添加ti.csl.intc,该lib位于C:\ti\pdk_C6670_1_0_0_21\packages\ti\csl\lib

    eventID是输入到INTC的中断事件,可以在C6670数据手册中断一节找到所有的事件编号,vectorID是任意的,他们之间没有对应关系,所有才需要配置匹配。

  •   谢谢Andy的回答,我还想问下:

      芯片级的控制器共有3个,分别为CIC0、CIC1、CIC2,每个控制器有不同的Input Event 号,这个编号和128个system  中断EventID(我理解这128个就是INTC的中断事件)的对应关系是怎样的,看文档,这部分没理解?

     例如,我的EDMA3CC1产生有效完成中断INT0,在文档中这个中断是CIC0的输入事件,编号为8,我在配置中断eventID时要配置56,即对应的INTC的中断事件是CIC0_OUT0,这样才能使程序关联到中断ISR。

     谢谢解答!

  • eventID对应的是corepac的INTC输入事件号,而EDMA中断事件是输入到CIC,所以首先需要软件编程与相应的CIC输出事件映射,该输出事件作为INTC的输入。注意CIC的某些输出事件是可以输入到INTC,而只有INTC的事件才能作为ISR 的eventID.