일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- UDS
- 정적할당
- Can 스택
- VFB
- Classic AUTOSAR
- AUTOSAR CAN통신
- AutoSar설계
- Application Layer
- COM모듈
- MCU
- AUTOSAR
- 단방향링크드리스트
- UDS프로토콜
- Com 스택
- Com Stack
- C++
- 순수가상함수
- 배열
- 진료순서정하기
- ecu
- 싱글링크드리스트
- Can
- Mobilgen
- RTE
- C
- diag
- CAN stack
- C언어
- AUTOSA
- softwareComponent
- Today
- Total
이현구의 공부방
[AUTOSAR] 설계 이해하기 - mobilgen -2 본문
Develelop Tool : Mobilgene Studio
개발 언어 : C
플랫폼 : Classic AUTOSAR
이미지 및 동영상 출처 : https://www.youtube.com/watch?v=uc1QseOsTSE
5. Composition를 ECU에 등록 하기
Runnable Mapping을 통해 Application Layer에서 작성한 Runnable을 BSW Layer의 Software Component에 매핑하여 실행
- Mapping의 최상단 단위인 RootComposition에 CSWC를 추가한다.
- Build의 generate.py에서 제일 처음에 작업한 AUTOSAR 파일을 추가한다. 예) #Swcd_App 부분에 App_Rte(파일명)을 추가
- 상단 메뉴에서 Auto-wiz → System Configuration & ECU Extract을 실행하여 ECU Software Components Mapping을 실행한다.
- 3 작업에서 EcuExtract에 RootComposition에 넣었던 CSWC or SWC가 있는지 확인한다.
5. Apply를 통하여 ECU 를 추출한다.
6. Task Mapping 하기
Runnable Mapping이 완료되면 Task Mapping을 수행하여 각각의 Runnable을 실행할 Task에 매핑이 필요하다.
Task Mapping 작업을 하기에 앞서 이전에 만든 SWC추가되었고 RTE도 추가 되었기 때문에 반영을 하기 위해선 ECU 설정을 다시 해야한다.
이전 작업에 만들어진 EcuExtract.arxml 에서 RTE를 새롭게 만들어 준다.
RTE로 이동해보면 RTE 설정을 할 수 있다.
RTE ↔ Task Mapping
Mobilgen에서는 ECU 설정을 "ECU Configuration" 탭에서 수행한다.
이전에 만들었던 SWC_SeatSwitch를 선택을 하게 되면 RTE Event 중에 타이밍 이벤트를 설정해 두었던 게 표출된다.
그 후 Os Task 에서 사용할 Event를 설정해준다. 예 ) TE_RE_SeatSwitch ↔ OsTask_ASW_FG1_100ms
동일하게 SWC_HeatingControl instance도 OS Task와 맵핑 작업을 진행한다.
※ OS Task를 새롭게 만들 경우에 ECU 설정의 RTE 설정을 다시 한번 수행해야 맵핑 과정에서 만든 Task 가 표출된다.
7. System Interconnect
지금까지 작업한 내용은 아직 하드웨어와 Application이 연결되지 않은 상태이다.
이제부터 하는 설정은 SWC의 HW의 스위치 값을 읽어와 LED를 키는 명령이 전달되도록 SWC와 HW를 연결하는 작업이다.
하드웨어에서 값을 읽어와 그 값을 가공하여 해당 하드웨어에 전달 하기 위해선 I/O (Input, Output) 설정이 필요하다.
Service and IO에서 작업이 가능하다.
Mobilgen에서는 하드웨어 추상화 계층을 제공하여 하드웨어 세팅 정보를 제공한다.
Swc_loHwAb는 Ecu Abstation에서 제공하는 하드웨어의 Ports
그중에 스위치에 대한 입력과 LED를 키기 위한 HW I/O 가 필요하므로 아래와 같이 연결 한다.
- P_loHwAbDigitalDirectLogical_S01 (스위치) 와 SWC_SeatSwitch의 R_IO Port와 연결
- P_loHwAbDigitalDirectLogical_LED01 ( LED ) 는 SWC_SeatHeatingControl의 R_HeatingElement와 연결
- Assembly Connectors = P_SeatSwitch, R_SeatSwitch
- Delegation connectors = R_IO, R_HeatingElement
이렇게 되면 하나의 시나리오에 대하여 시스템설계가 모두 끝난 상태. 나머지 설계는 Runable에 손코딩으로 기능을 구현하면 끝이 난다.
그 이후 해당 설계를 검증하고 테스트를 진행, 이를 통해 시스템이 요구하는 기능을 올바르게 수행할 수 있는 지를 확인
※ RTE 코드를 보게 된다면 Task가 어떻게 Activation 되는지, 어떤 데이터가 전달되고 받는지 등을 알 수 있다.
지 등을 알 수 있다.
잘못된 정보나 수정이 필요한 내용이 있다면 댓글 주시면 감사합니다 :)
'AutoSar > 기본기' 카테고리의 다른 글
[AUTOSAR] Generate와 Compile의 차이 (0) | 2023.03.21 |
---|---|
[AUTOSAR] RTU, MCU 개념 (0) | 2023.03.17 |
[AUTOSAR] SWC ( SoftwareComponent) (0) | 2023.03.08 |
[Diagnostics] UDS 프로토콜 (0) | 2023.03.07 |
[AUTOSAR] 설계 이해하기 - mobilgen -1 (0) | 2023.03.06 |