没有合适的资源?快使用搜索试试~ 我知道了~
AutoSar OS中文
需积分: 44 18 下载量 195 浏览量
2021-11-30
13:12:18
上传
评论 3
收藏 2.34MB DOC 举报
温馨提示
试读
64页
AutoSar OS中文
资源详情
资源评论
资源推荐
1. 简介及功能概述
本文件描述了 AUTOSAR 操作系统的基本要求,以满足 AUTOSAR SRS 0 提出的顶级要
求。
一般来说,操作系统可以根据它们的特性分为不同的组,例如静态配置 vs.动态管理。为了
分类 AUTOSAR 操作系统,这里是基本的特征:操作系统
是静态配置和伸缩的
易于推理实时性能
提供基于优先级的调度策略
在运行时提供保护功能(内存,时间等)
在没有外部资源的低端控制器上是否可托管
该特性集定义了当前一代汽车 ecu 中常用的操作系统类型,但 Telematic/Infotainment 系统
除外。假设信息通讯业务/信息娱乐系统将继续使用 AUTOSAR 框架下的专有操作系统(例
如 Windows CE、VxWorks、QNX 等)。在 AUTOSAR 组件需要在这些专有操作系统上运
行的情况下,本文档中定义的接口应该作为操作系统抽象层(OSAL)提供。
本文档使用行业标准 OSEK OS 0 (ISO 17356-3)作为 AUTOSAR OS 的基础。读者在阅读
本文件前应熟悉本标准。
本文档描述了 OSEK 操作系统的扩展和限制。
2. 约束和假设
2.1.存在的标准
本文件对参考的相关标准和规范作如下假设:
OSEK OS 0 提供了一个足够灵活的调度策略来调度 AUTOSAR 系统。
OSEK OS 0 是一个成熟的规范和实现,在全球数以百万计的 ecu 中使用。
OSEK OS 0 在运行时没有提供足够的支持来隔离多源软件组件。
OSEK OS 0 没有提供足够的运行时支持来证明在安全情况下缺乏某些类的故障传播。
OSEKtime OS 0 和 HIS Protected OSEK 0 是不成熟的规范,包含 AUTOSAR 必需的
概念,并满足特定的应用领域。本文件的目的是识别这些需求,并建议适当使用这些
规格的部分(或全部)。
2.2.术语
当需求指定多个术语时,规范使用以下操作符:
:对一个词的否定,如
:两个词的连词,如周末和星期六
OR:两个术语的分离,如星期一或星期二
一个包含多个术语的需求从左到右进行评估。
优先规则是:
最高优先级:NOT
最低优先级:AND OR
NOT X AND Y 的意思是(NOT X) AND (Y)
如果在同一个句子中使用相同优先级的操作符,则使用逗号来消除歧义。表达式 X AND Y,
OR Z 的意思是(X AND Y) OR Z。
2.3.与 RTE 的交互
系统 的配置将软件组件的可运行性映射到操作系统调度的一个或多个任务。
任务中的所有可运行对象共享相同的保护边界。在 中,软件组件不能包含中断处
理程序。因此,软件组件被实现为仅在任务体或任务集中执行的可运行程序。
可运行对象可以通过 访问硬件数据。 提供了可运行程序和基本软件模块
之间的运行时接口。基本软件模块还包括操作系统调度的一些任务和 。
假设软件组件模板和基本软件模块的描述提供了关于所需运行时行为的足够信息,从而能
够指定配置操作系统所需的任务属性。
2.4.操作系统抽象层(OSAL)
不使用 中定义的操作系统的系统可以使用操作系统抽象层为 软件组件
的执行提供平台。到 的接口与为 定义的接口完全相同。
2.5.多核硬件的假设
目前有几个针对多核微处理器的 。这些体系结构提供的特性有相当大的
变化。因此,本节试图捕获多核所需的公共架构特性集。硬件假设仍然是假设,不应成为
正式的 要求。
2.5.1. CPU 核特性
1. 在同一块硅上有多个核心。
2. 提供了一种方法,可以被 用来识别核心。
3. 硬件支持固定字长的原子读和原子写操作,具体取决于硬件。
4. 硬件支持一些原子的 Test-And-Set 功能或类似的功能,可用于构建内核之间共享的关
键部分。可能还存在其他原子操作。
5. 各核心可以具有相同的指令集;至少在所有核心上都有一个通用的基本指令集。特定于
核心的附加组件可能存在,但它们没有被考虑在内。
6. 两个核心具有相同的数据表示。例如,相同的整数大小,相同的字节和位序,等等。
7. 如果存在单核缓存,AUTOSAR 需要在 HW 或 SW 中支持 RAM - cache 一致性。在软
件中,意味着缓存控制器可以由 SW 以一种使缓存线路无效或从缓存中排除某些内存
区域的方式编程。
8. 如果出现异常(例如非法内存引用或除零),则异常发生在引入异常的核心上。
9. 出于通知的目的,可以在任何内核上触发中断/陷阱。
2.5.2. 存储特性
共享 RAM 可用于所有内核;至少所有的核心都可以共享相当一部分内存。
Flash 至少应该在所有核心之间共享。然而,如果可以对 Flash/RAM 进行分区,以便从内
核到 Flash 有单独的路径,则性能可以得到提高。
假设只有一个地址空间,至少在内存地址空间的共享部分是这样。
AUTOSAR 多核架构应该能够在支持或不支持内存保护的系统上运行。如果存在内存保护,
所有的核心都被基于硬件的内存保护覆盖。
2.5.3. 多核的局限性
在 AUTOSAR R4.0 中,在操作系统启动后,不支持在 AUTOSAR 控制下激活额外的
内核。
调度算法不会将任务动态分配给核心。
AUTOSAR OS 资源算法不支持跨内核。资源可以在本地使用,可以在绑定到同一核
的任务之间使用,但不能在绑定到不同核的任务/ isr 之间使用。
2.6.限制
2.6.1. 硬件
核心 AUTOSAR 操作系统假定可以自由访问硬件资源,这些资源由操作系统本身管理。这
包括但不限于以下硬件:
中断控制寄存器
进程状态字
栈指针
核心操作系统的特定扩展特性扩展了对硬件资源的需求。下面的列表概述了对硬件有需
求的特性。不使用这些操作系统特性的系统没有这些硬件要求。
内存保护!需要硬件内存保护单元。所有具有写入结果的内存访问例如,具有写入内
存位置副作用的读操作都应被视为写入。
时间保护:用于监视执行时间和到达率的定时器硬件。
"# 上的特权和非特权模式!保护操作系统免受操作系统控制寄存器的写入导致的内部
破坏。这种模式必须不允许操作系统应用程序绕过保护例如,写控制内存保护的寄存
器,写处理器状态字等。特权模式必须处于受保护的操作系统的完全控制之下,受保
护的操作系统在内部使用该模式,并将控制从不受信任的操作系统应用程序转移到受
信任的操作系统应用程序。微处理器必须支持将处理器移动到这种特权模式的受控方
式。
本地/全局时间同步:需要全局时间源。
通常,操作系统不会检测到处理器中的硬件故障。如果出现硬件故障,将无法保证操作系
统的正常运行。
由特定操作系统实现管理的资源必须在操作系统的适当配置文件中定义。
2.6.2. 编程语言
操作系统的 API 被定义为 C 函数调用或宏。如果使用了其他语言,它们必须适应 C 接口。
2.6.3. 其他
操作系统不提供动态内存管理服务。
2.7.适用于汽车领域
该操作系统与 $ 操作系统在尺寸和可伸缩性方面具有相同的设计约束。因此,当前的直
接适用领域是车身、底盘和动力总成 。但是,没有理由不能使用该操作系统来实现信
息娱乐应用的 。
3. 对其他模块的依赖
没有强制依赖于其他模块,但是:
假设操作系统可以直接使用计时器单元来驱动计数器。
如果用户需要直接从全局时间驱动调度,则需要全局时间中断。
如果用户需要将调度表的处理同步到全局时间,则需要使用 SyncScheduleTable()服
务将全局时间告知操作系统。
本文档中描述的 IOC 提供了 OSApplications 之间的通信。IOC 生成基于 RTE 生成器
生成的配置信息。另一方面,RTE 使用 IOC 生成的函数来传输数据。
3.1.文件结构
3.1.1. 代码文件结构
除了通用 SRS 的要求外,操作系统模块的代码文件结构并不是固定的。
剩余63页未读,继续阅读
刀刀客儿
- 粉丝: 4
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0