OpenThread 빌드 방법
OpenThread를 빌드하는 단계는 도구 모음, 사용자 머신, 대상 플랫폼에 따라 다릅니다.
가장 일반적인 워크플로는 다음과 같습니다.
- 빌드 환경을 설정하고 원하는 도구 모음을 설치합니다.
- 머신에서 직접 빌드하려면 시뮬레이션 Codelab에서 자세한 안내를 참고하세요.
- 사전 구성된 환경으로 Docker 컨테이너를 사용하려면 OpenThread
environment
이미지를 다운로드하여 실행합니다.docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- 선택한 환경 내에서 플랫폼별 OpenThread Git 저장소를 클론합니다. CC2538을 예로 들면 다음과 같습니다.
git clone https://github.com/openthread/ot-cc2538.git --recursive
- 클론된 저장소의 루트 디렉터리에서 다음을 실행합니다.
- 도구 모음을 설치합니다.
./script/bootstrap
- 다음과 같이 구성을 빌드합니다.
./script/build platform-specific-args cmake-options
- 도구 모음을 설치합니다.
- 원하는 바이너리를 타겟 플랫폼에 플래시합니다. 생성된 모든 바이너리는
./build/bin
에 있습니다.
구성
빌드 프로세스 중에 다양한 기능과 동작에 맞게 OpenThread를 구성할 수 있습니다. 사용 가능한 구성 옵션은 다음 위치에 자세히 설명되어 있습니다.
유형 | 위치 |
---|---|
컴파일 시간 상수 | /src/core/config 의 모든 헤더 파일에 나열됨 |
cmake 빌드 옵션 | openthread/examples/README.md 의 목록 |
빌드 예
cmake 빌드 옵션을 사용하여 플랫폼에 기능을 사용 설정합니다. 예를 들어, 수수료 및 조인러 지원이 사용 설정된 CC2538 플랫폼의 바이너리를 빌드하려면 다음 안내를 따르세요.
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
또는 저장소에 Jam Detection 기능이 사용 설정된 nRF52840 플랫폼을 빌드하려면 다음 안내를 따르세요.
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
바이너리
다음 바이너리는 빌드 프로세스에서 ./build/bin
에 생성됩니다. 생성되는 바이너리를 확인하려면 ./script/build
명령어와 함께 플래그를 사용합니다. 예를 들어 OpenThread를 빌드하고 FTD CLI 바이너리만 생성하려면 다음을 실행합니다.
./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
바이너리 | 설명 | 옵션 |
---|---|---|
ot-cli-ftd |
SoC 설계를 위한 전체 스레드 기기 | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
SoC 설계를 위한 최소한의 스레드 기기 | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
네트워크 보조 프로세서 (NCP) 설계를 위한 전체 스레드 기기 | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
NCP 설계를 위한 최소한의 스레드 기기 | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
무선 공동 프로세서 (RCP) 설계 | -DOT_APP_RCP=ON -DOT_RCP=ON |
기본적으로 위 플래그는 모두 사용 설정됩니다. 모든 플래그를 명시적으로 사용 중지하면 애플리케이션은 빌드되지 않지만 OpenThread 라이브러리 파일은 프로젝트에서 사용할 수 있도록 ./build/lib
에 계속 생성됩니다.
examples/platforms
디렉터리에서 각 플랫폼에서 지원하는 플래그를 확인합니다. FTD 및 MTD에 관한 자세한 내용은 Thread Primer를 참고하세요. SoC 및 NCP 설계에 관한 자세한 내용은 플랫폼을 참고하세요.
이러한 바이너리를 플래시하는 프로세스는 예시 플랫폼에 따라 다릅니다. 자세한 내용은 각 플랫폼의 예시 폴더를 참고하세요.
OpenThread Daemon
OpenThread Daemon (OT Daemon)은 OpenThread를 서비스로 실행하는 RThread POSIX 빌드 모드이며 RCP 설계와 함께 사용됩니다. 이를 빌드하고 사용하는 방법에 관한 자세한 내용은 OpenThread Daemon을 참고하세요.
서포트 패키지 빌드
빌드 서포트 패키지 (BSP)는 /third_party
에 있습니다. BSP는 각 플랫폼에서 OpenThread가 사용하는 추가적인 타사 코드로, 일반적으로 새 하드웨어 플랫폼으로 OpenThread할 때 포함됩니다.