1.功能定義
- EM(Execution management): 負責處理系統(tǒng)中的進程管理,管理各個進程的創(chuàng)建和銷毀,掌握著各個APP的生殺大權(quán)。那么它的權(quán)力從何而來呢,是根據(jù)Manifest文件中的配置而成。另外EM還負責操作系統(tǒng)OS的初始化,與操作系統(tǒng)配合。
- SM(State Management) :看似和應(yīng)用層的APP狀態(tài)機類似,都是負責判斷條件和狀態(tài)跳轉(zhuǎn),但實際兩者并無關(guān)系。用于執(zhí)行FG的狀態(tài)變化,并且可以有多個狀態(tài)機。
- FG(Function Groups) :FG和SM一起使用,用于定義狀態(tài)。每個FG都存在OFF狀態(tài),他被SM所管理。每一個應(yīng)用層APP都應(yīng)該屬于一個FG狀態(tài)機,然后通過SM進行管理該APP。FG存在哪些狀態(tài)也是在Mainfest中定義的,比如我們可以定義OFF/ACTIVE/SLEEP...等等狀態(tài)作為一種FG。

AUTPSAR AP 架構(gòu) 圖來源于作者
2.關(guān)系
關(guān)于EM/SM/FG的關(guān)系, 用如下圖進行說明:
APP :在此圖中,ABCDEF分別代表不同進程,可以理解為不同的應(yīng)用層程序。
FG :在此圖中存在三個不同的FG:
- Machine State:包含OFF/Startup/Running/Diagnostics/Shutdown五個狀態(tài)。
- Function Group1 State:包含F(xiàn)G1:OFF/FG1:Running兩個狀態(tài)。
- Function Group2 State:包含F(xiàn)G2:OFF/FG2:Running/FG2:Fallback/FG2:Diag四個狀態(tài)。
SM :根據(jù)輸入輸出條件的變化,對上述FG中的狀態(tài)跳轉(zhuǎn)進行管理。也就是圖中的state transition部分的作用。
EM :每個進程的狀態(tài)分為Terminated/Running/Idle三種存活狀態(tài),由EM進行控制。直觀來說即圖中每個APP的曲線波動情況。
例如Machine為Startup狀態(tài)時,需要進程A和進程B是Running狀態(tài),而到Running狀態(tài)時,需要終止進程A,然后啟動進程C。

EM/SM/FG的關(guān)系 圖來源于知乎KimChan(侵刪)
3.實現(xiàn)
1.首先我們需要擁有一個任意的app程序,用來作為被管理對象。
2.使用Armxl配置文件的生成工具,生成所需要的配置,里面包括FG/SM/EM的相關(guān)配置。
3.將Armxl和AP的協(xié)議棧一起進行編譯。
4.run,EM能夠按照配置控制APP的存活。
-
控制器
+關(guān)注
關(guān)注
114文章
17658瀏覽量
190316 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
389瀏覽量
23522 -
狀態(tài)機
+關(guān)注
關(guān)注
2文章
497瀏覽量
28862
發(fā)布評論請先 登錄
AUTOSAR MCAL驅(qū)動程序與演示程序中的Libraries中的驅(qū)動程序有什么不同之處?
AUTOSAR是什么
為什么使用AUTOSAR呢
AUTOSAR的相關(guān)資料推薦
CP AUTOSAR EcuM的相關(guān)資料下載
SM2213EM LED線性恒流控制芯片中文數(shù)據(jù)手冊免費下載
AUTOSAR入門
NvM在AUTOSAR中的層次結(jié)構(gòu)
討論AUTOSAR方法中的軟件組件的概念
車載AUTOSAR中gPTP協(xié)議介紹
AUTOSAR架構(gòu)中復(fù)雜驅(qū)動設(shè)計

聊聊AUTOSAR中的EM、SM和FG
評論