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.

c64p.eventcombiner机制问题



我看到许多例子里cfg文件中有用到这个东西 

ECM.eventGroupHwiNum[0]=7

ECM.eventGroupHwiNum[1]=8

ECM.eventGroupHwiNum[2]=9

ECM.eventGroupHwiNum[3]=10

这个语句是什么意思一直没搞明白 7 8 9 10是cpu中断号吗 ?

那前面的那个数组0 1 2 3是什么 只有这四个吗?

还有使用这种机制的中断设置方法 一直找不到前面几级中断映射的代码 

就那EDMA LLD的例程来说 看不到edma中断映射的代码 所以他的中断到底是怎么设置的 这7 8 9 10分别代表什么中断呢

很疑惑 希望大神能帮忙解答 感激不尽!

  • 每个corepac INTC有4个input event0~3是由外部4~127个事件配置组合而成,其中0~3即对应core INTC输入事件,7~10为映射的core内部interrupt vector。

    关于event combiner可以参考c66 corepac user guide中断章节。

  • 感谢上面的回答 但是还有一个问题 128个中断中并没有edma的传输完成中断的样子 他用的是哪个中断做到的edma传输完成中断呢?

    另外7 8 9 10这几个向量中断服务函数是每个只能绑定一个吧? 是不是需要自己判断中断标志位来决定是哪个事件触发的事件再做相应的中断处理呗?

  • 并非所有的中断都是直接作为corepac INTC的输入,有些时间是作为CIC的输入,然后通过CIC中继路由过去,此时需要配置CIC,请参考手册中关于中断的说明。

    是的,需要通过寄存器中的响应bit来判断,在corepac手册event register中有描述。