AVR-Autosar adalah sistem operasi real-time untuk mikrokontroler AVR berdasarkan standar OS OSEK/VDX dan Autosar OS 4.4.
AVR-Autosar mengimplementasikan skalabilitas kelas 1 dari OS Autosar.
Motivasi untuk AVR-Autosar adalah untuk menciptakan implementasi Open-Source OS yang mudah dipahami dari OS Autosar yang dapat dijalankan pada mikroprosesor yang tersedia secara luas.
Proyek ini dikembangkan sebagai bagian dari tesis akhir di University of Applied Sciences Dortmund.
Proyek ini dibuat dengan ATMEL Studio 7 dan AVR8-GCC-Toolchain saat ini di Windows. Solusi dan file proyek disertakan dalam repositori.
Konfigurasi sistem dilakukan di AppCfg.h . Makro yang diperlukan didefinisikan dan didokumentasikan dalam include/CfgGenMacros.h . Dokumentasi dari rilis saat ini dapat ditemukan di sini. Untuk menghasilkan dokumentasi saat ini, doxyfile yang disediakan dapat digunakan.
Kode aplikasi ditempatkan di App.c
Repositori berisi aplikasi pengujian untuk perangkat ATmega1284 yang digunakan selama pengembangan untuk menguji semua fitur sistem operasi. Ini dapat digunakan sebagai contoh. Selain itu, beberapa aplikasi disediakan untuk pengujian berdasarkan AutosarOS/test .
Sistem operasi diuji dengan perangkat berikut:
Mikroprosesor lain dari keluarga Amega harus bekerja dengan pekerjaan minimal yang diperlukan.
Selama pengembangan sistem berbasis debugger untuk penelusuran digunakan untuk mencatat aliran program.
TRACEPOINTS yang diatur di ATMEL Studio dapat diimpor dari file tracing.xml . Perhatikan bahwa titik tracep untuk ISRS mungkin tidak akan memuat dengan benar karena diatur pada fungsi pengguna di luar sistem operasi.
Selain itu, Data Tracepoint dapat diatur untuk errorInfo.id (Write Access) Jika informasi kesalahan digunakan. Pesan cetak berikut dapat digunakan untuk menghasilkan komentar di output jejak yang menunjukkan layanan OS apa yang disebut:
# {currentTask};{isISR} called $FUNCTION
Jejak yang dihasilkan harus terlihat seperti ini:
#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
Jejak mengikuti "format jejak yang lebih baik" untuk Osek dan dapat diimpor ke Eclipse Trace Compass.
Perhatikan bahwa cap waktu dihasilkan pada host bukan target! Ini berarti bahwa waktu absolut tidak dapat dipercaya. Oleh karena itu metode ini hanya boleh digunakan untuk melacak aliran program/urutan eksekusi.
-mrelax yang dapat diaktifkan secara otomatis oleh ATMEL Studio saat mengubah perangkat di pengaturan proyek harus dinonaktifkan untuk pengoperasian OS yang benar.GetAlarmBase() harus digunakan.