Google은 블랙 커뮤니티를위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 방법을보십시오.
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

OpenThread 구축

툴체인

OpenThread 구축을 위해 기본적으로 지원되는 툴체인은 GNU Autotools입니다.

GNU 오토 툴

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

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

GNU Autotools — Nest Labs 빌드

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

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

GNU Autotools의 Nest Labs 빌드는 OpenThread와 함께 사용하는 것이 좋습니다. 일부 빌드 호스트 시스템에는 GNU Autotools가 없거나 다른 버전과 배포판이있을 수 있습니다. 이로 인해 기본 및 보조 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로 지원되는 플랫폼을 빌드하는 데 대한 특정 지시 사항은 각 예제의 platform 폴더 에서 찾을 수 있습니다.

구성

빌드 프로세스 중에 다른 기능과 동작을 위해 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 설계를위한 풀 스레드 장치 --enable-ncp
--enable-ftd
ot-ncp-mtd NCP 설계를위한 최소 스레드 장치 --enable-ncp
--enable-mtd
ot-rcp 호스트 / 802.15.4 컨트롤러 설계 --enable-ncp
--enable-radio-only

이러한 플래그 나 플랫폼 예제를 사용하지 않으면 응용 프로그램은 빌드되지 않지만 OpenThread 라이브러리 파일은 여전히 ​​프로젝트에서 사용하기 위해 /output/ <platform> /lib 에 생성됩니다.

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

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

지원 패키지 구축

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