Skip to content

AUTOSAR RTE3 실습#

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

그림

0. 목차#

  1. Project 생성
  2. VFB level
  3. RTE level
  4. C coding
  5. ECU Mapping
  6. ECU Extract
  7. ECU Configuration
  8. Generate & Build

1. Project 생성#

  • FileImportGeneralExisting Projects into WorkspaceNext 선택
    1-1

  • Base Project 선택 → Copy projects into workspace 체크 → Finish 클릭
    1-2
    1-3

    Copy projects into workspace는 원본 프로젝트 보존하고 workspace에서 실습하기 위함


2. VFB level#

  • Configuration → System → Swcd_App 우클릭 → New → AUTOSAR File 선택
    2-1

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

  • 생성한 AUTOSAR 파일 열기 → 화살표 클릭

  • App_Rte 우클릭 → NewApplication Sw Component Type 선택
    2-3

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

Interface 생성#

  • App_Rte[ARPACKAGE] 우클릭 → NewSender Receiver Interface 선택
    2-5

  • Short Name: If_SeatSwitch 설정, Is Service: false

  • Date Element 생성 : New클릭 → boolean[/AUTOSAR...] 선택
    → Short Name: PassengerDetected
    2-6

SWC_SeatSwitch 설정#

  • Ports+ 클릭 → Sender Receiver InterfaceSenderIf_SeatSwitch 선택
    2-7
    2-8

  • Short Name: P_SeatSwitchCommunication Spec에서 Enable Provided Com Specs 체크
    2-9

  • + 클릭 → Client Server InterfaceClientIoHwAb_If_DigDir 선택
    2-10
    2-11

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

SWC_SeatHeatingControl 설정#

  • Ports+ 클릭 → Sender Receiver InterfaceReceiverIf_SeatSwitch 선택
    2-13
    2-14

  • Short Name: R_SeatSwitchEnable Provided Com Specs 체크

  • Init Value -> Numerical Value Specification 체크

    sender에서는 init value 설정을 하지 않았지만 (보낼 땐 상관 없기 때문에) receiver에서는 초기값 설정이 필요함. 여기서는 0으로 설정하였음 \ 2-15

  • + 클릭 → Client Server InterfaceClientIoHwAb_If_DigDir 선택
    2-16
    2-17

  • Short Name 설정 : R_HeatingElementEnable Provided Com Specs 체크 → WriteDirect 선택
    2-18

CSWC 생성 및 연결#

  • App_Rte[ARPackage] 우클릭 → NewComposition Sw Component Type 선택 → Short Name: CSWC_SeatHeatingSystem
    2-19
    2-20

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

  • Automatic Connection+ 클릭
    2-22

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


3. RTE level#

Runnable 설정: SWC_SeatSwitch#

  • Runnables+ 클릭 → Short Name: RE_SeatSwitch → Symbol: SeatSwitch_funcCan Be Invoked Concurrently: false
    3-1

  • RTE EventAddTiming Event 선택 → 주기: 100ms
    3-2
    3-3
    3-4

  • Operation/Mode/Trigger AccessAddSSCP 선택 → R_IO.ReadDirect 연결
    3-5
    3-6

  • Data/Parameter AccessAddData Send Points 선택 → P_SeatSwitch.PassengerDetected 선택
    3-7
    3-9

Runnable 설정: SWC_SeatHeatingControl#

  • Runnables+ 클릭 → Short Name: RE_SeatHeatingControl → Symbol: SeatHeatingControl_func
    3-10

  • RTE EventAddData Received EventR_SeatSwitch.PassengerDetected 선택
    3-11
    3-12

  • Operation/Mode/Trigger AccessAddSSCPR_HeatingElement.WriteDirect 선택
    3-13
    3-14

  • Data/Parameter AccessAddData Received Points By ArgumentsR_SeatSwitch.PassengerDetected 선택
    3-15
    3-16


4. C coding#

  • Static_CodeReference_Codesrc 우클릭 → New → File 선택 → 파일명: SeatSwitch.c, SeatHeatingControl.c 생성
    4-1
    4-2

  • 각각 코드 작성 후 저장
    4-3


5. ECU Mapping#

  • ConfigurationSystemCompositionRootComposition.arxml -> AUTOSAR -> CSWC_RootComposition [Composition] 더블클릭
  • Components and Ports+ 클릭 → CSWC_SeatHeatingSystem 선택
    5-1
    5-2
    > SWC를 따로 넣지 말고 묶음 단위(CSWC)로 넣기
    

    5-3


6. ECU Extract#

  • Auto-WizSystem Configuration & ECU Extract 선택 → ECU Software Components Mapping 클릭
    6-1
    6-2

  • Performs Flattening 체크 → Apply 클릭
    6-3


7. ECU Configuration#

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

  • NextServiceRte 선택 → Next
    7-2
    7-3

  • Rte: Generate SwcInstance Configuration 체크 → Finish 클릭
    7-4

Task Mapping#

  • 우측 초록 아이콘 클릭 → Rte 선택
    7-5

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

  • Task Mapping 탭 → SwcInstance_SWC_SeatHeatingControl 선택 → OsTask_BSW_FG3_ComMModeRequest 선택 → DRE_RE_SeatHeatingControl_R_SeatSwitch_PassengerDetected 선택 -> Add
    7-6-1

스위치/LED 연결#

  • Service and I/OP_IoHwAbDigitalDirectLogical_SW06 선택 → 자동 연결 + 클릭
    7-7

  • Respect Naming Rule 해제 → R_IO 선택
    7-8

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


8. Generate & Build#

  • BuildScons.arxmlAUTOSARAUTRONSCons 더블클릭 → All Contents 클릭
    8-1

  • Navigator의 SconsRTSWGenerationModule 이동 → Rte 더블클릭
    8-2

  • Input Files ListAdd.. 클릭 8-3

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