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

C6678的外设中断标志位在什么时候清除最合适

C6678的外设中断标志位在什么时候清除最合适?

环境:C6678 GbE网络外设驱动,网络接收中断源为QMSS队列(704)中断。

我们自己开发的简易操作系统内核,从触发中断(中断入口)到相应的网络驱动中断处理时间为3微妙。

当在网络驱动的中断处理中清除外设中断标志后,接着回收描述符(将接收描述符压入接收完成队列中),最后调用Mac层接收处理,程序表现正常。

当在中断入口后清除外设中断标志,(其余程序未调整)回收描述符的操作还是在驱动的中断处理函数中,通讯一段时间后,会出现相应Port口的接收完成队列中的描述符数量减少,直至为0.

两者区别只是清除外设中断标志位的时机不同,后者比前者提前。

请问为什么会导致这种情况。

谢谢大家!

Andy Yin1:

边沿触发的中断在入口即可清除中断,电平触发的中断在中断处理之后清中断。

你这个描述符减少的现象,感觉跟中断清除没有关系,可能是描述符回收的过程有问题,需要查一下减少的描述符都到哪里去了。

赞(0)
未经允许不得转载:TI中文支持网 » C6678的外设中断标志位在什么时候清除最合适
分享到: 更多 (0)