OpenThread 빌드 방법
OpenThread를 빌드하는 단계는 도구 모음, 사용자 머신, 타겟 플랫폼에 따라 다릅니다.
가장 일반적인 워크플로는 다음과 같습니다.
- 빌드 환경을 설정하고 원하는 도구 모음을 설치합니다.
- 머신에서 직접 빌드하려면 시뮬레이션 Codelab에서 자세한 안내를 확인하세요.
- 사전 구성된 환경으로 Docker 컨테이너를 사용하려면 OpenThread
environment이미지를 다운로드하고 실행하세요.docker pull openthread/environment:latestdocker 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 빌드 옵션 | /etc/cmake/options.cmake에 나열됨 |
빌드 예시
cmake 빌드 옵션을 사용하여 플랫폼의 기능을 사용 설정합니다. 예를 들어 커미셔너와 조이너 지원이 사용 설정된 CC2538 플랫폼용 바이너리를 빌드하려면 다음을 실행합니다.
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
또는 저장소에서 전파 방해 감지 기능이 사용 설정된 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에 관한 자세한 내용은 스레드 기본사항을 참고하세요. SoC 및 NCP 설계에 관한 자세한 내용은 플랫폼을 참고하세요.
이러한 바이너리를 플래시하는 프로세스는 예시 플랫폼마다 다릅니다. 자세한 안내는 각 플랫폼의 예시 폴더에 있는 README를 참고하세요.
OpenThread 데몬
OpenThread 데몬 (OT 데몬)은 OpenThread를 서비스로 실행하고 RCP 설계와 함께 사용되는 OpenThread POSIX 빌드 모드입니다. 빌드 및 사용 방법에 관한 자세한 내용은 OpenThread 데몬을 참고하세요.
빌드 지원 패키지
빌드 지원 패키지 (BSP)는 /third_party에 있습니다. BSP는 각 플랫폼에서 OpenThread가 사용하는 추가 서드 파티 코드로, 일반적으로 새 하드웨어 플랫폼에 OpenThread를 포팅할 때 포함됩니다.