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 플랫폼의 바이너리를 빌드하고 Commissioner 및 Joiner 지원이 사용 설정된 경우
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
또는 저장소에서 Jam 감지 기능이 사용 설정된 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 설계에 관한 자세한 내용은 플랫폼을 참고하세요.
이러한 바이너리를 플래시하는 프로세스는 예시 플랫폼에 따라 다릅니다. 자세한 내용은 각 플랫폼의 예시 폴더에 있는 README를 참조하세요.
OpenThread 데몬
OpenThread Daemon (OT 데몬)은 OpenThread를 서비스로 실행하고 RCP 설계와 함께 사용되는 OpenThread POSIX 빌드 모드입니다. 빌드 및 사용 방법에 관한 자세한 내용은 OpenThread Daemon을 참고하세요.
서포트 패키지 빌드
빌드 서포트 패키지 (BSP)는 /third_party
에 있습니다. BSP는 각 플랫폼에서 OpenThread에서 사용되는 추가 제3자 코드로, 일반적으로 새 하드웨어 플랫폼으로 OpenThread에 포함됩니다.