搞懂时钟管理,看这个就好啦~

本文探讨了嵌入式系统中的时钟管理,包括时钟节拍和定时器管理。时钟节拍作为系统心跳,用于任务延迟和等待超时。硬件定时器精度高但数量有限,软件定时器则提供更灵活的数量选择,有中断和任务两种执行模式。介绍了相关的操作系统接口,如获取系统tick、创建和控制定时器等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文分享自中移OneOS微信公众号《时钟管理》。

时钟管理包含两部分,第一部分是操作系统最小时间单位(时钟节拍),第二部分是基于时钟节拍的定时器,下面分别展开描述。

时钟节拍

时钟节拍是特定的周期性中断,这个中断可以看做是系统心跳。系统心跳的时间间隔取决于不同的应用,一般是1ms~100ms。这种周期性中断使得内核可以将任务延迟若干个时钟节拍,以及当任务等待事件发生时,提供等待超时等依据。时钟节拍率越快,系统的额外开销就越大。

系统心跳产生时,会在中断处理函数中调用一次os_tick_increase(),通知操作系统过了一个时钟节拍的时间。在os_tick_increase()中,首先将系统时间自增1,然后检查正在运行的任务时间片是否耗尽,如果耗尽则进行任务切换,最后检查是否有定时器超时,如果有超时则执行对应的回调函数。

定时器管理

定时器分为硬件定时器软件定时器

硬件定时器是由CPU提供,软件通过驱动接口配置相关的寄存器,来控制定时器的超时时间等,超时后CPU会产生时钟中断,达到定时的效果。硬件定时器精度较高,可以达到纳秒级别,但是数量有限。

软件定时器是操作系统提供,是以硬件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值