AVR-AUTOSAR เป็นระบบปฏิบัติการแบบเรียลไทม์สำหรับไมโครคอนโทรลเลอร์ AVR ตามมาตรฐาน OSEK/VDX และ Autosar OS 4.4
AVR-AUTOSAR ใช้ความสามารถในการปรับระดับ 1 ของ Autosar OS
แรงจูงใจสำหรับ AVR-Autosar คือการสร้างการใช้งานโอเพนซอร์สที่เข้าใจง่ายของระบบปฏิบัติการ Autosar ที่สามารถทำงานบนไมโครโปรเซสเซอร์ที่มีอยู่อย่างกว้างขวาง
โครงการได้รับการพัฒนาเป็นส่วนหนึ่งของวิทยานิพนธ์ขั้นสุดท้ายที่มหาวิทยาลัยวิทยาศาสตร์ประยุกต์ดอร์ทมุนด์
โครงการถูกสร้างขึ้นด้วย Atmel Studio 7 และ AVR8-GCC-Toolchain ปัจจุบันบน Windows โซลูชันและไฟล์โครงการรวมอยู่ในที่เก็บ
การกำหนดค่าของระบบจะทำใน AppCfg.h มาโครที่จำเป็นถูกกำหนดและจัดทำเอกสารใน include/CfgGenMacros.h เอกสารจากรุ่นปัจจุบันสามารถดูได้ที่นี่ ในการสร้างเอกสารปัจจุบันสามารถใช้ doxyfile ได้
รหัสแอปพลิเคชันถูกวางไว้ใน App.c
ที่เก็บประกอบด้วยแอปพลิเคชันทดสอบสำหรับอุปกรณ์ ATMEGA1284 ซึ่งใช้ในระหว่างการพัฒนาเพื่อทดสอบคุณสมบัติทั้งหมดของระบบปฏิบัติการ มันสามารถใช้เป็นตัวอย่าง นอกจากนี้ยังมีแอปพลิเคชันหลายรายการสำหรับการทดสอบภายใต้ AutosarOS/test
ระบบปฏิบัติการได้รับการทดสอบด้วยอุปกรณ์ต่อไปนี้:
ไมโครโปรเซสเซอร์อื่น ๆ ของครอบครัว Atmega ควรทำงานกับงานน้อยที่สุด
ในระหว่างการพัฒนาระบบที่ใช้ดีบั๊กสำหรับการติดตามถูกใช้เพื่อบันทึกการไหลของโปรแกรม
tracepoints ที่ตั้งอยู่ในสตูดิโอ Atmel สามารถนำเข้าจากไฟล์ tracing.xml โปรดทราบว่า tracepoints สำหรับ ISRS อาจจะไม่โหลดอย่างถูกต้องตามที่ตั้งไว้ในฟังก์ชั่นผู้ใช้นอกระบบปฏิบัติการ
นอกจากนี้ข้อมูล tracepoint ข้อมูลสามารถตั้งค่าสำหรับ errorInfo.id (การเข้าถึงการเขียน) หากมีการใช้ข้อมูลข้อผิดพลาด ข้อความการพิมพ์ต่อไปนี้สามารถใช้เพื่อสร้างความคิดเห็นในเอาท์พุทการติดตามซึ่งแสดงว่าบริการระบบปฏิบัติการใดที่ถูกเรียก:
# {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 ซึ่งอาจเปิดใช้งานโดยอัตโนมัติโดย Atmel Studio เมื่อเปลี่ยนอุปกรณ์ในการตั้งค่าโครงการจะต้องถูกปิดใช้งานเพื่อการทำงานที่ถูกต้องของระบบปฏิบัติการGetAlarmBase()