<ph type="x-smartling-placeholder"></ph> 在 GitHub 上查看源代码
如何构建 OpenThread
构建 OpenThread 的步骤因工具链、用户机器和 目标平台
最常见的工作流程是:
- 设置构建环境并安装所需的工具链:
<ph type="x-smartling-placeholder">
- </ph>
- 如需直接在计算机上构建,请参阅模拟 Codelab 了解详细说明
- 如需在预配置的环境中使用 Docker 容器,
下载并运行 OpenThread
environment
映像:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- 在您选择的环境中,克隆特定于平台的 OpenThread Git 代码库。以 CC2538 为例:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- 在克隆代码库的根目录中:
<ph type="x-smartling-placeholder">
- </ph>
- 安装工具链:
./script/bootstrap
- 构建配置:
./script/build platform-specific-args cmake-options
- 安装工具链:
- 将所需的二进制文件刷写到目标平台。所有生成的二进制文件
位于
./build/bin
。
配置
您可以为 OpenThread 配置不同的功能和行为, 构建流程下面详细介绍了可用的配置选项 位置:
类型 | 位置 |
---|---|
编译时常量 | 列在 /src/core/config 的所有头文件中 |
CMake 构建选项 | 列在“openthread/examples/README.md ”中 |
构建示例
使用 CMake 构建选项启用平台功能。例如, 在启用了 Commissioner 和 Joiner 支持的 CC2538 平台构建二进制文件:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
或者,构建具有Jam Detection 的 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 设计的全线程设备 | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
用于 SoC 设计的 Minimal Thread 设备 | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
采用网络协同处理器 (NCP) 设计的全线程设备 | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
适用于 NCP 设计的最小线程设备 | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
无线电协同处理器 (RCP) 设计 | -DOT_APP_RCP=ON -DOT_RCP=ON |
默认情况下,上述所有标志都处于启用状态。如果您明确停用所有标志,则应用不会
已构建,但 OpenThread 库文件仍在 ./build/lib
中生成,以供项目使用。
检查 examples/platforms
目录,了解每个平台的标志
支持。如需详细了解 FTD 和 MTD,请参阅
Thread Primer(线程入门)。对于
如需详细了解 SoC 和 NCP 设计,请参阅平台。
刷写这些二进制文件的过程因示例平台而异。请参阅 每个平台的 示例文件夹,了解详细说明。
OpenThread 守护程序
OpenThread 守护进程(OT 守护进程)是一种 OpenThread POSIX 构建模式, OpenThread 作为服务,与 RCP 设计搭配使用。如需详细了解 如何构建和使用它,请参阅 OpenThread 守护进程。
构建支持套餐
build 支持包 (BSP) 位于以下位置:
/third_party
。BSP 是 OpenThread 在每个相应平台上使用的其他第三方代码,通常在将 OpenThread 移植到新硬件平台时包含此代码。