我需要在我的驱动程序中调用gpio_get_value
, gpio_set_value
,gpio_direction_input/output
并且有一个时间要求,要求函数调用在短时间内返回5us
。
能gpiolib
满足这个要求还是不是确定性的?如果没有,有什么解决办法?直接访问GPIO寄存器?
非常感谢。
我需要在我的驱动程序中调用gpio_get_value
, gpio_set_value
,gpio_direction_input/output
并且有一个时间要求,要求函数调用在短时间内返回5us
。
能gpiolib
满足这个要求还是不是确定性的?如果没有,有什么解决办法?直接访问GPIO寄存器?
非常感谢。
调用其中一个函数涉及执行 linux 内核函数,因此至少有两个上下文切换:一个运行内核代码,一个返回用户空间。
这些开关可能意味着如果中断或信号进入执行,可能会浪费一些时间。
无论如何,如果您需要确定的时间期限,您需要切换到实时修补内核实时 linux wiki 主页
我不知道 5us 是否可行,这取决于系统负载、活动驱动程序(例如,有读/写文件系统?),但您可以测试。