如何从内核初始化sleep()?

时间:2012-04-04 11:30:40

标签: debugging linux-kernel kernel sleep oscilloscope

我正在使用示波器通过在GPIO上设置值来调试内核init的一些代码,这是sleep()在给定时间很早的最佳方式,即ddr3_init()

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用在给定时间间隔后停止的忙循环。这应该睡一秒钟(我不确定它是否有效,我把它放在一起看看time.h标题):

#include <linux/time.h>

struct timespec start_ts = current_kernel_time();
s64 start = timespec_to_ns(&start_ts);
do {
    struct timespec now_ts = current_kernel_time();
    s64 now = timespec_to_ns(&now_ts);
} while (now - start < 1000000000ULL);