1)首先注册一个中断:ret = request_irq(fpga_irq,mpc83xx_fpga_interrupt,0,"fpga",NULL);
2)中断处理函数:static irqreturn_t mpc83xx_fpga_interrupt(int irq,void *dev_id);
{
........................................
mpc83xx_pkt_hander();
........................................
}
3)static void mpc83xx_pkt_hander();
{
..............................
..............................
}
首先使用gettimeofday();函数在中断处理函数中调用mpc83xx_pkt_hander()的前后计算时间为20us左右,而在mpc83xx_pkt_hander()函数内部执行开始和结尾使用gettimeofday()函数计算的时间为80us。
问题:mpc83xx_pkt_hander()应该只是中断函数中的一个普通的调用吧,为什么计算看上去是并发处理的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。