Google致力于提高黑人社区的种族平等。 怎么看。
此页面由 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 主机/802.15.4控制器设计 --enable-ncp
--enable-radio-only

如果未使用这些标志或平台示例,则不会构建应用程序,但仍会在/output/ <platform> /lib生成OpenThread库文件以供项目使用。

查看每个平台的示例Makefile,以查看每个平台支持哪些标志。例如, TI CC2650不支持FTD 。有关FTD和MTD的更多信息,请参见Thread Primer 。有关SoC和NCP设计的更多信息,请参见平台

在示例平台上,刷新这些二进制文件的过程有所不同。有关详细说明,请参见每个平台的示例文件夹中的自述文件

构建支持包

可在/third_party中找到构建支持包(BSP)。 BSP是OpenThread在每个相应平台上使用的其他第三方代码,通常在将OpenThread移植到新的硬件平台时包括在内。