AUTOSAR AP执行管理-概述

执行管理是AUTOSAR高级部分(AP)的关键组件,负责系统初始化、应用的启动和停止。它基于manifest文件执行操作,管理平台和应用生命周期。在系统启动时,执行管理(EM)作为初始进程加载,随后按顺序启动应用。EM确保确定性执行,提供时间与数据确定性的支持,并限制资源使用以防止干扰。此外,EM还涉及应用恢复和可信平台构建,确保可执行文件的合法性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是执行管理

执行管理是AP的一个功能组件,负责平台初始化和应用的启动/停止,它基于一个或多个manifest文件来执行上述动作,比如可执行程序何时启动,在哪启动

系统启动

当机器启动之后,OS会初始化EM作为初始进程,EM再加载其他的功能组,当平台基础组件运行起来之后,EM再根据Machine Manifest和Execution Manifest来按顺序启动平台应用和普通应用

AP的应用以进程为单位,启动指的就是启动一个进程

执行管理的功能

  1. 平台生命周期管理

EM作为AP平台启动的一部分被启动,负责AP平台和部署的应用初始化

2. 应用生命周期的管理

EM负责按顺序启动和停止部署的应用,基于Machine Manifest和Execution Manifest,从配置的应用依赖关系得出启动/停止的顺序

基于机器状态和功能组状态,应用可能在机器启动阶段被执行,也可能是之后的某些阶段,可预见的是许多应用都不会立即执行

EM不负责应用的运行时调度,这是OS的工作,然而,EM负责初始化/配置OS来使它能执行必要的运行时调度(信息从Manifest中来)

确定性执行

确定性执行提供了一种机制:使用一个给定的输入数据集,在规定时间内总是给出相同的输出

个人理解:要理解确定性执行,首先要知道程序运行中哪些是不确定的,时间上的不确定(有时执行快,有时执行慢),资源上的不确定(动态内存分配,线程分配等)和其他随机的不确定性

EM提供了时间确定性和数据确定性,前者指的是在截止时间前总是能产生输出,后者说的是输出和内部状态总是相同

EM提供的支持集中在数据确定性上,因为时间确定性可以由提供充足的资源来处理

EM提供了一组确定性客户端API来支持控制进程内循环,一个确定的线程池,激活时间戳和随机数

进一步地,确定性执行可选支持软件锁步,冗余地执行应用,并对结果进行比较

资源限制

AP平台允许在同一个机器上执行多个应用,因此确保要确保它们之间不受干扰

行为不正当的程序在影响其他程序方面应该被限制,例如,一个程序应避免消耗多于配置的CPU资源,这会影响其他应用

EM支持通过配置进程资源组来避免干扰,每个资源组可能对CPU时间或内存进行限制

应用恢复

EM负责基于状态的进程启动/停止的管理,所以它有 特殊的权限来启动和停止进程

PHM监测进程,当不符合预期时,可以触发一个恢复动作,这个恢复动作在Execution Manifest中进行配置

可信平台

为了保证系统功能的正常,确保可执行文件的合法来源是很重要的

实现可信平台的关键属性是信任根,信任根通常是存储在安全环境中的一个公钥,比如存在不可修改的持久化区域内或在HSM(硬件安全模块)内

系统设计者负责确保系统开始于信任根,直到EM模块被加载

基于系统设计者选择的机制,整个系统的完整性和可信度可能在启动时都被检查过,但如果系统设计者只确保了已经执行过的程序的完整性和可信度,那么EM在控制整个系统时就要担负起相应的职责,继续信任链的建立,这需要集成者正确配置EM

一个例子:从信任根传递信任到OS和AP,可能看起来是这样的:

  1. 信任根作为一个可信任的实体,在bootloader启动之前认证bootloader,在boot过程中的每一个子步骤,要启动的可执行程序都应该首先被认证,认证检查应该由已经认证过的实体来进行,比如先前启动过的可执行程序,或一些外部实体(HSM等)
  2. 当OS被认证启动后,它应该加载EM作为它的第一个进程,在EM启动之前,OS需要确保EM的认证已经完成,是一个可信的实体
  3. EM现在肩负起了认证应用的责任,有多种机制来检查完整性和可信度

### AUTOSAR 网络管理中 PNC-WAKEUP-DATA-MASK 的配置与定义 #### 背景介绍 AUTOSAR(Automotive Open System Architecture)是一种标准化的汽车软件架构设计方法,旨在提高车载电子系统的开发效率和灵活性。在网络管理方面,AUTOSAR 提供了一种分布式直接网络管理模式,其中每个节点通过 CAN 总线上的特定消息来管理和同步自身的网络状态[^1]。 部分网络集群(Partial Network Cluster, PNC)是 AUTOSAR 中的一个重要概念,用于支持动态激活和去活化某些功能组的功能簇成员 ECUs。这种机制允许车辆中的不同子系统根据实际需求进入休眠或唤醒状态,从而优化功耗并延长电池寿命[^2]。 #### PNC-WAKEUP-DATA-MASK 的作用 PNC-WAKEUP-DATA-MASK 是一种掩码配置参数,在 AUTOSAR 网络管理系统中被用来过滤接收到的唤醒信号数据包的内容。具体而言: - **目的**: 它帮助区分哪些比特位的数据变化可以触发 PNC 成员从睡眠模式切换到活动模式。 - **工作原理**: 当某个 ECU 接收到来自总线的唤醒请求帧时,会利用此掩码对比特序列进行逻辑运算,判断是否有足够的条件满足唤醒标准。只有当指定位置上发生了预期的变化后,ECU 才会被真正唤醒[^3]。 #### 配置过程概述 为了正确实施基于 PNC 的唤醒机制,开发者需要完成以下几个方面的设定: 1. **确定目标硬件平台特性** - 明确所使用的微控制器及其外设接口能力,比如 GPIO 引脚分配情况以及它们如何映射至物理层连接线路之上。 2. **创建基础软件组件实例** - 借助 ARXML 文件描述符建立必要的通信实体对象模型结构,包括但不限于 NM-PDU 和关联传输路径设置等细节信息[^4]. 3. **调整高级别的应用级属性选项** - 设置诸如 `CanIfRxPduId`, `ComStackConfig` 或者其他类似的高层抽象变量值以便于后续操作流程顺利执行. 以下是简化版伪代码展示了一个可能涉及上述提到的一些关键要素的例子: ```c // Example configuration snippet demonstrating usage of wakeup mask within an AUTOSAR environment. typedef struct { uint8_t pncWakeupDataMask; // Mask applied to incoming wake-up data bits. } CanNm_ConfigType; void configureNetworkManagement(CanNm_ConfigType* config) { /* Assume default initialization values here */ // Apply custom-defined bit pattern as per system requirements. config->pncWakeupDataMask = CUSTOM_DEFINED_WAKEUP_PATTERN; } ``` #### 结论 综上所述,PNC-WAKEUP-DATA-MASK 在 AUTOSAR 架构下的网络管理体系里扮演着至关重要的角色——它不仅能够精确控制何时何地启动设备恢复程序,而且还能有效减少不必要的资源消耗现象发生几率。因此合理规划此类技术细节对于构建高效可靠的现代汽车信息系统至关重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值