AVR-AUTOSAR是基於OSEK/VDX OS和AutoSar OS 4.4標準的AVR微控制器的實時操作系統。
AVR-AUTOSAR實現AutoSar OS的可伸縮性1類。
AVR-AUTOSAR的動機是創建易於理解的AutoSar OS的開源實現,該實現可以在廣泛可用的微處理器上運行。
該項目是在多特蒙德大學的最終論文中開發的。
該項目是用Atmel Studio 7和Windows上當前的AVR8-GCC-Toolchain創建的。解決方案和項目文件包含在存儲庫中。
系統的配置在AppCfg.h中完成。必要的宏定義並記錄在include/CfgGenMacros.h中。當前版本的文檔可以在此處找到。為了生成當前文檔,可以使用提供的doxyfile。
該應用程序代碼放在App.c中。
該存儲庫包含用於ATMEGA1284設備的測試應用程序,該應用程序在開發過程中用於測試操作系統的所有功能。它可以用作示例。另外,還提供了多個應用程序,用於在AutosarOS/test下進行測試。
使用以下設備測試了操作系統:
Atmega-Family的其他微處理器應處理所需的最低工作。
在開發過程中,基於調試器的跟踪系統用於記錄程序流。
可以從tracing.xml文件導入Atmel Studio中設置的跟踪點。請注意,ISRS的跟踪點可能無法正確加載,因為它們設置在操作系統之外的用戶功能上。
此外,如果使用錯誤信息,則可以將數據跟踪點設置為errorInfo.id (寫入訪問)。以下打印消息可用於在跟踪輸出中生成評論,該輸出顯示了哪些OS服務:
# {currentTask};{isISR} called $FUNCTION
生成的痕跡應該看起來像這樣:
#version 1.0
# INVALID_TASK;0 called OS_StartOS
898158796,Core_0,0,T,Idle,0,activate
898158921,Core_0,0,T,Task1,0,activate
898159328,Core_0,0,T,Task1,0,start
# Task1;0 called Events_SetEvent
# Task1;0 called Task_TerminateTask
898167984,Core_0,0,T,Task1,0,terminate
898169140,Core_0,0,T,Idle,0,start
這些痕跡遵循Osek的“更好的跟踪格式”,可以將其導入Eclipse Trace Compass。
請注意,時間戳是在主機上生成的,而不是目標!這意味著絕對時間無法信任。因此,此方法僅應用於跟踪程序流/執行順序。
-mrelax選項,必須禁用OS的正確操作。GetAlarmBase()創建。