我的手臂板上连接了一个外部设备,以微秒为间隔产生中断。 我想要的是一个快速的irq处理程序,可以将jiffies时间戳记转换为数组。
linux irq处理程序正在获取大部分irq但没有真正运行所有处理程序。对于应该每25微秒运行一次的irq,我得到10毫秒的时间。一些处理程序运行0延迟。看起来他们排队了。如何获得实时IRQ处理程序?
我使用的是高通800系列主板,速度非常快。
答案 0 :(得分:0)
Jiffies不是您使用并保存到阵列中的正确时间戳。您必须使用的是高分辨率计时器(以ns为单位提供时间戳),与jiffies相比更合适。 Jiffies是一个基于CONFIG_HZ(通常每10毫秒)递增的全局变量,但它取决于平台。 如果您可以澄清针对性的用例,那将有助于获得正确的答案。 使用简单的中断可以满足您的需求,但您必须保持正确的时间戳。 Jiffies不是那个。
无论如何,如果您对了解本地计时器的分辨率感兴趣,可以试试此处发布的代码:How to implement elapsed time by jiffies
希望有所帮助。 Aymen。