목록전체 글 (102)
Automotive Software
멀티 코어 시스템에서는 한 프로세스에서 캐시를 통해 수정하는 공유 메모리의 데이터가 다른 프로세스에게도 동일하게 보이는 공유 데이터의 일관성이 중요한데, 이를 위해 ARM과 같은 최근 프로세서 구조에서는 소프트웨어의 복잡도를 줄이는 하드웨어 기반의 캐시 일관성 (Cache Coherence) 메커니즘을 제공한다. ARM의 경우, SCU (Snoop Control Unit)가 해당 기능을 위해 중심적인 역할을 하는데, 각 코어상의 캐시 움직임을 감시하고, 캐시상의 데이터가 공유 메모리상의 데이터와 일치하도록 하는 역할을 수행한다. 스누핑 : 하나의 프로세스가 메모리상의 데이터를 수정코저 할 때, 우선은 캐시상에 해당 데이터의 존재 및 일치성 여부를 확인하게 되는데, 이때 존재하지 않거나 공유 메모리상의 데..
하나의 기능 그룹은 내부적으로 정의된 상태에 따라 기능적으로 그룹화된 프로세스들을 제어하는데 사용되며, ModeDeclarationGroupPrototype을 통해 새로운 기능 그룹을 정의할 수 있다. ModeDeclarationGroup으로 정의된 하나의 객체를 ModeDeclarationGroupPrototype의 type으로 할당함으로써 하위 상태를 정의할 수 있는데, 하위 상태들은 ModeDeclarationGroup내의 ModeDeclaration을 통해 추가 할 수 있다. 예) MyFG 과 Off, Verify 그리고 Startup 추가시 FunctionGroupSet.functionGroup |-----> MyFG (ModeDeclarationGroupPrototype) Type","outp..
개관 클래식 오토사에 DET (Default Error Tracer)가 있다면 아답티브 오토사에는 하나의 기능군(Functional Cluster)에 속하는 Log and Trace 모듈(이하 LT) 이 있다. LT는 아답티브 애플리케이션에서 발생되는 기록 정보를 통신버스, 콘솔 또는 파일 시스템상에 저장할 수 있는 인터페이스를 제공한다. 기록 정보를 표준화된 방식으로 처리하기 위해 오토사에서 정의한 LT Protocol 이 사용되며, 이는 사용자 정보를 추가할 수 있게 함으로써 수신정보의 정렬 및 필터링을 가능하게 한다. 기능의 초기화는 ara::log 인터페이스 사용 전 ara::core::Initialize를 통해 반드시 이루어져야 하며, 종료는 ara::core::Deinitialize()를 통해..
매니페스트 (Manifest) 일반적으로 개방형 시스템에서 애플리케이션 배포 시 관련 메타데이터를 포함하는 파일 아답티브 오토사에서는 시스템 및 모듈에 대한 설정 정보를 담고 있는 파일로 최종적으로 변경된 포맷의 형태로 실행 파일과 함께 타깃상에 배치 실행 매니페스트 (Execution Manifest) 타깃상에 배치 가능한 소프트웨어 패키지에 대한 정의 통합시(Integration phase) 애플리케이션 배치를 위해 필요한 설정 정보가 개발자로 부터 제공 요구 조건 애플리케이션 설계 및 구현 묘사 통합 작업에 필요한 정보 애플리케이션 설계 및 개발에 필요한 정보 애플리케이션 서비스 (Provided and required services), 인터페이스 및 매핑에 대한 명세 진단능력 (Diagnosti..
아답티브 오토사 머신 별 필수인 MachineFG에 추가적으로, 기능 그룹 상태 (Function Group State)를 정의하면 해당 클러스터 내의 소프트웨어 개체들을 일관적으로 관리할 수 있다. 기능 그룹 상태를 통해 어떠한 프로세스들이 시작될 것인지 그리고 언제 SM이 EM으로부터 상태 천이를 요청할 것인지 정의할 수 있다. 만약, 하나의 프로세스가 어떠한 기능 그룹 상태도 참조하지 않는다면, 그 프로세스는 실행되지 않는다. 하나의 프로세스는 하나의 기능 그룹 내 다중 상태에서 구동되도록 설정할 수 있으나, 한 가지 유의할 점은 다른 상태로의 천이 시 실행 중이던 프로세스는 종료 후 다시 실행된다는 점이다. (이러한 이유로, 하나의 프로세스가 다중 기능 그룹에 할당되는 것을 제한한다.) 설계 또는..