在我的嵌入式C代码中,我需要以精确的4 4kHz速率运行一个函数来模拟一些波形。我正在运行一些带有PREEMPT-RT补丁的Linux3.10内核。这个问题和这篇文章非常相似:Linux' hrtimer - microsecond precision?,但我特别要问的是:最近的PREEMPT-RT内核是否提供了一些user API或一些更方便的方式来实现这一目的?
发布于 2014-02-26 10:14:16
我刚刚提出了一个使用Xenomai框架的替代解决方案。我在我的Linux中构建并安装了Xenomai,并安装了Xenomai用户空间支持。然后有一个简单的接口rt_task_set_periodic,可以让你精确地调度周期性的任务。下面是示例:https://github.com/meeusr/xenomai-forge/blob/master/examples/native/trivial-periodic.c
发布于 2014-02-21 22:42:00
在我看来..不是的。PREEMPT_RT只在需要的时候让内核中断。我个人的意见是尝试找到一个延迟例程,并用示波器对其进行修剪。
我也有类似的问题,我发现“睡眠”和“我们的睡眠”并不那么准确,我最终编写了自己的延迟例程。
希望这能有所帮助。
https://stackoverflow.com/questions/21893972
复制相似问题