EB tresos Classic AUTOSAR:
OS 介紹及應用
深入解析 AUTOSAR OS,涵蓋任務管理、中斷處理、調度機制與系統保護,確保車輛系統的即時性與安全性。
本篇文章基於 Elektrobit 提供的「AUTOSAR OS 介紹及應用」影片內容整理。作業系統 (OS) 是即時系統的重要模組,對於汽車即時控制系統,作業系統的功能和效能直接決定整個系統的即時性和安全性。在 AUTOSAR 體系架構中,OS 一直是關注的重點,從 OSEK OS 發展到 AUTOSAR OS,既有繼承部分也有新增部分。
該影片中 Elektrobit 講師深入淺出地為大家介紹 AUTOSAR OS 的主要內容,訓練主要分為四個部分:OS 簡介、OS 的詳細概述、OS 主要特性和 OS 的特性應用。
1. AUTOSAR OS 的起源與特性
AUTOSAR OS 並非憑空產生,它是基於成功的 OSEK/VDX 規範發展而來,並為了因應現代汽車電子需求增加了更多擴展功能:
-
memory
靜態配置: 與通用作業系統(如 Windows/Linux)不同,AUTOSAR OS 的任務數量、優先級和資源分配在編譯前就已經完全確定,運行期間無法動態創建任務,這保證了系統的高可靠性。
-
timer
實時性 (Real-time): 採用基於優先級的調度算法,確保關鍵任務能在嚴格的時間限制內完成。
2. 任務管理:Basic Task 與 Extended Task
OS 的核心是管理「任務(Task)」。影片強調了兩者的關鍵區別:
Basic Task (基本任務)
- 狀態簡單:只有暫停 (Suspended)、就緒 (Ready) 和運行 (Running)。
- 特點:執行路徑單一,一旦開始運行,除非被更高優先級任務搶佔或自行結束,否則不會停止。
Extended Task (擴展任務)
- 狀態增加:增加「等待 (Waiting)」狀態。
- 特點:可以暫停執行以等待某個事件(Event),適合處理邏輯較複雜、需同步外部信號的場景。
3. 中斷處理:ISR1 與 ISR2
OS 對硬體中斷的處理分為兩類,這直接影響系統的響應速度與穩定性:
flash_on 一類中斷 (Category 1, ISR1)
管理方式:不經過 OS 管理,直接跳轉執行。
優點:開銷極小,延遲最低。
限制:不能調用任何 OS API,適用於極高頻且簡單的硬體觸發。
sync 二類中斷 (Category 2, ISR2)
管理方式:受 OS 框架管理。
優點:可以安全地觸發任務或設置事件,實現中斷與任務間的同步。
4. 時間與調度機制
為了實現週期性操作,OS 提供了一套完整工具:
Counters (計數器)
系統時間的基礎,通常由硬體定時器驅動。
Alarms (警報)
當計數器達到設定值時,觸發特定動作(如啟動任務)。
Schedule Tables (調度表)
將多個動作封裝在一個時間序列中,精確地控制多個任務的相位差。
5. 系統保護機制 (Protection)
在高等級的 ASIL 需求下,OS 提供了強大的保護功能以防止故障擴散:
-
shield
記憶體保護 (Memory Protection): 防止任務非法存取不屬於自己的記憶體區域。
-
hourglass_disabled
時間保護 (Timing Protection): 監控任務是否執行超時,防止某個任務卡死導致整個系統癱瘓。
-
layers
堆疊監控 (Stack Monitoring): 檢測堆疊溢出,確保數據完整性。
6. 實際應用流轉
在 EB tresos 等工具中,開發者會將應用層定義的 Runnables (可運行實體) 映射到 OS 的 Tasks 中,並配置 Alarms 來驅動這些 Task 週期性執行。最終,OS 生成的代碼會與底層硬體抽象層(MCAL)緊密結合,驅動整個 ECU 的運行。
這篇文章總結了影片中關於 OS 的核心技術框架。從靜態配置到多層級的保護機制,AUTOSAR OS 為車輛的安全與精確控制提供了最底層的保障。