Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

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 ビルド オプションを使用して、プラットフォームの機能を有効にします。たとえば、Commissioner と Joiner のサポートを有効にした CC2538 プラットフォームのバイナリをビルドするには、次のようにします。

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

あるいは、リポで Jam Detection 機能を有効にして 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 に生成されます。

各プラットフォームの Makefile の例を確認して、各プラットフォームでサポートされているフラグを確認してください。FTD と MTD の詳細については、Thread Primer をご覧ください。SoC および NCP の設計の詳細については、プラットフォームをご覧ください。

これらのバイナリをフラッシュするプロセスは、サンプル プラットフォームによって異なります。手順の詳細については、各プラットフォームのサンプル フォルダの README をご覧ください。

OpenThread デーモン

OpenThread Daemon(OT Daemon)は、OpenThread をサービスとして実行し、RCP 設計で使用される OpenThread POSIX ビルドモードです。ビルドして使用する方法の詳細については、OpenThread Daemon をご覧ください。

ビルド サポート パッケージ

ビルド サポート パッケージ(BSP)は、/third_party にあります。BSP は各プラットフォームで OpenThread が使用する追加のサードパーティ コードであり、通常は新しいハードウェア プラットフォームに OpenThread を移植する際に組み込まれます。