本文主要是介绍RTA_OS基础功能讲解 2.10-调度表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
RTA_OS基础功能讲解 2.10-调度表
文章目录
- RTA_OS基础功能讲解 2.10-调度表
- 一、调度表简介
- 二、调度表配置
- 2.1 同步
- 三、到期点配置
- 四、启动调度表
- 4.1 绝对启动
- 4.2 相对启动
- 4.3 同步启动
- 五、到期点处理
- 六、停止调度表
- 6.1 重新启动被停止的调度表
- 七、切换调度表
- 八、选择同步策略
- 8.1 隐式同步
- 8.2 显式同步
- 8.2.1 计数器约束
- 8.2.2 指定同步边界
- 8.2.2.1 调整范围
- 8.2.2.2 偏差
- 8.2.3 启动
- 8.2.4 同步调度表
- 8.2.4.1 到期点调整
- 8.2.5 同步
- 8.2.6 不使能同步
- 九、调度表状态
一、调度表简介
在警报器章节中,我们看到可以比较容易地构建需要周期性和非周期性行为的系统。但是,警报的一个限制是每个警报只能执行一个操作。如果你需要构建一个系统,其中有分阶段的任务激活序列,并保证在时间上有一定的间隔(时间间隔),那么你就需要非常小心地启动和停止警报。
虽然可以通过警报来构建这样一个系统,但除了通过代码审查之外,没有任何其他方法可以防止应用程序的时序属性在运行时被意外修改。此外,如果你想在一个时间点上定义多个任务激活,就不得不创建多个警报,而你真正想做的是通过一个警报激活多个任务。
AUTOSAR 操作系统通过提供一个名为调度表的操作系统对象来解决警报器的局限性。
调度表由一组到期点组成,这些到期点发生在从名义零点静态配置的偏移量上。偏移量是以静态绑定计数器的刻度来指定的,就像警报器的到期时间一样。调度表与警报器的主要区别在于,调度表上的到期点(彼此)保持相对间隔。在大多数情况下,这种间隔在构建时是固定的。不过,对于明确同步的调度表,这种间隔可以在预先配置的值范围内变化。调度表可以作为一个复合单元启动和停止,而且无论何时重新启动,到期点总是具有相同的相对执行行为:任何给定的 A 点总是紧跟在下一个 B 点之后。
调度表采用以下术语:
- Initial Offset
这篇关于RTA_OS基础功能讲解 2.10-调度表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!