2020-10-10

Linux内核中高精度定时器使用

  1. 内核中高精度定时器
    在linux内核下编程,特别是驱动编程中,往往HZ的定时器精度不能满足我们的需求;此时,内核为高精度定时器重新设计了一套软件架构,它可以为我们提供纳秒级的定时精度,以满足对精确时间有迫切需求的应用程序或内核驱动,例如多媒体应用,音频设备的驱动程序等等。
    timer_list内核定时器,它的精度在毫秒级别,内核提供纳秒级别的高精度定时器 hrtimer。源文件在linux/kernel/hrtimer.c中,接口简单。下面介绍一下相关接口:
    1) 定时器定义与绑定超时回调函数
    内核用一个hrtimer结构来表示一个高精度定时器:
struct hrtimer {
   
     
	struct timerqueue_node		node;
	ktime_t				_softexpires;
	enum hrtimer_restart		(*function)(

你可能感兴趣的:(linux驱动,linux,嵌入式)