ImplementationDataTypes
Table of contents
SWAD에서 ImplementationDataTypes를 생성하는 과정을 작성하였다.
1. Primitive Data Type
typedef Data Type을 정의한다.
- Primitive Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
예) data type이 uint8인 경우
type=uint8
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
AUTOSAR Spec에서 Primitive Type은 아래와 같은 형태로 코드가 생성되어야 한다.
typedef <nativeDeclaration> <name>;
2. Composite Data Type
Struct, Array, Union Data Type을 정의한다.
2.1 Struct Type
- Struct Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Structure로 입력
예) uint8 type 1개, float32 type 1개, sint8 type 1개, boolean type 1개
kind=Structure num=4 1=u8Data:uint8 2=f32Data:float32 3=s8Data:sint8 4=bData:boolean
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.2 Struct Type - Struct
- Struct Type Member는 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Structure로 입력
예) Struct를 member로 갖는 Struct type
해당 Struct Type이 먼저 정의되어 모델로 생성된 상태여야 한다.
kind=Structure num=3 1=T1Data:airbagSensorData 2=u8Data:uint8 3=bData:boolean
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.3 Array Type
- Array Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Array로 입력
예) uint8 xxx[5] 형태의 Array
kind=Array type=uint8 size=5
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.4 Array type - Struct
- Array Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Array로 입력
예) struct array type
해당 Struct Type이 먼저 정의되어 모델로 생성된 상태여야 한다.
kind=Array type=airbagSensorData size=5
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.5 Union Type
- Union Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Union로 입력
예) uint16과 sint16을 member로 갖는 Union type
kind=Union num=2 1=u16Data:uint16 2=s16Data:sint16
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
3. Enumeration Data Type
AUTOSAR에서 Enumeration Type은 CompuMethod 설계를 참조하는 ImplementationDataType 설계가 필요하다.
- CompuMethods 설계를 먼저 진행하고 ImplementationDataType 설계를 진행한다.
RapidAUTO Context Menu → “Add CompuMethod” 기능 실행
CompuMethod Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind는 Enumeration으로 입력
예) 괄호 안의 숫자로 값을 설정 (설정하지 않으면 0부터 1씩 증가)
kind=Enumeration num=3 1=SENSOR_START(1) 2=SENSOR_STOP(3) 3=SENSOR_FAIL(7)
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성