嵌入式超高时钟精度定时任务执行方法和嵌入式操作系统技术方案

技术编号:29458412 阅读:23 留言:0更新日期:2021-07-27 17:26
本申请涉及一种嵌入式超高时钟精度定时任务执行方法和嵌入式系统。所述方法包括:任务调用线程发送执行任务请求,将其按照任务期望执行时刻的先后顺序排列得到任务执行队列,由任务监控执行线程从任务执行队列中获取最近任务,当其任务期望执行时刻和当前时刻的间隔大于预设时长时,根据最近任务的任务期望实行时刻设置硬件定时器的中断触发时刻,否则任务监控执行线程对最近任务进行轮询等待。当任务监控执行线程收到中断触发信号或轮询等待结束时,执行最近任务并向任务调用线程返回对应的任务执行结果。本申请基于硬件定时器,在执行任务时能够支持微秒甚至纳秒级超高时钟精度的任务延迟定时,可以有效保障操作系统的实时性。

【技术实现步骤摘要】
嵌入式超高时钟精度定时任务执行方法和嵌入式操作系统
本申请涉及嵌入式操作系统
,特别是涉及一种嵌入式超高时钟精度定时任务执行方法和嵌入式操作系统。
技术介绍
中断是嵌入式系统实现多任务处理的主要方式之一,目前大部分嵌入式系统只采用了嵌入式时钟中断模式实现定时任务的运行。在这种模式下,当中断周期配置过短时,会导致系统一直在处理中断,无法处理其他业务逻辑。并且,大部分操作系统定时器的中断周期只能配置到200ms左右,因此传统定时任务执行方法可能会产生上百毫秒的误差。此外,当用户延迟运行的时间过短时(如200ms以内),传统的嵌入式时钟中断模式无法支持用户实现这类需求。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够支持微秒甚至纳秒级超高时钟精度完成预定任务的嵌入式超高时钟精度定时任务执行方法和嵌入式系统。一种嵌入式超高时钟精度定时任务执行方法,包括:任务调用线程发送执行任务请求,将执行任务请求按照任务期望执行时刻的先后顺序排列,得到任务执行队列。由任务监控执行线程从任务执行队列中获取最近本文档来自技高网...

【技术保护点】
1.一种嵌入式超高时钟精度定时任务执行方法,其特征在于,所述方法包括:/n由任务调用线程发送执行任务请求,将所述执行任务请求按照任务期望执行时刻的先后顺序排列,得到任务执行队列;/n由任务监控执行线程从所述任务执行队列中获取最近任务,当所述最近任务的任务期望执行时刻和当前时刻之间的间隔大于预设的时间长度时,根据所述最近任务的任务期望实行时刻设置所述硬件定时器的中断触发时刻,否则根据所述最近任务的任务期望实行时刻,所述任务监控执行线程对所述最近任务进行轮询等待;/n当所述任务监控执行线程收到所述硬件定时器的中断触发信号,或当所述轮询等待结束时,由所述任务监控执行线程执行所述最近任务,并向所述任务...

【技术特征摘要】
1.一种嵌入式超高时钟精度定时任务执行方法,其特征在于,所述方法包括:
由任务调用线程发送执行任务请求,将所述执行任务请求按照任务期望执行时刻的先后顺序排列,得到任务执行队列;
由任务监控执行线程从所述任务执行队列中获取最近任务,当所述最近任务的任务期望执行时刻和当前时刻之间的间隔大于预设的时间长度时,根据所述最近任务的任务期望实行时刻设置所述硬件定时器的中断触发时刻,否则根据所述最近任务的任务期望实行时刻,所述任务监控执行线程对所述最近任务进行轮询等待;
当所述任务监控执行线程收到所述硬件定时器的中断触发信号,或当所述轮询等待结束时,由所述任务监控执行线程执行所述最近任务,并向所述任务调用线程返回对应的任务执行结果。


2.根据权利要求1所述的方法,其特征在于,所述预设的时间长度的设置方式为:
将硬件定时器的最小翻转周期作为预设的时间长度。


3.根据权利要求1所述的方法,其特征在于,还包括:
在执行系统初始化时,通过多次测定所述硬件定时器的时钟误差,得到对应的时钟误差平均值,根据所述时钟误差平均值配置所述任务监控执行线程的时间误差修正参数。


4.一种嵌入式操作系统,其特征在于,包括通用接口、执行框架内核和硬件定时器驱动,所述通用接口包括系统初始化接口和执行框架内核调用接口,所述执行框架内核包括任务执行队列和任务监控执行线程;
所述硬件定时器驱动用于初始化和设置硬件定时器,配置定时器中断的执行逻辑,以及用于获取硬件定时器的读数;

【专利技术属性】
技术研发人员:包武祖校锋王玖玖
申请(专利权)人:湖南智领通信科技有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1