内核中的高分辨率时序?

时间:2011-10-14 16:02:14

标签: linux-kernel timing high-resolution

我正在编写一个内核模块,需要以0.1ms的间隔调用函数,测量精度至少为0.01ms。 250MHz ARM CPU,HZ变量(每秒jiffies)为100,所以任何基于jiffies的东西都是禁止的,除非我可以增加jiffies的粒度。

任何建议在哪里/如何看?

1 个答案:

答案 0 :(得分:4)

假设您运行的内核启用了Hi-Res计时器支持(它是一个构建时配置选项),并且您有一个适当的计时器硬件,可以提供所需的支持来提高这种粒度的中断,可以使用in kernel hrtimer API根据您的要求注册计时器。

以下是hrtimer文档:http://www.mjmwired.net/kernel/Documentation/timers/hrtimers.txt

但请注意,为了真正获得如此大规模的不间断响应,您很可能还需要应用和配置Linux RT(也称为PREEMPT_RT)补丁。

您可以在此处阅读更多内容:http://elinux.org/Real_Time