【发布时间】:2020-03-08 12:57:04
【问题描述】:
我正在寻找 u-boot 中的 wait_event_timeout[1] 等效函数,但找不到相同的函数。
u-boot 有这样的功能吗?
[1]https://github.com/torvalds/linux/blob/master/include/linux/wait.h#L371
【问题讨论】:
标签: c arm linux-device-driver u-boot
我正在寻找 u-boot 中的 wait_event_timeout[1] 等效函数,但找不到相同的函数。
u-boot 有这样的功能吗?
[1]https://github.com/torvalds/linux/blob/master/include/linux/wait.h#L371
【问题讨论】:
标签: c arm linux-device-driver u-boot
U-Boot 以单进程和单线程运行。许多平台都没有启用中断。所以不能实现wait_event_timeout()这样的函数。
相反,您必须创建一个循环来不断检查事件是否已发生,并在循环中执行让事件发生所需的一切。
例如查看 efi_wait_for_event() 函数,该函数在循环中调用 efi_timer_check()。 efi_timer_check() 运行所有已注册的基于计时器的函数,例如检查网络接口是否接收到的包。
【讨论】: