一种嵌入式软件任务分时调度方法与流程

文档序号:34180162发布日期:2023-05-17 08:25阅读:145来源:国知局
一种嵌入式软件任务分时调度方法与流程

本发明属于嵌入式软件任务调度,尤其涉及一种嵌入式软件任务分时调度方法。


背景技术:

1、在嵌入式软件任务调度领域中,通常的程序设计架构为:在主流程中依次查询各任务标志,如果某一任务标志置位,则调用该任务执行函数,待该任务执行结束后,程序返回到主流程中,查询是否有新的任务标志置位,开启下一个任务执行流程。这种任务调度方式未对执行的任务进行统一调度,程序设计上较为繁琐冗余;在同一时间只能响应一个任务,对于多任务执行项目而言,执行效率较差。


技术实现思路

1、本发明解决的技术问题是:克服现有技术的不足,提供了一种嵌入式软件任务分时调度方法,解决了现有嵌入式软件任务调度效率差的问题。

2、本发明目的通过以下技术方案予以实现:一种嵌入式软件任务分时调度方法,包括:初始化各任务执行基本信息,设置任务管理队列;将要执行的任务添加至任务管理队列中;分时调用任务调度函数,将任务执行周期划分为多个时间片,每个时间片查询任务管理队列成员,判断是否需要执行该任务管理队列成员相应任务,如果需要执行该任务管理队列成员相应任务,则按照执行频率调用任务执行函数,直至该任务执行完成或超出执行时间,根据是否允许自删除标志,将该任务从队列中删除。

3、上述嵌入式软件任务分时调度方法中,任务执行基本信息包括:任务代号,不同任务代号设置不同,作为唯一标识区别不同任务;任务初始化函数,包含运行该任务的一些初始化配置信息;任务执行函数,实现任务的具体执行过程;任务执行完成函数,实现任务执行完成后需要执行的动作;任务超时处理函数,实现任务超时后需要执行的动作;任务执行频率计数,在任务调度函数中进行累加,用于控制任务运行周期;任务执行频率,用于设置任务运行的周期;任务执行时长,在任务调度函数中进行累加,用于记录任务运行总时长;任务执行超时时长,用于设置任务最长运行时间;允许自删除标志,用于识别任务结束后是否允许自动删除任务。

4、上述嵌入式软件任务分时调度方法中,任务管理队列的队列基本信息包括:任务执行标志,表示任务是否需要进行执行;任务变量,用任务执行基本信息表示不同任务。

5、上述嵌入式软件任务分时调度方法中,设置任务管理队列包括:统一管理涉及的所有任务,任务管理队列中每个变量基本单元为任务管理队列的队列基本信息,该任务管理队列管理所有任务的添加和删除。

6、上述嵌入式软件任务分时调度方法中,在所述将要执行的任务添加至任务管理队列中,将要执行的任务可通过通讯接口接收任务执行指令、或按照既定的任务执行流程进行确定。

7、上述嵌入式软件任务分时调度方法中,在所述将要执行的任务添加至任务管理队列中,添加过程为:查询任务管理队列中是否已有本次添加的任务,如果任务已存在,则直接返回添加完成;否则,执行本次添加任务的初始化函数,设置任务执行标志为1,从任务管理队列起始地址查询第一个未使用的成员位置,将任务添加至该位置中。

8、上述嵌入式软件任务分时调度方法中,判断是否需要执行该任务管理队列成员相应任务包括:判断任务执行标志是否为1,若为1则在该时间片需要执行该任务管理队列成员相应任务。

9、上述嵌入式软件任务分时调度方法中,在则按照执行频率调用任务执行函数中,在每个时间片内,任务执行频率计数值进行累加,若计数值到达任务执行频率,则调用任务执行函数。

10、上述嵌入式软件任务分时调度方法中,所述任务执行完成后,调用任务执行完成函数,实现任务完成后的需要执行的动作;超出执行时间,则调用任务超时处理函数,若任务执行时长超过任务执行超时时长,则判定任务超出执行时间。

11、上述嵌入式软件任务分时调度方法中,将该任务从队列中删除包括:在队列中按照任务号查询本任务,设置任务执行标志为0,将该任务从队列中删除。

12、本发明与现有技术相比具有如下有益效果:

13、(1)现有技术未对执行的任务进行统一调度,程序设计上较为繁琐冗余。本发明设计任务管理队列和任务调度函数,统一调度待执行任务,优化了程序设计架构。

14、(2)现有技术在主流程中依次查询各任务标志,如果某一任务标志置位,则调用该任务执行函数,待该任务执行结束后,程序返回到主流程中,查询是否有新的任务标志置位,开启下一个任务执行流程,该技术在同一时间只能响应一个任务。本发明在程序主流程中分时调用任务调度函数,将任务运行周期划分为多个时间片,每个时间片查询任务队列,实现分时调用多重任务的功能,可有效提高任务执行效率。

15、(3)本发明设计方法通用有效,有助于嵌入式软件多种任务调度设计项目直接移植使用,减少后续维护工作。



技术特征:

1.一种嵌入式软件任务分时调度方法,其特征在于包括:

2.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:任务执行基本信息包括:

3.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:任务管理队列的队列基本信息包括:

4.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:设置任务管理队列包括:统一管理涉及的所有任务,任务管理队列中每个变量基本单元为任务管理队列的队列基本信息,该任务管理队列管理所有任务的添加和删除。

5.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:在所述将要执行的任务添加至任务管理队列中,将要执行的任务可通过通讯接口接收任务执行指令、或按照既定的任务执行流程进行确定。

6.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:在所述将要执行的任务添加至任务管理队列中,添加过程为:查询任务管理队列中是否已有本次添加的任务,如果任务已存在,则直接返回添加完成;否则,执行本次添加任务的初始化函数,设置任务执行标志为1,从任务管理队列起始地址查询第一个未使用的成员位置,将任务添加至该位置中。

7.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:判断是否需要执行该任务管理队列成员相应任务包括:判断任务执行标志是否为1,若为1则在该时间片需要执行该任务管理队列成员相应任务。

8.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:在则按照执行频率调用任务执行函数中,在每个时间片内,任务执行频率计数值进行累加,若计数值到达任务执行频率,则调用任务执行函数。

9.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:所述任务执行完成后,调用任务执行完成函数,实现任务完成后的需要执行的动作;

10.根据权利要求1所述的嵌入式软件任务分时调度方法,其特征在于:将该任务从队列中删除包括:在队列中按照任务号查询本任务,设置任务执行标志为0,将该任务从队列中删除。


技术总结
本发明公开了一种嵌入式软件任务分时调度方法,包括:初始化各任务执行基本信息,设置任务管理队列;将要执行的任务添加至任务管理队列中;分时调用任务调度函数,将任务执行周期划分为多个时间片,每个时间片查询任务管理队列成员,判断是否需要执行该任务管理队列成员相应任务,如果需要执行该任务管理队列成员相应任务,则按照执行频率调用任务执行函数,直至该任务执行完成或超出执行时间,根据是否允许自删除标志,将该任务从队列中删除。本发明解决了现有嵌入式软件任务调度效率差的问题。

技术研发人员:陈俐均,姜海峰,梁新建
受保护的技术使用者:北京航天控制仪器研究所
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1