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