我需要在linux内核中使用timer,mdelay()函数设置信号的高低。Linux核心延迟,低于jiffies,没有忙等待
hightime:0.01ms-20.00ms; lowtime:10ms-1000ms
两者都可以通过用户空间进行调整。 对于lowtime我使用API计时器和高峰期我使用mdelay()和udelay()。
现在的问题是:如果hightime是9.9ms,lowtime是10ms,那么整个内核都会睡着(期望0.1ms)。但是当内核定时器正在运行时,用户空间中的用户界面需要工作。 在我的系统中,一个jiffie大约是10ms,所以我不能在lowtime使用定时器。
有人有一个想法,我怎么能做到这些0.01ms - 10毫秒在内核中等待,以便我的用户界面仍然正常工作?
感谢
我想你应该指定一个平台。我没有理由期望内核应该能够满足这样的要求,而无需使用某种形式的专用计时器硬件。 – unwind 2013-03-22 16:13:40