Autosar Os新手入门
AUTOSAR OS 按照功能职责可划分为8 大核心模块,各模块相互协作,共同实现实时操作系统的完整功能。这些模块在 AUTOSAR 规范中被明确定义,确保不同厂商的 OS 实现具备一致性和兼容性。以下会根据各模块进行详细说明:
任务管理模块(Task Management)
任务
Autosar Os中的任务有两种:基本任务和拓展任务。
基本任务(Basic Task)
- 特点:执行完后自动进入挂起态,不能等待事件(无 “等待态”)。
- 适用场景:简单的周期性任务(如 “LED 闪烁”“日志打印”)。
- 生命周期:激活 → 运行 → 终止(挂起)。
扩展任务(Extended Task)
- 特点:可通过
WaitEvent
进入等待态,事件触发后自动激活,适合复杂逻辑。 - 适用场景:需要等待外部信号的任务(如 “等待 CAN 报文接收后处理”)。
- 关键区别:拥有 “等待态”,可通过事件(Event)驱动状态转换。
Tsak和OS-Application的关系
OS-Application的定义:Os-Application(简称 “应用”)是 AUTOSAR OS 中最小的隔离单元,本质是一组相关资源的集合,包含:任务(如 “传感器采集任务”“控制逻辑任务”);中断服务程序(ISR,如 CAT2 中断);资源(如专用内存缓冲区、硬件接口);计数器、闹钟等时间资源。
Task必须从属于某个Os-Application,不能独立存在。
一个Os-Application可以包含多个Task任务(如 “自动驾驶应用” 包含 “环境感知任务”“决策任务”“控制任务”),这些任务共享该应用的资源(如内存区域、权限),但受限于应用的隔离边界。
Os-Application的分类
Os-Application又可分为可信和不可信。
二者区别如下:
可信os-app:可调用所有 OS 服务,可访问其他应用的资源,安全限制少
不可信os-app:禁止调用特权服务,仅能访问自身专属的内存区域,调用 OS 服务时需通过 “陷阱机制”(Trap)由内核代劳,防止越权操作。
当一个os-app是可信时,并且系统通过显式配置对其授予了跨应用访问权限时,它可以访问其他 Os-Application 的资源。
中断管理模块(Interrupt Management)
Autosar Os中断分为两类:一类中断和二类中断。
任何中断的优先级都比任务高
Category 1(CAT1):快速响应中断
核心特点:
执行时间极短(通常微秒级),仅做最基础的硬件操作(如读取寄存器、清除标志);
禁止调用任何 OS 服务(如ActivateTask、GetResource),不能依赖 OS 调度;
优先级最高,不可被任务或 CAT2 中断抢占。
适用场景:对实时性要求极高的硬件响应(如电机过流保护、电源故障)。
Category 2(CAT2):可调度中断
核心特点:
可执行稍复杂的逻辑(如数据缓存、触发任务激活);
允许调用部分 OS 服务(如ActivateTask、ClearPendingInterrupt);
优先级低于 CAT1,但高于任务,可被 CAT1 中断抢占。