AVR-Autosar는 OSEK/VDX OS 및 Autosar OS 4.4 표준을 기반으로 AVR 마이크로 컨트롤러를위한 실시간 운영 체제입니다.
AVR-Autosar는 Autosar OS의 확장 성 클래스 1을 구현합니다.
AVR-AUTOSAR의 동기는 널리 사용 가능한 마이크로 프로세서에서 실행할 수있는 오토 사사 OS의 이해하기 쉬운 오픈 소스 구현을 만드는 것이 었습니다.
이 프로젝트는 University of Applied Sciences Dortmund의 최종 논문의 일부로 개발되었습니다.
이 프로젝트는 Atmel Studio 7과 Windows의 현재 AVR8-GCC-Toolchain으로 만들어졌습니다. 솔루션 및 프로젝트 파일은 저장소에 포함되어 있습니다.
시스템 구성은 AppCfg.h 에서 수행됩니다. 필요한 매크로는 include/CfgGenMacros.h 로 정의되고 문서화됩니다. 현재 릴리스의 문서는 여기에서 찾을 수 있습니다. 현재 문서를 생성하기 위해 제공된 DoxyFile을 사용할 수 있습니다.
응용 프로그램 코드는 App.c 에 배치됩니다.
이 저장소에는 운영 체제의 모든 기능을 테스트하기 위해 개발 중에 사용 된 ATMEGA1284 장치에 대한 테스트 응용 프로그램이 포함되어 있습니다. 예로 사용할 수 있습니다. 또한 AutosarOS/test 에서 테스트를 위해 여러 응용 프로그램이 제공됩니다.
운영 체제는 다음 장치로 테스트되었습니다.
Atmega-Family의 다른 마이크로 프로세서는 필요한 최소한의 작업으로 작동해야합니다.
개발 중에 트레이싱을위한 디버거 기반 시스템을 사용하여 프로그램 흐름을 기록했습니다.
Atmel Studio에 설정된 Tracepoints는 tracing.xml 파일에서 가져올 수 있습니다. ISRS의 TracePoints는 운영 체제 외부의 사용자 기능에 설정되어 있기 때문에 올바르게로드되지 않을 것입니다.
또한 errorInfo.id (쓰기 액세스)에 대해 데이터 tracePoint를 설정할 수 있습니다. 다음 인쇄 메시지는 추적 출력에서 주석을 생성하는 데 사용될 수 있으며, 이는 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 옵션은 비활성화되어야합니다.GetAlarmBase() 사용해야합니다.