Google is committed to advancing racial equity for Black communities. See how.
このページは 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がないか、バージョンやディストリビューションが異なる可能性があるため、GNU AutotoolsのNest Labsビルドを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リストされています

ビルド例

スイッチを使用して、サンプルプラットフォームの機能を有効にします。たとえば、CommissionerとJoinerのサポートを有効にして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 ホスト/802.15.4コントローラーの設計 --enable-ncp
--enable-radio-only

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

各プラットフォームがサポートするフラグを確認するには、各プラットフォームのサンプルMakefileを確認してください。たとえば、TI CC2650はFTDをサポートしていません 。 FTDとMTDの詳細については、 スレッドプライマーを参照してください。 SoCおよびNCP設計の詳細については、「 プラットフォーム 」を参照してください。

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

サポートパッケージの作成

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