hrtimers_init()

void __init hrtimers_init(void)
{
	hrtimer_cpu_notify(&hrtimers_nb, (unsigned long)CPU_UP_PREPARE,
			  (void *)(long)smp_processor_id());
	register_cpu_notifier(&hrtimers_nb);
#ifdef CONFIG_HIGH_RES_TIMERS
	open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq);
#endif
}


与timers_init最主要的区别是操作(3),即初始化软时钟中断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux开发板上使用定时器可以实现一些定时操作,比如周期性地执行特定的任务或者在特定时间触发一些操作。在Linux内核中,有两种主要的定时器类型可供使用:软件定时器和硬件定时器。 1. 软件定时器:软件定时器是通过内核提供的API实现的,可以在应用程序中使用。在Linux内核中,常用的软件定时器接口包括`timer_create`、`timer_settime`和`timer_delete`等函数。通过这些函数,可以创建一个定时器、设置定时器的触发时间和周期,并且可以在定时触发时执行相应的回调函数。 2. 硬件定时器:硬件定时器是由开发板上的硬件设备提供的,通常是由系统芯片或外设控制器来实现。硬件定时器的使用方法和具体实现方式会因开发板而异,需要参考相应的开发板文档或驱动程序来了解具体的配置和操作方式。 在使用定时器时,需要注意以下几点: - 确保正确配置和初始化定时器资源。 - 设置合适的触发时间和周期,根据需求决定是单次触发还是周期性触发。 - 编写相应的回调函数,处理定时器触发后需要执行的操作。 - 进行错误处理和资源释放,确保定时器的正确运行和释放。 需要注意的是,定时器的精度和可靠性可能会受到系统负载、中断处理等因素的影响,因此在实际应用中需要根据需求和具体情况进行测试和调优。同时,对于特定的应用场景,还可以考虑使用定时器相关的库或框架来简化开发工作,比如Linux提供的定时器框架`hrtimers`等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值