PARA R20-11 SDK
1 소개
이 문서에서는 PARA SDK 패키지 설치 방법 및 PARA SDK를 사용하여 어댑티브 AUTOSAR 애플리케이션을 빌드하는 방법을 설명합니다.
2 설치
이 장에서는 PARA SDK 패키지를 설치하는 방법을 설명합니다.
2.1 시스템 요구 사항
| Component | Recommendation |
|---|---|
| OS | - Ubuntu 20.04 이상 |
| Software | - CMake 3.16 이상 - GCC 9.x 이상 |
2.2 SDK 구성
PARA SDK 패키지는 다음과 같은 컨텐트들을 포함하고 있습니다. PARA SDK 패키지의 형식 및 내용은 제공되는 조건에 따라 달라질 수 있습니다.
| Content | Description |
|---|---|
| bin/ | PARA 어댑티브 플랫폼을 실행하기 위한 바이너리 포함 |
| etc/ | PARA 어댑티브 플랫폼을 실행하기 위한 환경설정 포함 |
| include/ | PARA 어댑티브 플랫폼을 빌드하기 위한 헤더 포함 |
| lib/ | PARA 어댑티브 플랫폼을 빌드 및 실행하기 위한 라이브러리 포함 |
| opt/ | PARA 어댑티브 플랫폼 서비스 및 애플리케이션 샘플 포함 |
| doc/ | PARA SDK를 사용하기 위한 문서 포함 |
| para-env-setup.sh | PARA 어댑티브 플랫폼 빌드 및 실행 환경 설정을 위한 스크립트 파일 |
| LICENSE | PARA SDK 라이센스 정보 |
| VERSION | PARA SDK 버전 정보 |
2.3 SDK 설치
2.3.1 개발 환경에 PARA SDK 설치
개발 환경에 PARA SDK 패키지를 설치하는 방법을 설명합니다.
본문에서는 압축 파일(tar.gz)로 제공된 PARA SDK를 사용하여, 개발 환경에서
$HOME/para-sdk디렉토리에 PARA SDK를 설치하는 방법을 설명합니다.
아래 Linux 명령을 입력하여 $HOME/para-sdk 디렉토리에 압축을 해제하여 설치합니다.
# 개발 환경에서 수행
mkdir $HOME/para-sdk
tar xzf para_xx.xx.xx.tar.gz -C $HOME/para-sdk
2.3.2 타겟 환경에 PARA 설치
타겟 환경에 압축 파일(tar.gz)로 제공된 PARA SDK를 설치하는 방법을 설명합니다.
본문에서는 압축 파일(tar.gz)로 제공된 PARA SDK를 사용하여, 타겟 환경에서
/opt/para디렉토리에 PARA를 설치하는 방법을 설명합니다.
타겟에서 SSH 서버를 지원하는 경우, 아래 Linux 명령을 입력하여 타겟에 PARA를 설치할 수 있습니다.
# 개발 환경에서 수행
scp para_xx.xx.xx.tar.gz <username>@<target_address>:~
타겟에서 아래 Linux 명령으로 /opt/para 디렉토리에 PARA를 설치합니다.
# 타겟 환경에서 수행
mkdir /opt/para
tar xzf ~/para_xx.xx.xx.tar.gz -C /opt/para
3 사용
이 장에서는 개발 환경에서 PARA SDK를 사용하여 PARA 어댑티브 애플리케이션을 빌드하고, 타겟 환경에서 PARA 어댑티브 애플리케이션을 실행하는 방법을 설명합니다.
3.1 애플리케이션 빌드
AutoSAR.io 도구에서 PARA Generator를 사용하여 생성된 PARA 어댑티브 애플리케이션 프로젝트를 사용하여, PARA 어댑티브 애플리케이션을 빌드하는 방법을 설명합니다.
본문에서는
$HOME/para-sdk디렉토리에 PARA SDK가 설치되어 있는 것을 가정하고 설명합니다.
3.1.1 개발 환경 설정
아래 Linux 명령을 입력하여 빌드 환경을 설정합니다.
# 개발 환경에서 수행
source $HOME/para-sdk/para-env-setup.sh
크로스 컴파일러를 사용하는 경우 아래와 같이 PARA_TOOLCHAIN_PATH 환경 변수에 크로스 컴파일러 디렉토리의 경로를 설정해야 합니다.
# 개발 환경에서 수행
export PARA_TOOLCHAIN_PATH=<Cross Toolchain Path>
3.1.2 프로젝트 환경 설정
PARA 어댑티브 애플리케이션 프로젝트의 최상위 디렉토리에서 아래 Linux 명령을 입력합니다.
# 개발 환경에서 수행
cmake -B build
3.1.3 프로젝트 빌드
프로젝트 환경 설정 완료 후, PARA 어댑티브 애플리케이션 프로젝트의 최상위 디렉토리에서 아래 Linux 명령을 입력합니다.
# 개발 환경에서 수행
cmake --build build --target install -j $(nproc)
빌드가 완료되면 아래와 같이 PARA 어댑티브 애플리케이션 프로젝트 디렉토리의 build/install 디렉토리에 PARA 어댑티브 애플리케이션을 실행하기 위해 필요한 파일들이 준비됩니다.
build/install
├── etc
│ ├── com
│ │ └── ...
│ ├── exec
│ │ └── ...
│ ├── function_group
│ │ └── ...
│ └── machine
│ └── ...
└── opt
└── <App>
├── bin
│ └── <App>
└── etc
└── exec
└── <App>.json
3.2 애플리케이션 실행
타겟 환경에서 PARA 어댑티브 애플리케이션을 실행하는 방법을 설명합니다.
본문에서는 타겟 환경에서
/opt/para디렉토리에 PARA 및 어댑티브 애플리케이션을 설치한다고 가정합니다.
3.2.1 애플리케이션 설치
타겟에 빌드 완료된 애플리케이션을 설치합니다.
rsync 사용
타겟에서 rsync 서버를 지원하는 경우, 아래 Linux 명령을 입력하여 타겟에 애플리케이션을 설치할 수 있습니다.
# 개발 환경에서 수행
rsync -avh build/install/ <username>@<target_address>:/opt/para/
scp 사용
타겟에서 SSH 서버를 지원하는 경우, 아래 Linux 명령을 입력하여 타겟에 애플리케이션을 설치할 수 있습니다.
# 개발 환경에서 수행
tar czf aa.tar.gz -C build/install .
scp -r build/install/ <username>@<target_address>:~
타겟에서 아래 Linux 명령으로 애플리케이션를 설치합니다.
# 타겟 환경에서 수행
tar xzf ~/aa.tar.gz -C /opt/para
3.2.2 타겟 환경 설정
아래 Linux 명령을 입력하여 타겟에서 실행 환경을 설정합니다.
# 타겟 환경에서 수행
source /opt/para/para-env-setup.sh
PARA 어댑티브 플랫폼을 실행하기 위해 필요한 환경 변수는 다음과 같습니다.
| Variable | Description |
|---|---|
| PARA_CORE | PARA 어댑티브 플랫폼 라이브러리 및 바이너리 경로 |
| PARA_CONF | PARA 어댑티브 플랫폼 환경설정 경로 |
| PARA_DATA | PARA 어댑티브 플랫폼 데이터 경로 |
| PARA_APPL | PARA 어댑티브 애플리케이션 경로 |
3.2.3 애플리케이션 실행
아래 Linux 명령을 입력하여 타겟에서 PARA 어댑티브 애플리케이션을 실행합니다.
# 타겟 환경에서 수행
EM
Appendix
A.1 PARA CMake Module
PARA CMake Module은 PARA 어댑티브 애플리케이션 프로젝트를 구성하기 위해 필요한 CMake 명령을 제공합니다.
PARA Generator를 사용하여 생성된 PARA 어댑티브 애플리케이션 프로젝트에 포함된 최상위 CMakeLists.txt 파일에는 다음과 같이 PARA CMake Module을 초기화하는 명령이 포함되어
있습니다.
# ============================================================================
# Do NOT modify the section below.
# This setting is required only once immediately after the project command in
# the top-level CMakeLists.txt.
# ============================================================================
include(${CMAKE_SOURCE_DIR}/cmake/ParaSdk.cmake)
# ============================================================================
A.1.1 Para_App
PARA 어댑티브 애플리케이션 생성 코드에 포함된 CMakeLists.txt 파일에는 다음과 같이 CMake 변수 설정과 Para_App CMake 명령이 포함되어 있습니다.
# ============================================================================
# Do NOT modify the section below.
# This setting is required only once prior to the project command for
# applications.
# ============================================================================
set(PARA_APP_NAME AA)
set(PARA_APP_EXECUTABLE AA)
set(PARA_APP_VERSION 1.0.0)
set(PARA_APP_GEN_DIR ${CMAKE_CURRENT_SOURCE_DIR})
Para_App()
# ============================================================================
CMake 명령 Para_App을 사용하여 각 PARA 어댑티브 애플리케이션을 빌드하기 위한 기본적인 환경 설정을 수행합니다.
Para_App CMake 명령의 사용 방법은 다음과 같습니다.
Para_App()
A.1.2 Para_Target
PARA 어댑티브 애플리케이션 생성 소스 코드에 포함된 src/CMakeLists.txt 파일에는 다음과 같이 Para_Target CMake 명령이 포함되어 있습니다.
# ============================================================================
# This setting is required for binary targets.
# Please modify the section below to suit your configuration.
# ============================================================================
Para_Target(${PARA_APP_NAME}
PARA_LIBS_PRIVATE core log exec com
PARA_GEN_DIR ${PARA_APP_GEN_DIR}
OUTPUT_NAME ${PARA_APP_EXECUTABLE}
)
# ============================================================================
CMake 명령 Para_Target을 사용하여 각 PARA 어댑티브 애플리케이션에서 빌드할 바이너리 혹은 라이브러리에 대한 환경 설정을 수행합니다.
Para_Target CMake 명령의 사용 방법은 다음과 같습니다.
Para_Target(<target>
[PARA_GEN_DIR <dir>]
[OUTPUT_NAME <name>]
[PARA_LIBS_PUBLIC [items1...]]
[PARA_LIBS_PRIVATE [items1...]]
)