OpenThread をビルドする方法
OpenThread をビルドする手順は、ツールチェーン、ユーザー マシン、ターゲット プラットフォームによって異なります。
最も一般的なワークフローは次のとおりです。
- ビルド環境をセットアップして、目的のツールチェーンをインストールします。
- マシンで直接ビルドするには、シミュレーション Codelab で詳細な手順をご覧ください。
- 事前構成済みの環境で Docker コンテナを使用するには、OpenThread
environmentイメージをダウンロードして実行します。docker pull openthread/environment:latestdocker 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 ビルド オプション | /etc/cmake/options.cmake に記載されている |
ビルドの例
cmake ビルド オプションを使用して、プラットフォームの機能を有効にします。たとえば、Commissioner と Joiner のサポートを有効にして CC2538 プラットフォーム用のバイナリをビルドするには:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
または、リポジトリで ジャム検出機能を有効にして 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 設計向けのフル Thread デバイス | -DOT_APP_CLI=ON-DOT_FTD=ON |
ot-cli-mtd |
SoC 設計向けの最小限の Thread デバイス | -DOT_APP_CLI=ON-DOT_MTD=ON |
ot-ncp-ftd |
ネットワーク コプロセッサ(NCP)設計用のフル Thread デバイス | -DOT_APP_NCP=ON-DOT_FTD=ON |
ot-ncp-mtd |
NCP 設計用の最小限の Thread デバイス | -DOT_APP_NCP=ON-DOT_MTD=ON |
ot-rcp |
無線コプロセッサ(RCP)の設計 | -DOT_APP_RCP=ON-DOT_RCP=ON |
デフォルトでは、上記のフラグはすべて有効になっています。すべてのフラグを明示的に無効にすると、アプリケーションはビルドされませんが、OpenThread ライブラリ ファイルはプロジェクトで使用するために ./build/lib に生成されます。
各プラットフォームがサポートするフラグを確認するには、examples/platforms ディレクトリを確認してください。FTD と MTD の詳細については、スレッドの概要をご覧ください。SoC と NCP の設計について詳しくは、プラットフォームをご覧ください。
これらのバイナリをフラッシュするプロセスは、プラットフォームの例によって異なります。詳細な手順については、各プラットフォームのサンプル フォルダにある README をご覧ください。
OpenThread デーモン
OpenThread Daemon(OT Daemon)は、OpenThread をサービスとして実行し、RCP 設計で使用される OpenThread POSIX ビルドモードです。ビルドと使用方法の詳細については、OpenThread デーモンをご覧ください。
サポート パッケージをビルドする
ビルド サポート パッケージ(BSP)は /third_party にあります。BSP は、各プラットフォームで OpenThread が使用する追加のサードパーティ コードです。通常、新しいハードウェア プラットフォームに OpenThread を移植する際に含まれます。