admin管理员组

文章数量:1567923

Schedule Tables调度表

  • 1.调度表结构
  • 2.处理调度表
  • 3.重复处理调度表
  • 4.控制调度表处理

1.调度表结构

2.处理调度表

os允许同时处理多个调度表
操作系统的调度表应由一个counter驱动
os应首先处理到期点上所有任务的激活

3.重复处理调度表

1.single -shot:用于触发分阶段的动作序列以响应某些触发
2.repeating:构建重复处理的应用程序或需要同步处理到驱动程序源的系统
expiry point重复周期:调度表周期。
single-shot模式下,操作系统在处理完调度表Final Expiry Point后,将停止处理调度表Final Delay ticks。
如果调度表重复,在处理完Final Expiry Point后,操作系统应经过Final Delay 加上Initial Offset ticks后处理下一个Initial Expiry Point。

4.控制调度表处理

应用程序负责启动和停止调度表的处理
1.操作系统提供服务StartScheduleTableAbs() ,在底层计数器绝对值”Start“开始启动处理调度表。
(当计数器的值等于start+initialOffset,必须处理Initial expiry point)
2.操作系统提供服务StartScheduleTableRel() ,以在相对于底层计数器”Now“处值的”Offset“开始启动处理调度表。
(当计数器的值=now+offset+initialOffset,必须处理Initial expiry point)

3.操作系统提供服务StopScheduleTable(),在调度表运行时可以立即取消对调度表的处理。
4.请求切换调度表时,os应继续处理当前调度表上的expiry point。在Final Expiry Point后,在切换调度表之前,将出现等于Final Delay ticks的延迟。

调度表可以在操作系统模块启动期间自动启动(如OSEK OS的Tasks和Alarms)。OSEK OS定义一个特定的序列:在自动启动alrms之前执行Tasks的自动启动。AUTOSAR OS通过时间表对此进行了扩展。
1.在Tasks和Alarms自动启动后的startup中,os模块应执行调度表的自动启动。

本文标签: osAutoSARTablesschedule