AUTOSAR經典平臺調試、跟蹤與分析支持
目錄
- 簡介
- ARTI核心擴展
- 核心特定ARTI擴展結構
- 核心參數定義
- 操作系統和任務擴展
- OS特定ARTI擴展
- 任務特定ARTI擴展
- 軟件組件特定擴展
- 總體架構
- 組件結構
- 接口定義
- 錯誤處理
- 默認錯誤跟蹤器(DET)
- 總結
1. 簡介
本文檔詳細描述了AUTOSAR經典平臺中對調試、跟蹤和分析功能的支持要求。AUTOSAR Run Time Interface (ARTI)為調試工具、跟蹤工具和分析工具提供了一種標準化的方式,用于訪問AUTOSAR系統內部狀態和行為。
ARTI擴展主要關注以下幾個方面:
- 核心特定擴展:訪問特定核心的狀態和參數
- 操作系統特定擴展:訪問OS的應用模式和狀態
- 任務特定擴展:訪問任務的狀態和執行信息
- 軟件組件特定擴展:訪問SWC的狀態和行為
通過這些擴展,開發者可以更有效地調試、跟蹤和分析AUTOSAR系統的運行狀態,提高開發效率和系統可靠性。
2. ARTI核心擴展
2.1 核心特定ARTI擴展結構
ARTI的核心特定擴展定義了一種機制,允許調試和跟蹤工具訪問與特定處理器核心相關的參數。這些參數對于多核系統中的調試和跟蹤尤為重要。
圖2.1 ARTI核心特定擴展結構圖
如圖2.1所示,ARTI核心擴展包含以下主要組件:
-
ARTICoreClass:核心類定義
- 定義了與特定核心相關的額外ARTI參數擴展
- 提供獲取當前應用、當前任務和最后錯誤的接口
-
ARTICoreInstance:核心實例
- 每個核心實例引用EcucCoreDefinition
- 負責提供特定核心參數的具體值
- 實現了評估當前應用、當前任務和最后錯誤的方法
-
Application:當前應用參數
- 表示特定核心上正在運行的應用
- 包含應用ID、名稱和狀態信息
-
Task:當前任務參數
- 表示特定核心上正在運行的任務
- 包含任務ID、名稱、優先級和狀態信息
-
Error:最后錯誤參數
- 表示特定核心上發生的最后一個錯誤
- 包含錯誤代碼、描述和時間戳信息
2.2 核心參數定義
根據RS_ARTICP_00001到RS_ARTICP_00004的需求規范,核心特定ARTI擴展支持以下關鍵參數:
-
當前應用參數(RS_ARTICP_00002)
- 定義:包含對特定核心上當前運行的應用的評估
- 用途:調試器和跟蹤工具需要了解當前應用以顯示和跟蹤核心活動
-
當前任務參數(RS_ARTICP_00003)
- 定義:包含對特定核心上當前運行的任務的評估
- 用途:調試器和跟蹤工具需要了解當前任務以顯示和跟蹤核心活動
-
最后錯誤參數(RS_ARTICP_00004)
- 定義:包含對特定核心上發生的最后一個錯誤的評估
- 用途:調試器和跟蹤工具需要了解最后錯誤以顯示和跟蹤核心活動
這些參數通過類實例的方法調用獲取,由具體的核心實例負責實現評估邏輯。
3. 操作系統和任務擴展
3.1 OS特定ARTI擴展
操作系統特定ARTI擴展定義了訪問OS狀態和參數的機制,這對于調試OS行為和監控系統狀態非常重要。
圖3.1 ARTI OS和任務特定擴展結構圖
如圖3.1所示,OS特定ARTI擴展包含以下組件:
-
ARTIOSClass:OS類定義
- 定義了與操作系統相關的額外ARTI參數擴展
- 提供獲取應用模式、OS狀態和定時器計數的接口
-
ARTIOSInstance:OS實例
- 每個OS實例引用EcucDefs/Os/OsOS
- 負責提供特定OS參數的具體值
- 實現了評估應用模式、OS狀態和定時器計數的方法
-
ApplicationMode:應用模式參數
- 表示操作系統當前的應用模式
- 包含ID、名稱和是否默認模式的信息
根據RS_ARTICP_00005和RS_ARTICP_00006的需求規范,OS特定ARTI擴展支持以下關鍵參數:
- 應用模式參數(RS_ARTICP_00006)
- 定義:包含對OS應用模式的評估,并引用EcucDefs/Os/OsAppMode
- 用途:調試器和跟蹤工具需要了解應用模式以顯示和跟蹤OS活動
3.2 任務特定ARTI擴展
任務特定ARTI擴展提供了訪問任務狀態和執行信息的機制,這對于分析任務行為和調試任務問題至關重要。
如圖3.1所示,任務特定ARTI擴展包含以下組件:
-
ARTITaskClass:任務類定義
- 定義了與任務相關的額外ARTI參數擴展
- 提供獲取棧使用情況、優先級、狀態和執行時間的接口
-
ARTITaskInstance:任務實例
- 每個任務實例引用EcucDefs/Os/OsTask
- 負責提供特定任務參數的具體值
- 實現了評估棧使用情況、優先級、狀態和執行時間的方法
-
TaskState:任務狀態參數
- 表示任務的當前狀態
- 包含狀態標識、是否可搶占和活動資源列表
根據RS_ARTICP_00007的需求規范,任務特定ARTI擴展支持任務實例參數,該參數引用EcucDefs/Os/OsTask并提供任務相關的評估信息。
3.3 軟件組件特定擴展
軟件組件特定擴展提供了訪問SWC狀態和行為的機制,對于分析組件交互和調試組件問題具有重要價值。
如圖3.1所示,SWC特定ARTI擴展包含以下組件:
-
ARTISWCInstance:SWC實例
- 每個SWC實例引用EcucDefs/Rte/RteSwComponentInstance
- 負責提供特定SWC參數的具體值
- 實現了評估組件狀態和可運行狀態的方法
-
SWCState:組件狀態參數
- 表示軟件組件的當前狀態
- 包含活動可運行實體列表和待處理事件列表
-
RunableStatus:可運行狀態參數
- 表示可運行實體的狀態
- 包含名稱、是否活動和執行時間信息
根據RS_ARTICP_00008的需求規范,SWC特定ARTI擴展支持SWC實例參數,該參數引用EcucDefs/Rte/RteSwComponentInstance并提供組件相關的評估信息。
4. 總體架構
4.1 組件結構
AUTOSAR Classic Platform中的調試、跟蹤和分析支持架構由多個組件組成,這些組件共同協作以提供全面的調試、跟蹤和分析能力。
圖4.1 AUTOSAR Classic Platform 調試、跟蹤和分析支持架構圖
如圖4.1所示,整體架構包含以下主要層次和組件:
-
外部工具
- 調試工具:用于調試AUTOSAR系統的外部工具
- 跟蹤工具:用于跟蹤AUTOSAR系統行為的外部工具
- 分析工具:用于分析AUTOSAR系統性能的外部工具
-
應用層
- 應用軟件組件:實現應用功能的軟件組件
- RTE:運行時環境,提供軟件組件間通信的基礎設施
-
基礎軟件層
- 系統服務
- ARTI Manager:管理所有調試、跟蹤和分析接口,協調各個擴展組件的工作
- Default Error Tracer (DET):提供標準化的錯誤檢測和報告機制
- OS服務
- OS:操作系統,提供任務調度和資源管理
- 任務管理:管理任務的創建、調度和終止
- MCU/ECU抽象
- MCU驅動:提供對底層硬件的訪問,支持調試和跟蹤功能
- 計時器:提供時間測量和定時服務
- 系統服務
-
ARTI擴展
- 核心ARTI擴展:提供對核心特定參數的訪問
- OS ARTI擴展:提供對OS特定參數的訪問
- 任務ARTI擴展:提供對任務特定參數的訪問
- SWC ARTI擴展:提供對SWC特定參數的訪問
4.2 接口定義
架構中定義了多個接口,用于外部工具與AUTOSAR系統的交互:
- 調試接口:允許調試工具訪問AUTOSAR系統內部狀態
- 跟蹤接口:允許跟蹤工具記錄和分析AUTOSAR系統的行為
- 分析接口:允許分析工具測量和評估AUTOSAR系統的性能
- 錯誤接口:提供對錯誤信息的訪問
- 參數接口:提供對系統參數的訪問
這些接口由ARTI Manager統一管理,各個擴展組件通過這些接口提供特定的功能和數據。
5. 錯誤處理
5.1 默認錯誤跟蹤器(DET)
默認錯誤跟蹤器(Default Error Tracer, DET)是AUTOSAR系統中錯誤檢測和報告的標準機制。DET提供了一種一致的方式來報告、記錄和處理在AUTOSAR模塊內部檢測到的開發和運行時錯誤。
默認錯誤跟蹤器的主要功能包括:
- 錯誤檢測:檢測模塊內部的錯誤情況
- 錯誤報告:提供標準化的錯誤報告機制
- 錯誤記錄:記錄錯誤信息,包括錯誤碼、模塊ID和實例ID
- 錯誤處理:支持對檢測到的錯誤進行處理
DET通過錯誤接口與ARTI框架集成,允許調試和分析工具訪問錯誤信息,從而幫助開發者識別和解決系統問題。
6. 總結
AUTOSAR Classic Platform的調試、跟蹤和分析支持為開發者提供了強大的工具,用于監控和分析AUTOSAR系統的行為。通過ARTI擴展機制,外部工具可以訪問系統內部狀態和行為,包括核心、OS、任務和SWC的相關信息。
主要優勢包括:
- 標準化接口:提供統一的方式訪問AUTOSAR系統
- 全面的覆蓋范圍:涵蓋核心、OS、任務和SWC等多個層面
- 靈活的擴展機制:允許根據需要添加特定參數
- 錯誤檢測與處理:提供標準化的錯誤檢測和報告機制
通過這些功能,AUTOSAR Classic Platform顯著提升了系統的可調試性、可跟蹤性和可分析性,為開發高質量的汽車電子系統提供了堅實的基礎。