AUTOSAR RTE3 실습#
아래 그림은 RTE3 실습의 설계도 입니다.#

0. 목차#
- Project 생성
- VFB level
- RTE level
- C coding
- ECU Mapping
- ECU Extract
- ECU Configuration
- Generate & Build
1. Project 생성#
-
File→Import→General→Existing Projects into Workspace→Next선택

-
Base Project 선택 →
Copy projects into workspace체크 →Finish클릭

Copy projects into workspace는 원본 프로젝트 보존하고 workspace에서 실습하기 위함
2. VFB level#
-
Configuration → System → Swcd_App우클릭 →New → AUTOSAR File선택

-
Package name과 File name 입력 →
Finish클릭

-
생성한 AUTOSAR 파일 열기 → 화살표 클릭
-
App_Rte우클릭 →New→Application Sw Component Type선택

-
SWC 이름 설정:
SWC_SeatSwitch,SWC_SeatHeatingControl생성\Supports Multiple Instantiation: false

Interface 생성#
-
App_Rte[ARPACKAGE]우클릭 →New→Sender Receiver Interface선택

-
Short Name:
If_SeatSwitch설정,Is Service: false - Date Element 생성 :
New클릭 →boolean[/AUTOSAR...]선택
→ Short Name:PassengerDetected

SWC_SeatSwitch 설정#
-
Ports→+클릭 →Sender Receiver Interface→Sender→If_SeatSwitch선택


-
Short Name:
P_SeatSwitch→Communication Spec에서Enable Provided Com Specs체크

-
+클릭 →Client Server Interface→Client→IoHwAb_If_DigDir선택


-
Short Name 설정 →
Enable Provided Com Specs체크 →ReadDirect선택

SWC_SeatHeatingControl 설정#
-
Ports→+클릭 →Sender Receiver Interface→Receiver→If_SeatSwitch선택


-
Short Name:
R_SeatSwitch→Enable Provided Com Specs체크 -
Init Value->Numerical Value Specification체크sender에서는 init value 설정을 하지 않았지만 (보낼 땐 상관 없기 때문에) receiver에서는 초기값 설정이 필요함. 여기서는 0으로 설정하였음 \

-
+클릭 →Client Server Interface→Client→IoHwAb_If_DigDir선택


-
Short Name 설정 :
R_HeatingElement→Enable Provided Com Specs체크 →WriteDirect선택

CSWC 생성 및 연결#
-
App_Rte[ARPackage]우클릭 →New→Composition Sw Component Type선택 → Short Name:CSWC_SeatHeatingSystem


-
Components and Ports→+클릭 →SWC_SeatSwitch,SWC_SeatHeatingControl추가

-
Automatic Connection→+클릭

-
Respect Naming Rule,Identical Port Interface체크 상태에서 자동 연결 확인

3. RTE level#
Runnable 설정: SWC_SeatSwitch#
-
Runnables→+클릭 → Short Name:RE_SeatSwitch→ Symbol:SeatSwitch_func→Can Be Invoked Concurrently: false

-
RTE Event→Add→Timing Event선택 → 주기: 100ms



-
Operation/Mode/Trigger Access→Add→SSCP선택 →R_IO.ReadDirect연결


-
Data/Parameter Access→Add→Data Send Points선택 →P_SeatSwitch.PassengerDetected선택


Runnable 설정: SWC_SeatHeatingControl#
-
Runnables→+클릭 → Short Name:RE_SeatHeatingControl→ Symbol:SeatHeatingControl_func

-
RTE Event→Add→Data Received Event→R_SeatSwitch.PassengerDetected선택


-
Operation/Mode/Trigger Access→Add→SSCP→R_HeatingElement.WriteDirect선택


-
Data/Parameter Access→Add→Data Received Points By Arguments→R_SeatSwitch.PassengerDetected선택


4. C coding#
-
Static_Code→Reference_Code→src우클릭 →New → File선택 → 파일명:SeatSwitch.c,SeatHeatingControl.c생성


-
각각 코드 작성 후 저장

5. ECU Mapping#
Configuration→System→Composition→RootComposition.arxml->AUTOSAR->CSWC_RootComposition [Composition]더블클릭Components and Ports→+클릭 →CSWC_SeatHeatingSystem선택


> SWC를 따로 넣지 말고 묶음 단위(CSWC)로 넣기
6. ECU Extract#
-
Auto-Wiz→System Configuration & ECU Extract선택 →ECU Software Components Mapping클릭


-
Performs Flattening체크 →Apply클릭

7. ECU Configuration#
-
우측 상단 초록 아이콘 클릭 →
Generate ECU Configuration선택

-
Next→Service→Rte선택 →Next

Rte: Generate SwcInstance Configuration체크 →Finish클릭

Task Mapping#
-
우측 초록 아이콘 클릭 →
Rte선택

-
Task Mapping탭 →SwcInstance_SWC_SeatSwitch선택 →OsTask_ASW_FG1_100ms선택 →TE_RE_SeatSwitch선택 후Add

Task Mapping탭 →SwcInstance_SWC_SeatHeatingControl선택 →OsTask_BSW_FG3_ComMModeRequest선택 →DRE_RE_SeatHeatingControl_R_SeatSwitch_PassengerDetected선택 ->Add

스위치/LED 연결#
-
Service and I/O→P_IoHwAbDigitalDirectLogical_SW06선택 → 자동 연결+클릭

-
Respect Naming Rule해제 →R_IO선택

-
P_IoHwAbDigitalDirectLogical_LED_Red선택 → 자동 연결+클릭 →Respect Naming Rule해제 →R_HeatingElement선택


8. Generate & Build#
-
Build→Scons.arxml→AUTOSAR→AUTRON→SCons더블클릭 →All Contents클릭

-
Navigator의
Scons→RTSW→Generation→Module이동 →Rte더블클릭

-
Input Files List→Add..클릭
App_Rte입력 후Add클릭 → 추가되었는지 확인 \ 화면 왼쪽 상단의 망치 버튼(Build) 누르기