Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

OpenThreadを構築する

ツールチェーン

OpenThreadを構築するためにサポートされている主なツールチェーンはGNUAutotoolsです。

GNU Autotools

GNU Autotoolsを使用してサンプルを作成する手順は、各サンプルのプラットフォームフォルダーにあります。これらの例の目的は、それぞれのプラットフォームでOpenThreadを実行するために必要な最小限のコードを示すことであることに注意してください。そのため、プラットフォームの全機能を強調するものではありません。

ユースケースによっては、ビルド中にさらに構成が必要になる場合があります。

GNU Autotools — NestLabsビルド

Nest Labsは、GNU Autotoolsに基づいて、カスタマイズされたターンキービルドシステムフレームワークを作成しました。これは、以下をサポートする必要があるスタンドアロンソフトウェアパッケージに使用されます。

  • スタンドアロンビルドホストシステム上に構築し、それをターゲットにする
  • GCCベースまたは互換性のあるツールチェーンを使用した組み込みターゲットシステム

一部のビルドホストシステムにはGNUAutotoolsがないか、バージョンやディストリビューションが異なる可能性があるため、GNUAutotoolsのNestLabsビルドをOpenThreadで使用することをお勧めします。これにより、プライマリとセカンダリのAutotools出力に一貫性がなくなり、ユーザーとサポートのエクスペリエンスが異なります。 Nest Labsビルドは、ビルドホストシステム上のAutotoolsのバージョンに依存しない関連スクリプトを備えた、ビルド済みの修飾されたGNU Autotoolsのセットを提供することにより、これを回避します。

このプロジェクトは通常、ターゲットプロジェクトリポジトリにサブトレッド(またはgitサブモジュール化)され、そのプロジェクトのビルドシステムのシードとして機能します。

詳細について、またはこのツールをOpenThreadビルドに使用するには、 README参照してください。

OpenThreadを構築する方法

OpenThreadを構築する手順は、ツールチェーン、ユーザーマシン、およびターゲットプラットフォームによって異なります。

最も一般的なワークフローは次のとおりです。

  1. ビルド環境をセットアップし、目的のツールチェーンをインストールします。
    1. マシン上で直接ビルドするには、詳細な手順についてシミュレーションコードラボを参照してください
    2. 事前構成された環境でDockerコンテナーを使用するには、OpenThread environmentイメージをダウンロードして実行し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

または、紙詰まり検出機能を有効にして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ラジオコプロセッサー(RCP)の設計--enable-ncp
--enable-radio-only

これらのフラグもプラットフォームの例も使用されていない場合、アプリケーションはビルドされませんが、OpenThreadライブラリファイルはプロジェクトで使用するために/output/ <platform> /libに生成されます。

各プラットフォームのMakefileの例をチェックして、各プラットフォームがサポートするフラグを確認してください。たとえば、 TICC2650はFTDをサポートしていません。 FTDおよびMTDの詳細については、スレッド入門書を参照してください。 SoCおよびNCP設計の詳細については、プラットフォームを参照してください。

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

OpenThreadデーモン

OpenThread Daemon(OT Daemon)は、OpenThreadをサービスとして実行し、RCP設計で使用されるOpenThreadPOSIXビルドモードです。ビルドおよび使用方法の詳細については、 OpenThreadデーモンを参照してください。

サポートパッケージを作成する

ビルドサポートパッケージ(BSP)は/third_partyます。 BSPは、それぞれのプラットフォームでOpenThreadによって使用される追加のサードパーティコードであり、通常、 OpenThreadを新しいハードウェアプラットフォームに移植するときに含まれます。