https://www.autosar.org/fileadmin/standards/R22-11/CP/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
이미지는 위의 링크 참조

- ASW(Application SW) : OEM이나 부품사 고유 핵심기능 구현 부분.
- 제품을 컨트롤하기 위한 실질적 로직 구현 영역.
- 하드웨어로부터 독립적(MCU가 바껴도 재사용 가능).
- Software Component(SWC) 로 구성됨.
- SWC가 포함해야 하는 정보:
SWC명, Runnable(소프트웨어 컴포넌트 내부에 정의된 함수. 하나의 SWC안에 여러 개의 러너블 추가 가능), Port(외부와 소통하기 위한 인터페이스 등)
→ 이런 내용들이 전부 arxml 형태로 정의.
- SWC가 포함해야 하는 정보:
- RTE : ASW와 BSW를 연결하기 위한 영역(직접구현X, Tool에서 코드 제너레이션으로 제공).
- BSW : 여러 제어기들이 공통적으로 사용하는 기능 표준화해서 모아둔 영역.
- 하드웨어에 의존적인 부분을 담당하여 Application SW를 하드웨어에서 분리.
SWC 개발
1. SWC 생성(+ Runnable 설계)
2. Port 생성
3. 상호작용이 필요한 다른 SWC 또는 BSW 영역을 포트를 통해 연결
=> Autosar Authoring Tool 로 작업. 작업산출물은 arxml 파일.
- Authoring Tool : App SWC, Port, Port 연결 등을 설계하는 툴
- BSW Configuration Tool : BSW 영역을 작업하는 툴
Runnable
: SWC의 동작을 정의하는 함수(유저가 SWC를 통해서 구현하려는 기능을 러너블 내부에 구현해서 사용)
1. 러너블 추가
- Runnable 속은 비어있으므로 내부코드 구현은 개발자가 직접 해야 함.
2. 이벤트 세팅 (러너블이 호출될 조건)
- 러너블 내부의 기능 구현은 사용자가 하지만, 러너블을 호출하는 코드를 사용자가 직접 구현X(툴을 통해 생성된 RTE코드와 OS에 의해 구현되기 때문)
→ Authoring 툴로 러너블 설계시 각 러너블이 실행될 조건도 설계 필요(Event)
ex) Init, Timing, Data Recevied, AsynchronousServerCallReturnsEvent 등
3. OS Task 생성 및 기타 설정
- OS모듈: 러너블들을 호출해서 소프트웨어 실행을 전체적으로 통제하는 역할
4. Task 매핑
- Runnable에 이벤트를 세팅된 이벤트들을 OS와 연결해주는 Configuration(설정) 작업을 추가로 해줘야 함.
※ OS는 BSW 모듈이라 Authoring툴이 아니라 BSW Configuration 툴을 이용해야 함.
Port
: 외부의 SWC와 소통하기 위한 통로 역할 (AUTOSAR에서는 포트를 통해서만 다른 SWC와 소통하도록 정의되어 있음)
→ 포트를 만드어서 Code Generation시 RTE API가 생성.
1. 포트 설계
- 포트에 대한 각종 세부사항 설계
2. SWC에 포트 추가
3. 컴포지션 상에서 포트 연결
- 컴포넌트들을 컴포지션에 올려두고 컴포지션 상에서 포트 연결.
SWC Type
: 아직 컴포지션 상에 올라가지 않은 상태의 SWC.(≈건물 설계도)
SWC ProtoType
: 실제로 SWC를 프로젝트에서 사용하기 위해 컴포지션 상에 올려놓은 SWC. (≈설계도를 이용해 지은 건물)
※ SWC Type의 내용이 변경되면, SWC Prototype에도 자동으로 적용.
'AUTOSAR' 카테고리의 다른 글
| AUTOSAR Port(3) - Client Server Inferface (0) | 2025.07.14 |
|---|---|
| AUTOSAR Port(2) - Sender Receiver Inferface (0) | 2025.07.10 |
| AUTOSAR Port(1) (0) | 2025.07.10 |
| CAN통신, LIN통신, DBC, LDF (4) | 2025.07.09 |
| MCU, Micro Controller Unit (마이크로 컨트롤러 유닛) (1) | 2025.07.09 |