【技术实现步骤摘要】
一种嵌入式软件接口异步应用执行方法
[0001]本专利技术涉及计算机领域中用于监控系统的嵌入式软件接口异步轮转调度技术,特别适用于下级外围设备众多的嵌入式软件的异步参数查询与任务分发执行的场景。
技术介绍
[0002]目前,针对嵌入式监控软件常采用的调度执行方法为批处理系统中的调度算法,一般为先来先服务方法,有一个就绪的单一队列在执行任务。当存在复合任务等耗时较长的任务时,将长时间抢占周期性查询任务的执行队列,导致外围设备数据更新不及时,无法实现高效的嵌入式监控软件的任务执行工作。同时,部署了实时操作系统的嵌入式软件,则由于部分操作系统的非自主可控性、操作系统框架的冗余性和具有一定的移植门槛等特性,很大程度上影响了针对裸机嵌入式监控软件的应用领域。
技术实现思路
[0003]本专利技术的目的在于避免上述
技术介绍
中的不足之处而提供的一种嵌入式软件接口异步应用执行方法。本专利技术不需借助任何实时操作系统,具有可控性强,经济性好,移植便捷等优点,解决了传统裸机嵌入式软件离开实时操作系统后针对监控软件系统参数采集与任务执行并发时没有调度算法,执行不高效,以及实时操作系统存在一定的可控性风险,经济性差,移植慢的难题。
[0004]为了实现上述目的,本专利技术采用的技术方案为:
[0005]一种嵌入式软件接口异步应用执行方法,用于监控外围设备的设备状态,包括以下步骤:
[0006](1)将异步任务分为查询类周期事件Events
cycle
以及突发任务类随机事件Event< ...
【技术保护点】
【技术特征摘要】
1.一种嵌入式软件接口异步应用执行方法,其特征在于,用于监控外围设备的设备状态,包括以下步骤:(1)将异步任务分为查询类周期事件Events
cycle
以及突发任务类随机事件Event
random
;其中,周期事件Events
cycle
具有参数:应答ID、调用周期、超时时间、发送回调函数指针、应答回调函数指针、发送数据头指针、数据长度、运行标志、定时器;随机事件Event
random
具有参数:设置ID、应答ID、超时时间、发送回调函数指针、应答回调函数指针、发送数据数组、数据长度、运行标志、等待标志、定时器、用户数据指针;(2)定义单个外围设备的循环核心任务句柄结构体,句柄结构体中包括如下参数:随机事件Event
random
、周期事件Events
cycle
、周期事件个数random_cnt、操作间隔OPT
inter
、操作间隔定时器timer
inter
、等待操作间隔标志wait_flag
inter
,其中,操作间隔OPT
inter
用于指示外围设备最小允许操作的时间间隔;(3)外围设备任务开始前注册各外围设备的句柄结构体,清空各个周期事件Events
cycle
的运行标志和定时器,并装载周期事件Events
cycle
的应答ID、调用周期、超时时间、发送与应答回调函数、发送数据头指针、数据长度;(4)将各外围设备的句柄结构体指针指向核心任务运行模块的全局变量以等待轮转调度,核心任务运行模块进行轮转调度的具体方式为:(401)设定单步运转时间片T
step
=10ms;(402)时间片轮转到某一外围设备时,执行其核心任务,具体方式为:针对该外围设备的句柄结构体,判断随机事件Event
random
是否正在运行,若不在运行中则不做任何操作,若在运行中,则增加其定时器时间,然后判断定时器增加后的运行时间,若超时则进入应答回调函数,入参包含超时指示,并将运行标志置FASLE,不超时则不进行任何操作;遍历每个已注册的周期事件Events
cycle
,判断其是否正在运行,若不在运行中则不做任何操作,若在运行中,则增加其定时器时间,然后判断定时器增加后的运行时间,若超时则进入应答回调函数,入参包含超时指示,并将运行标志置FASLE,清零其定时器,不超时则不进行任何操作;判断句柄结构体中等待操作间隔标志wait_flag
inter
是否在等待,若在等待中则增加其操作间隔定时器timer
inter
,若已大于操作间隔OPT
inter
,则将等待操作间隔标志wait_flag
inter
置FALSE,并进入内部调度函数执行周期事件;若未在等待操作间隔,则直接进入内部调度函数执行周期事件;(5)外围设备根据核心任务运行模块的调度执行突发任务类随机事件,具体方式如下:(501)根据运行标志和等待标志判断是否存在随机事件Event
‘
random
正在运行或等待被执行,如果有则返回执行失败;(502)设定一局部变量随机事件运行标志Local_Flag
cycle_run
,将随机事件运行标志Local_Flag
cycle_run<...
【专利技术属性】
技术研发人员:葛声扬,胡婧,张子燕,
申请(专利权)人:中国电子科技集团公司第五十四研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。