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

목차(실습 과정)#
- 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

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

-
Short Name:
If_SeatSwitch설정,Is Service: false - Date Element 생성 :
New클릭 →boolean[/AUTOSAR...]선택
→ Short Name:PassengerDetected, Type :boolean
Client Server Interface 생성#
-
App_Rte[ARPACKAGE]우클릭 →New→Client Server Interface선택

-
Short Name:
If_SeatHeatingControl설정,Is Service: false - Operations 생성 :
New클릭 → Short Name :HeatingOn→Argument+클릭 → Short Name:num, Type :uint32, Direction :IN\
> Direction에 따라 매개변수를 넘기는 방법이 달라짐\
In : CallByValue, Out : CallByReference
SWC_SeatSwitch 설정#
-
Ports→+클릭 →Sender Receiver Interface→Sender→If_SeatSwitch선택

-
Short name :
P_SeatSwitch→ Data Elements :PassengerDetected→Enable Required Com Specs체크
-
Ports→+클릭 →Client Server Interface→Server→If_SeatHeatingControl선택

-
Short name :
P_HeatingControl→ Operations :HeatingOn→Enable Required Com Specs체크
-
Ports→+클릭 →Client Server Interface→Client→IoHwAb_If_DigDir선택 →OK

-
Short name :
R_IO→ Operations :ReadDirect→Enable Required Com Specs체크
-
Ports→+클릭 →Client Server Interface→Client→IoHwAb_If_DigDir선택 →OK

-
Short name :
R_HeatingElement→ Operations :WriteDirect→Enable Required Com Specs체크
SWC_SeatHeatingControl 설정#
-
Ports→+클릭 →Sender Receiver Interface→Receiver→If_SeatSwitch선택

-
Short name :
R_SeatSwitch→ Data Elements :PassengerDetected→Enable Required Com Specs체크 → Init Value :Numerical Value Specification체크
-
Ports→+클릭 →Client Server Interface→Clinet→If_SeatHeatingControl선택

-
Short name :
R_HeatingControl→ Operations :HeatingOn→Enable Required Com Specs체크
CSWC 생성 및 연결#
-
App_Rte [ARPackage]에서 우클릭 →New→Composition Sw Component Type클릭
-
Short name :
CSWC_SeatHeatingSystem→Components and Ports클릭
-
+클릭 →SWC_SeatHeatingControl,SWC_SeatSwitch선택 →OK
-
Automatic Connection클릭 →R_HeatingControl선택 →+클릭
-
HeatingControl연결되어있는 것 확인 →OK
-
R_SeatSwitch선택 →+클릭 →SeatSwitch연결되어있는 것 확인 →OK
3. Rte level#
Runnable 설정: SWC_SeatSwitch#
-
Runnables→+클릭 → Short Name:RE_SeatSwitch→ Symbol:SeatSwitch_func→Can Be Invoked Concurrently: false

-
RTE Event→Add→Timing Event선택 → Period: 100ms



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

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


-
Runnables→+클릭 → Short Name:RE_HeatingControl→ Symbol:HeatingControl_func→Can Be Invoked Concurrently: false -
RTE Event→ADD클릭
-
Operation Invoked Event→P_SeatHeatingControl.HeatingOn선택 →OK
-
Operation/Mode/Trigger Access→Add→SSCP선택 →R_HeatingElement.WriteDirect선택 →OK

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

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


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

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

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) 누르기