1.功能定義
- EM(Execution management): 負(fù)責(zé)處理系統(tǒng)中的進(jìn)程管理,管理各個(gè)進(jìn)程的創(chuàng)建和銷毀,掌握著各個(gè)APP的生殺大權(quán)。那么它的權(quán)力從何而來呢,是根據(jù)Manifest文件中的配置而成。另外EM還負(fù)責(zé)操作系統(tǒng)OS的初始化,與操作系統(tǒng)配合。
- SM(State Management) :看似和應(yīng)用層的APP狀態(tài)機(jī)類似,都是負(fù)責(zé)判斷條件和狀態(tài)跳轉(zhuǎn),但實(shí)際兩者并無關(guān)系。用于執(zhí)行FG的狀態(tài)變化,并且可以有多個(gè)狀態(tài)機(jī)。
- FG(Function Groups) :FG和SM一起使用,用于定義狀態(tài)。每個(gè)FG都存在OFF狀態(tài),他被SM所管理。每一個(gè)應(yīng)用層APP都應(yīng)該屬于一個(gè)FG狀態(tài)機(jī),然后通過SM進(jìn)行管理該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)系, 用如下圖進(jìn)行說明:
APP :在此圖中,ABCDEF分別代表不同進(jìn)程,可以理解為不同的應(yīng)用層程序。
FG :在此圖中存在三個(gè)不同的FG:
- Machine State:包含OFF/Startup/Running/Diagnostics/Shutdown五個(gè)狀態(tài)。
- Function Group1 State:包含F(xiàn)G1:OFF/FG1:Running兩個(gè)狀態(tài)。
- Function Group2 State:包含F(xiàn)G2:OFF/FG2:Running/FG2:Fallback/FG2:Diag四個(gè)狀態(tài)。
SM :根據(jù)輸入輸出條件的變化,對上述FG中的狀態(tài)跳轉(zhuǎn)進(jìn)行管理。也就是圖中的state transition部分的作用。
EM :每個(gè)進(jìn)程的狀態(tài)分為Terminated/Running/Idle三種存活狀態(tài),由EM進(jìn)行控制。直觀來說即圖中每個(gè)APP的曲線波動(dòng)情況。
例如Machine為Startup狀態(tài)時(shí),需要進(jìn)程A和進(jìn)程B是Running狀態(tài),而到Running狀態(tài)時(shí),需要終止進(jìn)程A,然后啟動(dòng)進(jìn)程C。
EM/SM/FG的關(guān)系 圖來源于知乎KimChan(侵刪)
3.實(shí)現(xiàn)
1.首先我們需要擁有一個(gè)任意的app程序,用來作為被管理對象。
2.使用Armxl配置文件的生成工具,生成所需要的配置,里面包括FG/SM/EM的相關(guān)配置。
3.將Armxl和AP的協(xié)議棧一起進(jìn)行編譯。
4.run,EM能夠按照配置控制APP的存活。
-
控制器
+關(guān)注
關(guān)注
112文章
16385瀏覽量
178378 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
362瀏覽量
21618 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
492瀏覽量
27557
發(fā)布評論請先 登錄
相關(guān)推薦
評論