一种基于时间管理的任务驱动型软件实现方法技术

技术编号:29132634 阅读:15 留言:0更新日期:2021-07-02 22:27
本发明专利技术公开了一种基于时间管理的任务驱动型软件实现方法,包括以下步骤:a.系统进行初始化;b.进行任务定时器更新;c.进行优先级任务调度;d.所有任务执行完毕后,系统进入低功耗状态。上述技术方案通过应用基于优先级的调度器设计、基于接口编程的软件设计、针对不同应用场景下的时间管理模式及误差补偿和低功耗管理技术,针对不同应用场景提供多种时间管理模式,增强了跨平台兼容性,缩短了开发时间,降低应用软件学习成本和维护工作量,同时降低了资源开销。

【技术实现步骤摘要】
一种基于时间管理的任务驱动型软件实现方法
本专利技术涉及计算机软件
,尤其涉及一种基于时间管理的任务驱动型软件实现方法。
技术介绍
所谓裸机编程,就是直接在硬件上编程写代码,没有操作系统的支持。传统的嵌入式软件大多采用这种方式,一般通过一个while(1)主循环,所有开发设计、功能增减及更新维护都是在主循环中直接修改逻辑,调用要处理的应用业务程序。嵌入式软件设计中,传统裸机编程所有业务的处理都是通过在主循环中直接调用来实现,在软件架构设计上缺乏业务功能管理的机制,软件的扩展性和健壮性从根本上难以得到保障。另一方面,由于主循环中涉及的逻辑处理太多,软件后期的维护和更新成本很高。因此这种方式只适用于应用功能十分简单的场景。实时操作系统指当外界事件或数据产生时,保证在一定事件限制内完成特定功能的操作系统,功能强大,主要应用与任务复杂的场合,强调实时性,MCU性能最大化,提供诸多组件以支持更强大的功能实现。缺点在于:1)RTOS要保证对事件响应的及时性,每个任务都要有相应的任务堆栈,在提供丰富功能的代价是对MCU资源特别是RAM开销大。2)部分RTOS需要考虑商用授权;3)需要考虑所选RTOS与硬件平台的兼容性;4)RTOS学习成本较高;因此RTOS仅适用于对实时性要求高,且MCU性能较高的场景。中国专利文献CN102981813A公开了一种“无选单软件界面驱动方法”。去除传统的软件选单方式,利用序列任务名称、工作流程、工作步骤组成简洁的方式,整合并遍历软件提供的各种功能,实现更好的计算机软件人机交互界面,适用于任何需要软件交互的领域,包括软件、WEB界面。上述技术方案缺乏业务功能管理的机制,软件的扩展性难以得到保障。
技术实现思路
本专利技术主要解决原有的技术方案应用场景单一,兼容性不足,功耗高的技术问题,提供一种基于时间管理的任务驱动型软件实现方法,通过应用基于优先级的调度器设计、基于接口编程的软件设计、针对不同应用场景下的时间管理模式及误差补偿和低功耗管理技术,针对不同应用场景提供多种时间管理模式,增强了跨平台兼容性,缩短了开发时间,降低应用软件学习成本和维护工作量,同时降低了资源开销。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:本专利技术包括以下步骤:a.系统进行初始化;b.进行任务定时器更新;c.进行优先级任务调度;d.所有任务执行完毕后,系统进入低功耗状态。作为优选,所述的步骤1中系统包括系统层和接口层,所述系统层包括优先级任务调度模块、事件管理模块、定时管理模块和低功耗管理模块。系统层是系统所有功能的集合,包括优先级任务调度、事件管理、定时管理和低功耗管理等功能,部分功能可通过内核初始化接口参数配置是否开启,以实现用户对系统功能的按需开关控制;接口层是系统与用户层关联的接口,是系统移植要修改的部分。优先级任务调度模块用于任务的优先级调度以及单任务嵌套,在任务执行过程中,能够置起该任务本身。事件管理模块用于实现事件的发送、接收和删除。定时管理模块用于创建任务定时器和删除任务定时器。低功耗管理模块实现低功耗的加锁或解锁,加锁后,系统不再进入低功耗状态。任务操作管理包括对任务的创建、删除、置起、清除和读取任务状态。作为优选,所述的步骤1中初始化包括BSP层初始化,APP层初始化,创建、预置任务以实现系统初始化,初始化完毕后启动系统。作为优选,所述的步骤2具体包括:b1.遍历更新任务定时器;b2.判断是否定时结束;b3.对于触发事件置起任务;在任务执行过程中,能够置起该任务本身。b4.判断是否遍历结束。作为优选,所述的步骤b2若定时结束,则进行步骤b3,若定时未结束,则跳转到步骤b4。作为优选,所述的步骤b4若遍历未结束,则跳转到步骤b1再次遍历更新任务定时器,若遍历结束,则进行步骤c。作为优选,所述的步骤c具体包括:c1.遍历查询任务状态;c2.获取最高优先级被置起的任务;c3.执行任务处理函数;c4.判断是否仍有任务置起。作为优选,所述的步骤c4若仍有任务置起,则跳转到步骤c1再次遍历查询任务状态,若没有任务置起,则跳转到步骤d。作为优选,所述的步骤d具体包括:d1.查询任务低功耗锁和设备低功耗锁状态;d2.判断是否所有低功耗锁失能;d3.进入低功耗状态;d4.任意中断将会唤醒系统并退出低功耗状态。作为优选,所述的步骤d2若所有低功耗锁失能,则进入低功耗状态;若存在未失能的低功耗锁,则跳转到步骤b。本专利技术的有益效果是:通过应用基于优先级的调度器设计、基于接口编程的软件设计、针对不同应用场景下的时间管理模式及误差补偿和低功耗管理技术,针对不同应用场景提供多种时间管理模式,增强了跨平台兼容性,缩短了开发时间,降低应用软件学习成本和维护工作量,同时降低了资源开销。附图说明图1是本专利技术的一种原理结构图。图2是本专利技术的一种工作流程图。图3是本专利技术的一种功能结构图。图4是本专利技术的一种文件结构图。图中1系统层,1.1优先级任务调度模块,1.2事件管理模块,1.3定时管理模块,1.4低功耗管理模块,2接口层。具体实施方式下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。实施例:本实施例的一种基于时间管理的任务驱动型软件实现方法,如图2所示,包括以下步骤:a.系统进行初始化,初始化包括BSP层初始化,APP层初始化,创建、预置任务以实现系统初始化,初始化完毕后启动系统。如图1所示,系统包括系统层1和接口层2,所述系统层1包括优先级任务调度模块1.1、事件管理模块1.2、定时管理模块1.3和低功耗管理模块1.4。系统层是系统所有功能的集合,包括优先级任务调度、事件管理、定时管理和低功耗管理等功能,部分功能可通过内核初始化接口参数配置是否开启,以实现用户对系统功能的按需开关控制;接口层是系统与用户层关联的接口,是系统移植要修改的部分。如图3所示,优先级任务调度模块用于任务的优先级调度以及单任务嵌套,在任务执行过程中,能够置起该任务本身。事件管理模块用于实现事件的发送、接收和删除。定时管理模块用于创建任务定时器和删除任务定时器。低功耗管理模块实现低功耗的加锁或解锁,加锁后,系统不再进入低功耗状态。任务操作管理包括对任务的创建、删除、置起、清除和读取任务状态。b.进行任务定时器更新,具体包括:b1.遍历更新任务定时器。遍历所有任务定时器,对于还未进行定时的任务添加定时器。b2.判断是否定时结束,若定时结束,则进行步骤b3,若定时未结束,则跳转到步骤b4。b3.对于触发事件置起任务,在任务执行过程中,能够置起该任务本身。b4.判断是否遍历结束,若遍历未结束,则跳转到步骤b1再次遍历更新任务定时器,若遍历结束,则进行步骤本文档来自技高网
...

【技术保护点】
1.一种基于时间管理的任务驱动型软件实现方法,其特征在于,包括以下步骤:/na.系统进行初始化;/nb.进行任务定时器更新;/nc.进行优先级任务调度;/nd.所有任务执行完毕后,系统进入低功耗状态。/n

【技术特征摘要】
1.一种基于时间管理的任务驱动型软件实现方法,其特征在于,包括以下步骤:
a.系统进行初始化;
b.进行任务定时器更新;
c.进行优先级任务调度;
d.所有任务执行完毕后,系统进入低功耗状态。


2.根据权利要求1所述的一种基于时间管理的任务驱动型软件实现方法,其特征在于,所述步骤1中系统包括系统层(1)和接口层(2),所述系统层(1)包括优先级任务调度模块(1.1)、事件管理模块(1.2)、定时管理模块(1.3)和低功耗管理模块(1.4)。


3.根据权利要求1所述的一种基于时间管理的任务驱动型软件实现方法,其特征在于,所述步骤1中初始化包括BSP层初始化,APP层初始化,创建、预置任务以实现系统初始化,初始化完毕后启动系统。


4.根据权利要求1所述的一种基于时间管理的任务驱动型软件实现方法,其特征在于,所述步骤2具体包括:
b1.遍历更新任务定时器;
b2.判断是否定时结束;
b3.对于触发事件置起任务;
b4.判断是否遍历结束。


5.根据权利要求4所述的一种基于时间管理的任务驱动型软件实现方法,其特征在于,所述步骤b2若定时结束,则进行步骤b3,若定时未结束,则跳转到步骤b4。
...

【专利技术属性】
技术研发人员:周智水焦绍华程晨瓯
申请(专利权)人:杭州绿鲸科技有限公司
类型:发明
国别省市:浙江;33

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

1