当前位置: 代码迷 >> 驱动开发 >> linux间断响应gpio中断太慢是什么原因
  详细解决方案

linux间断响应gpio中断太慢是什么原因

热度:9466   发布时间:2013-02-26 00:00:00.0
linux中断响应gpio中断太慢是什么原因?
测试发现linux上半部响应GPIO中断的时间有时会慢到20ms之后才响应?大家有遇到这种问题吗?
我们是这样测试的,在一个MCU(装的实时操作系统)里每隔10ms通过一个gpio向CPU发送中断,在LINUX这边的中断服务程序再通过另外一个gpio去中断MCU,MCU接收到中断之后计算中断的环回时间,测试10万次,大多是不到一个毫秒,但出现20ms左右的情况的概率是万分之一,通过示波器也能捕捉到5-7ms的延时的情况,请问大侠们这是什么情况啊?

------解决方案--------------------------------------------------------
linux不是实时的。
------解决方案--------------------------------------------------------
简单的判断,就是偶遇到更高级的较长时间的中断服务,导致没能及时响应你希望的GPIO中断;
具体的,就需要分析你现有的程序和系统程序的功能了。
------解决方案--------------------------------------------------------
在LINUX这边的中断服务程序再通过另外一个gpio去中断MCU? 这个肯定要相对耗时吧。怎么实行的
------解决方案--------------------------------------------------------
还没明白你描述的问题。一般linux的时间片是10ms左右,不可能实时的。MCU那边你的程序是否有问题呢?