[发明专利]一种提高嵌入式定时器效率的方法在审
申请号: | 201910468395.0 | 申请日: | 2019-05-31 |
公开(公告)号: | CN110333938A | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 曾令辉 | 申请(专利权)人: | 苏州简约纳电子有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 南京正联知识产权代理有限公司 32243 | 代理人: | 郭俊玲 |
地址: | 215021 江苏省苏州市工业园*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时器 超时 定时器对象 定时器效率 系统定时器 硬件定时器 二维链表 嵌入式 时长 删除 初始化系统 定时器超时 更新定时器 动态更新 对象销毁 删除操作 事件发生 分辨率 时间戳 时刻点 状态机 二维 解链 链表 中断 全局 | ||
一种提高嵌入式定时器效率的方法,初始化系统定时器的二维链表为空;二维的系统链表一旦非空,就代表系统有运行的定时器,这时就会启动一个硬件的定时器,定时器的时长为最近的将要超时但未超时时刻点T_least与全局的系统定时器时间戳的差值T_least–TS;当硬件定时器超时,则代表T_least事件发生,进行动态更新硬件定时器时长;定时器超时前,停止或者删除未超时的定时器对象;停止,删除已经正在运行的定时器对象,只要把该定时器对象从系统的二维链表中解链即可,接着更新定时器对象的状态机,若是删除操作,则做对象销毁操作。本发明极大提高了定时器效率,降低了系统定时器中断开销,提高了定时器的分辨率。
技术领域
本发明涉及计算机技术领域,具体涉及一种提高嵌入式定时器效率的方法。
背景技术
定时器在嵌入式或者非嵌入式的计算机程序里都是常用的功能,定时器的时间分辨率的差异取决于具体应用程序的要求,定时器的实时性也同样取决于应用程序的要求。
通常的定时器设计是采用一个硬件的定时器作为基准定时器,当应用程序开启了不同时间长度的定时器,定时器模块会在每次基准定时器超时中断发生时,对每个应用定时器的当前计数进行减1操作,若更新后发现应用定时器超时了(当前计数为0),则调用定时器对应的回调函数来处理超时事件。
可是如果定时器的分辨率比较低,数量多,实时性要求不一样的情况下,对每个定时器采用相同的处理流程,会有明显的缺陷,其一:定时器分辨率低,则硬件定时器的周期性中断就多,每个中断都会有系统开销,可能存在冗余的没有超时事件的定时中断,从而增加了系统的开销;其二:定时器多的情况下,没有区分不同的实时性要求,会导致要么实时性都低,要么实时性都高,无法满足系统程序的设计要求,更不能合理分配处理器的计算力资源。
发明内容
针对上述的问题,本发明提出了一种改进的方法,该方法能够解决现实系统定时器应用的困扰,能明显提高定时器的有效中断次数,还能合理划分定时器的实时性要求并优先分配CPU资源给高实时性的定时器对象,最后还提高定时器链表的检索效率。
一种提高嵌入式定时器效率的方法,所述方法主要由一个定时器任务,一个硬件定时器,一个全局的系统定时器时间戳TS和一个系统定时器的二维链表资源组成,具体的步骤为:
步骤1,初始化系统定时器的二维链表为空,全局TS时刻值为0;
步骤2,二维的系统链表一旦非空,就代表系统有启动的定时器对象,这时就会启动一个硬件的定时器,定时器的时长为最近的将要超时但未超时时刻点T_least与全局的系统定时器时间戳的差值T_least–TS,使用硬件定时器超时中断事件来通知超时的定时器对象;
步骤3,当硬件定时器超时,则代表T_least事件发生,首先更新TS =T_least,如果系统还有最近时刻发生的定时器事件T_least更新为下个时刻值,接着动态更新硬件定时器时长,时长为当前时间戳与下个将要发生但未发生的时刻的差值T_least-TS;
步骤4,定时器超时前,停止或者删除未超时的定时器对象;
步骤5,停止,删除已经正在运行的定时器对象,只要把该定时器对象从系统的二维链表中解链即可,接着更新定时器对象的状态机,若是删除操作,则做对象销毁操作。
进一步地,所述步骤1中,具体的初始化操作为,全局的系统定时器时间戳为0,该二维链表的第一维的每个元素表征系统里的一个唯一的时刻点有定时器对象超时事件发生,第二维是同个时刻超时的所有定时器对象链表,它挂在第一维表的某个元素下;当系统定时器对象启动时,按照系统二维链表的结构,逐个插入;第一维是按时刻值排序,时刻点最近的排在链表头。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州简约纳电子有限公司,未经苏州简约纳电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910468395.0/2.html,转载请声明来源钻瓜专利网。