Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

OpenThread 빌드

툴체인

OpenThread 빌드를 위해 지원되는 기본 도구 모음은 GNU Autotools입니다.

GNU Autotools

GNU Autotools로 예제를 빌드하는 방법은 각 예제의 플랫폼 폴더 에서 찾을 수 있습니다. 이 예제의 목적은 각 플랫폼에서 OpenThread를 실행하는 데 필요한 최소한의 코드를 보여주기위한 것입니다. 따라서 플랫폼의 전체 기능을 강조하지 않습니다.

사용 사례에 따라 빌드 중 추가 구성이 필요할 수 있습니다.

GNU Autotools — Nest Labs 빌드

Nest Labs는 GNU Autotools를 기반으로 맞춤형 턴키 빌드 시스템 프레임 워크를 만들었습니다. 다음을 지원해야하는 독립 실행 형 소프트웨어 패키지에 사용됩니다.

  • 독립형 빌드 호스트 시스템을 기반으로 구축 및 대상 지정
  • GCC 기반 또는 호환 툴체인을 사용하는 임베디드 타겟 시스템

GNU Autotools의 Nest Labs 빌드는 일부 빌드 호스트 시스템에 GNU Autotools가 없거나 버전 및 배포가 다를 수 있으므로 OpenThread와 함께 사용하는 것이 좋습니다. 이로 인해 기본 및 보조 Autotools 출력이 일치하지 않아 사용자 및 지원 경험이 달라집니다. Nest Labs 빌드는 빌드 호스트 시스템의 Autotools 버전에 의존하지 않는 관련 스크립트와 함께 사전 빌드되고 검증 된 GNU Autotools 세트를 제공하여이를 방지합니다.

이 프로젝트는 일반적으로 대상 프로젝트 저장소로 하위 처리 (또는 git 하위 모듈화)되어 해당 프로젝트의 빌드 시스템에 대한 시드 역할을합니다.

자세한 내용을 알아 보거나 OpenThread 빌드에이 도구를 사용하려면 README 참조하세요.

OpenThread를 빌드하는 방법

OpenThread를 빌드하는 단계는 도구 체인, 사용자 시스템 및 대상 플랫폼에 따라 다릅니다.

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

  1. 빌드 환경을 설정하고 원하는 도구 모음을 설치합니다.
    1. 머신에서 직접 빌드하려면 Simulation Codelab 에서 자세한 지침을 참조하세요.
    2. 사전 구성된 환경에서 Docker 컨테이너를 사용하려면 OpenThread environment 이미지
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      을 다운로드하여 실행하십시오.
  2. 선택한 환경 내에서 OpenThread Git 저장소
    git clone https://github.com/openthread/openthread
    을 복제합니다.
  3. 복제 된 저장소의 루트 디렉토리에서 :
    1. GNU 도구 모음 및 기타 종속성 설치 (선택 사항) :
      ./script/bootstrap
    2. 환경 설정 :
      ./bootstrap
    3. 공통 스위치를 통한 선택적 사용자 지정과 함께 사전 정의 된 플랫폼 예제를 사용하여 구성 및 구축 :
      1. 선택한 플랫폼의 /examples/platforms/ <platform> /openthread-core- <platform> -config.h 파일에서 OpenThread 컴파일 타임 상수 수정
      2. 구성 빌드 :
        make -f examples/Makefile-<platform> <switches>
  4. 원하는 바이너리를 대상 플랫폼에 플래시합니다. 생성 된 모든 바이너리는 /output/ <platform> /bin 있습니다. 고급 모드를 사용하는 경우 <platform> 은 사용자의 컴퓨터에 따라 다를 수 있습니다. 예 : x86_64-apple-darwin .

GNU Autotools로 지원되는 플랫폼을 빌드하는 방법에 대한 구체적인 지침은 각 예제의 플랫폼 폴더 에서 찾을 수 있습니다.

구성

빌드 프로세스 중에 다른 기능과 동작에 대해 OpenThread를 구성 할 수 있습니다. 사용 가능한 구성 옵션은 다음 위치에 자세히 설명되어 있습니다.

유형 위치
컴파일 시간 상수 /src/core/config 모든 헤더 파일에 나열됩니다.
Makefile 빌드 스위치 /examples/common-switches.mk 나열 됨

빌드 예제

스위치를 사용하여 예제 플랫폼에 대한 기능을 활성화합니다. 예를 들어, 커미셔너 및 조이너 지원이 활성화 된 CC2538 예제를 빌드하려면 :

make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1

또는 Jam Detection 기능이 활성화 된 nRF52840 예제를 빌드하려면 :

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

바이너리

다음 바이너리는 빌드 프로세스에서 /output/ <platform> /bin 에 생성됩니다. 생성되는 바이너리를 확인하려면 ./configure 명령과 함께 configure 옵션 플래그를 사용하여 빌드를위한 업데이트 된 Makefile 을 생성합니다. 예를 들어 OpenThread를 빌드하고 CLI 바이너리 만 생성하려면 :

./configure --enable-cli
make
바이너리 기술 옵션 플래그 구성
ot-cli-ftd SoC 설계를위한 전체 스레드 장치 --enable-cli
--enable-ftd
ot-cli-mtd SoC 설계를위한 최소 스레드 장치 --enable-cli
--enable-mtd
ot-ncp-ftd NCP (Network Co-Processor) 설계를위한 전체 스레드 장치 --enable-ncp
--enable-ftd
ot-ncp-mtd NCP 설계를위한 최소 스레드 장치 --enable-ncp
--enable-mtd
ot-rcp RCP (Radio Co-Processor) 설계 --enable-ncp
--enable-radio-only

이러한 플래그와 플랫폼 예제가 모두 사용되지 않으면 응용 프로그램이 빌드되지 않지만 OpenThread 라이브러리 파일은 프로젝트에서 사용할 수 있도록 /output/ <platform> /lib 에 생성됩니다.

각 플랫폼이 지원하는 플래그를 확인하려면 각 플랫폼의 예제 Makefile을 확인하십시오. 예를 들어 TI CC2650은 FTD를 지원하지 않습니다 . FTD 및 MTD에 대한 자세한 내용은 Thread Primer를 참조하십시오. SoC 및 NCP 설계에 대한 자세한 내용은 플랫폼을 참조하십시오.

이러한 바이너리를 플래시하는 프로세스는 예제 플랫폼에 따라 다릅니다. 자세한 지침은 각 플랫폼의 예제 폴더 에있는 README를 참조하십시오.

OpenThread 데몬

OpenThread Daemon (OT Daemon)은 OpenThread를 서비스로 실행하고 RCP 디자인과 함께 사용되는 OpenThread POSIX 빌드 모드입니다. 빌드 및 사용 방법에 대한 자세한 내용은 OpenThread Daemon을 참조하세요.

지원 패키지 구축

빌드 지원 패키지 (BSP)는 /third_party 있습니다. BSP는 각 플랫폼에서 OpenThread가 사용하는 추가 타사 코드이며 일반적으로 OpenThread 를 새 하드웨어 플랫폼으로 이식 할 때 포함됩니다.