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 中断抢占。

时间管理模块(Time Management)

计数器(Counter):系统的 "时钟"

计数器是单调递增的整数变量,由硬件定时器驱动,按固定频率递增(如每 1ms 加 1),为系统提供时间基准。

关键特性

计数周期:两次递增的时间间隔(如 1ms),由硬件定时器决定,精度固定;

溢出处理:达到MaxAllowedValue后归零,可配置OverflowHook处理溢出事件;

可读性:应用可通过 API 读取当前值(如GetCounterValue)。

计数器分类

系统计数器:OS 核心计数器(如SystemCounter),为调度表、时序保护提供基准;

用户计数器:应用自定义计数器(如SensorCounter),用于特定功能的定时。

计数器与闹钟的关系

一对一 / 多对一:一个计数器可关联多个闹钟(如SensorCounter可绑定 "采集闹钟" 和 "校验闹钟");

依赖关系:闹钟必须绑定到一个计数器,无法独立工作;

生命周期:计数器停止时,关联的闹钟也停止触发。

闹钟(Alarm):时间的 "触发器"

闹钟是基于计数器的定时触发器,当计数器达到预设值时,自动执行指定动作(如激活任务、设置事件)。

资源管理模块(Resource Management)

相关推荐
猪哥帅过吴彦祖7 小时前
从源码到可执行文件:揭秘程序编译与执行的底层魔法
操作系统·编译原理·编译器
千里镜宵烛12 小时前
深入理解 Linux 线程:从概念到虚拟地址空间的全面解析
开发语言·c++·操作系统·线程
OpenAnolis小助手2 天前
朗空量子与 Anolis OS 完成适配,龙蜥获得抗量子安全能力
安全·开源·操作系统·龙蜥社区·龙蜥生态
星创易联2 天前
车载网关助力无人配送车联网解决方案
车载系统·自动驾驶·车载以太网
墨夏3 天前
跨平台开发下的策略模式
设计模式·操作系统
fakerth3 天前
OpenHarmony介绍
操作系统·openharmony
程序员老刘4 天前
操作系统“卡脖子”到底是个啥?
android·开源·操作系统
有信仰4 天前
操作系统——虚拟内存和物理内存
操作系统
EriccoShaanxi7 天前
无人机如何靠陀螺仪保持稳定飞行?
车载系统·无人机