全部博文(333)
分类: 嵌入式
2012-11-13 11:47:17
您好:
我采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是任意的,他们之间没有对应关系,所有才需要配置匹配。
eventID对应的是corepac的INTC输入事件号,而EDMA中断事件是输入到CIC,所以首先需要软件编程与相应的CIC输出事件映射,该输 出事件作为INTC的输入。注意CIC的某些输出事件是可以输入到INTC,而只有INTC的事件才能作为ISR 的eventID.
您好,
需要在工程中添加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。
谢谢解答!