• 172查看
  • 0回复

[Autosar] AUTOSAR AP——EM、SM和FG

[复制链接]


该用户从未签到

发表于 2-3-2024 14:20:00 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


聊聊AUTOSAR Adaptive Platform中的Execution Management、State Management和Function Group,以及他们之间的关系和实现。

1.功能定义
    EM(Execution management):负责处理系统中的进程管理,管理各个进程的创建和销毁,掌握着各个APP的生杀大权。那么它的权力从何而来呢,是根据Manifest文件中的配置而成。另外EM还负责操作系统OS的初始化,与操作系统配合。SM(State Management):看似和应用层的APP状态机类似,都是负责判断条件和状态跳转,但实际两者并无关系。用于执行FG的状态变化,并且可以有多个状态机。
    FG(Function Groups):FG和SM一起使用,用于定义状态。每个FG都存在OFF状态,他被SM所管理。每一个应用层APP都应该属于一个FG状态机,然后通过SM进行管理该APP。FG存在哪些状态也是在Mainfest中定义的,比如我们可以定义OFF/ACTIVE/SLEEP...等等状态作为一种FG。

AUTOSAR AP——EM、SM和FGw1.jpg
AUTPSAR AP 架构 图来源于作者
2.关系

关于EM/SM/FG的关系, 用如下图进行说明:

APP:在此图中,ABCDEF分别代表不同进程,可以理解为不同的应用层程序。

FG:在此图中存在三个不同的FG:

    Machine State:包含OFF/Startup/Running/Diagnostics/Shutdown五个状态。

    Function Group1 State:包含FG1:OFF/FG1:Running两个状态。

    Function Group2 State:包含FG2:OFF/FG2:Running/FG2:Fallback/FG2:Diag四个状态。

SM:根据输入输出条件的变化,对上述FG中的状态跳转进行管理。也就是图中的state transition部分的作用。

EM:每个进程的状态分为Terminated/Running/Idle三种存活状态,由EM进行控制。直观来说即图中每个APP的曲线波动情况。

例如Machine为Startup状态时,需要进程A和进程B是Running状态,而到Running状态时,需要终止进程A,然后启动进程C。

AUTOSAR AP——EM、SM和FGw2.jpg

EM/SM/FG的关系  图来源于知乎KimChan(侵删)

3.实现
1.首先我们需要拥有一个任意的app程序,用来作为被管理对象。

2.使用Armxl配置文件的生成工具,生成所需要的配置,里面包括FG/SM/EM的相关配置。

3.将Armxl和AP的协议栈一起进行编译。

4.run,EM能够按照配置控制APP的存活。

——————————————————

我见青山多妩媚,料青山见我应如是。

                             ——辛弃疾

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 1-2-2025 12:04 , Processed in 0.286945 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.