OpenThread 빌드

GitHub에서 소스 보기

OpenThread 빌드 방법

OpenThread를 빌드하는 단계는 도구 모음, 사용자 머신, 대상 플랫폼에 따라 다릅니다.

가장 일반적인 워크플로는 다음과 같습니다.

  1. 빌드 환경을 설정하고 원하는 도구 모음을 설치합니다.
    1. 머신에서 직접 빌드하려면 시뮬레이션 Codelab에서 자세한 안내를 참고하세요.
    2. 사전 구성된 환경으로 Docker 컨테이너를 사용하려면 OpenThread environment 이미지를 다운로드하여 실행합니다.
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. 선택한 환경 내에서 플랫폼별 OpenThread Git 저장소를 클론합니다. CC2538을 예로 들면 다음과 같습니다.
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. 클론된 저장소의 루트 디렉터리에서 다음 안내를 따르세요.
    1. 도구 모음을 설치합니다.
      ./script/bootstrap
      
    2. 구성 빌드:
      ./script/build platform-specific-args cmake-options
      
  4. 원하는 바이너리를 대상 플랫폼에 플래시합니다. 생성된 모든 바이너리는 ./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에 포함됩니다.