null
vuild_
Nodes
Flows
Hubs
Login
MENU
GO
Notifications
Login
⌂
AUTOSAR 개발자 실전 가이드
Structure
overview
•
AUTOSAR가 필요한 이유
•
AUTOSAR 레이어드 아키텍처 구조
components
•
Core, Partition, OS Application 관계
•
SWC와 Runnable — 실행 단위 이해
rte-ports
•
P-Port, R-Port와 인터페이스 설계
•
Explicit vs Implicit Write — 언제 무엇을 쓰나
autosar-os
•
AUTOSAR OS Task와 ISR 설계
•
Alarm, Counter, Schedule Table 정리
•
OS Application과 메모리 보호 설정
spec-practice
•
MUST vs SHALL vs SHOULD — 스펙 용어 해석법
•
DET 에러 처리 — Det_ReportError와 RuntimeError
com-stack
•
ComSignal에서 PduR까지 — 신호가 CAN 프레임이 되는 경로
•
CanIf부터 CanNm까지 — CAN 통신 스택 계층 분리
diagnostics
•
DEM으로 DTC 관리하기 — 이벤트 상태와 고장 이력
•
DCM과 UDS 서비스 — 진단 통신의 실전 구조
ecum-bswm
•
EcuM 시동/종료 시퀀스 — ECU가 켜지고 꺼지는 순서
•
BswM 모드 전환 — 규칙 기반 상태 관리
nvm-schm
•
NvM 읽기/쓰기 패턴 — 비휘발성 메모리를 안전하게 다루는 방법
•
SchM Exclusive Area — 인터럽트와 Task 간 공유 자원 보호
Flow Structure
Prev
1 / 19
AUTOSAR 레이어드 아키텍처 구조
☆ Star
↗ Full
AUTOSAR가 필요한 이유
#autosar
#automotive
#embedded
#classic
#standard
@devpc
|
2026-05-04 12:39:25
|
GET /api/v1/flows/24/nodes/422?fv=1&nv=1
Context:
Flow v1
→
Node v1
0
Views
1
Calls
# AUTOSAR가 필요한 이유 ## 자동차 소프트웨어의 문제 2000년대 초반 자동차 한 대에 들어가는 ECU(Electronic Control Unit) 수는 30~50개 수준이었다. 지금은 100개가 넘는다. 각 ECU마다 다른 공급사, 다른 아키텍처, 다른 코딩 스타일. 이 상황에서 세 가지 문제가 반복됐다. 1. **코드 이식 불가** — A ECU용 소프트웨어를 B ECU로 가져가려면 처음부터 다시 써야 했다 2. **공급사 종속** — 특정 벤더의 BSW(Base Software)에 의존하면 교체가 어렵다 3. **테스트 비용** — 하드웨어 없이는 소프트웨어 테스트가 불가능했다 --- ## AUTOSAR의 해답: 레이어 분리 AUTOSAR는 이 문제를 **레이어 분리**로 해결했다. 하드웨어 종속 코드와 애플리케이션 로직을 명확하게 분리한다. ``` ┌─────────────────────────────────┐ │ Application Layer (SWC) │ ← 기능 로직, 하드웨어 독립 ├─────────────────────────────────┤ │ RTE (Runtime Environment) │ ← SWC 간 통신 미들웨어 ├─────────────────────────────────┤ │ Basic Software (BSW) │ ← 드라이버, OS, COM 스택 ├─────────────────────────────────┤ │ MCAL (Microcontroller Abstraction Layer) │ ← 레지스터 직접 접근 ├─────────────────────────────────┤ │ Hardware (MCU) │ └─────────────────────────────────┘ ``` 이 구조에서 SWC는 RTE API만 호출한다. 아래 레이어가 바뀌어도 SWC 코드는 그대로다. --- ## Classic vs Adaptive AUTOSAR | 구분 | Classic AUTOSAR (CP) | Adaptive AUTOSAR (AP) | |------|---------------------|-----------------------| | 대상 | 딥 임베디드 (엔진, 브레이크 등) | 고성능 컴퓨팅 (ADAS, V2X 등) | | OS | AUTOSAR OS (OSEK 기반) | POSIX (Linux 계열) | | 실행 모델 | 정적 태스크/알람 | 동적 서비스 오케스트레이션 | | 코드 생성 | 설정 기반 코드 자동 생성 | C++17, ara:: API | | 안전 등급 | ASIL D 달성 가능 | ASIL B~D 진행 중 | 실무에서 "AUTOSAR 한다"는 말은 대부분 **Classic AUTOSAR**를 의미한다. 이 Flow도 CP 기준이다. --- ## AUTOSAR 프로젝트의 실제 흐름 개발자가 실제로 접하는 작업 순서다. ``` 1. System 설계 (SWC 분할, Port 정의) ↓ 2. SWC description 작성 (.arxml) ↓ 3. RTE 코드 자동 생성 (툴: EB tresos, DaVinci, ISOLAR 등) ↓ 4. Runnable 구현 (생성된 스텁에 로직 채움) ↓ 5. BSW 설정 (OS Task 설정, COM Stack 설정 등) ↓ 6. 통합 빌드 → ECU 플래싱 ``` 핵심은 3번 단계다. 개발자가 직접 RTE 코드를 쓰지 않는다. 툴이 생성한다. 개발자는 생성된 인터페이스를 통해 기능을 구현한다. --- ## 표준 문서 찾는 법 공식 AUTOSAR 표준 문서는 [autosar.org](https://www.autosar.org) 에서 무료 다운로드 가능하다. 중요 문서: - **TPS_SoftwareComponentTemplate** — SWC/Port/Interface 정의 - **SWS_RTE** — RTE API 스펙 - **SWS_OS** — OS Task/ISR/Alarm API 스펙 문서 이름 앞의 **SWS**(Software Specification)는 구현 스펙, **TPS**(Template Specification)는 메타모델 정의, **TR**(Technical Report)는 설명 문서다.
Prev
AUTOSAR 레이어드 아키텍처 구조
// COMMENTS
Newest First
ON THIS PAGE
No content selected.