2

我需要在我的驱动程序中调用gpio_get_value, gpio_set_value,gpio_direction_input/output并且有一个时间要求,要求函数调用在短时间内返回5us

gpiolib满足这个要求还是不是确定性的?如果没有,有什么解决办法?直接访问GPIO寄存器?

非常感谢。

4

1 回答 1

0

调用其中一个函数涉及执行 linux 内核函数,因此至少有两个上下文切换:一个运行内核代码,一个返回用户空间。

这些开关可能意味着如果中断或信号进入执行,可能会浪费一些时间。

无论如何,如果您需要确定的时间期限,您需要切换到实时修补内核实时 linux wiki 主页

我不知道 5us 是否可行,这取决于系统负载、活动驱动程序(例如,有读/写文件系统?),但您可以测试。

于 2012-12-06T14:37:57.517 回答