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。
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。
EM/SM/FG的關系 圖來源于知乎KimChan(侵刪)
3.實現
1.首先我們需要擁有一個任意的app程序,用來作為被管理對象。
2.使用Armxl配置文件的生成工具,生成所需要的配置,里面包括FG/SM/EM的相關配置。
3.將Armxl和AP的協議棧一起進行編譯。
4.run,EM能夠按照配置控制APP的存活。
-
控制器
+關注
關注
112文章
16433瀏覽量
178962 -
AUTOSAR
+關注
關注
10文章
363瀏覽量
21707 -
狀態機
+關注
關注
2文章
492瀏覽量
27614
發布評論請先 登錄
相關推薦
評論