Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

構建OpenThread

工具鏈

用於構建OpenThread的主要支持工具鍊是GNU Autotools。

GNU自動工具

可以在每個示例的platform文件夾中找到有關使用GNU Autotools構建示例的說明。請注意,這些示例的目的是顯示在每個相應平台上運行OpenThread所需的最少代碼。因此,它們沒有突出平台的全部功能。

根據您的用例,可能需要在構建期間進行進一步配置。

GNU Autotools-Nest Labs構建

Nest Labs基於GNU Autotools創建了一個定制的交鑰匙構建系統框架。這用於需要支持以下功能的獨立軟件包:

  • 建立並針對獨立構建主機系統
  • 使用基於GCC或兼容工具鏈的嵌入式目標系統

建議將GNU Autotools的Nest Labs構建與OpenThread一起使用,因為某些構建宿主系統可能沒有GNU Autotools,或者可能具有不同的版本和發行版。這會導致主要和輔助Autotools輸出不一致,從而導致不同的用戶和支持體驗。 Nest Labs構建通過提供一組預構建的合格GNU Autotools以及相關的腳本來避免這種情況,這些腳本不依賴構建主機系統上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編譯/examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. 建立配置:
        make -f examples/Makefile-<platform> <switches>
  4. 將所需的二進製文件刷新到目標平台。所有生成的二進製文件都位於/output/ <platform> /bin 。使用高級模式時, <platform>可能特定於用戶的機器。例如, x86_64-apple-darwin

在每個示例的platform文件夾中都可以找到有關使用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無線電協處理器(RCP)設計--enable-ncp
--enable-radio-only

如果未使用這些標誌或平台示例,則不會構建應用程序,但仍會在/output/ <platform> /lib生成OpenThread庫文件以供項目使用。

查看每個平台的示例Makefile,以查看每個平台支持哪些標誌。例如, TI CC2650不支持FTD 。有關FTD和MTD的更多信息,請參見Thread Primer 。有關SoC和NCP設計的更多信息,請參見平台

在示例平台上,刷新這些二進製文件的過程有所不同。有關詳細說明,請參見每個平台的示例文件夾中的自述文件

OpenThread守護程序

OpenThread守護程序(OT Daemon)是一種OpenThread POSIX構建模式,可將OpenThread作為服務運行,並與RCP設計一起使用。有關如何構建和使用它的更多信息,請參見OpenThread Daemon

構建支持包

可在/third_party中找到構建支持包(BSP)。 BSP是OpenThread在每個相應平台上使用的其他第三方代碼,通常在將OpenThread移植到新的硬件平台時包括在內。