如何建構 OpenThread
建構 OpenThread 的步驟會因工具鍊、使用者電腦和目標平台而異。
最常見的工作流程如下:
- 設定建構環境並安裝所需的工具鍊:
- 如要在電腦上直接建構,請參閱模擬程式碼研究室,瞭解詳細操作說明。
- 如要使用預先設定環境的 Docker 容器,請下載並執行 OpenThread
environment映像檔:docker pull openthread/environment:latestdocker run -it --rm openthread/environment bash
- 在所選環境中,複製平台專屬的 OpenThread Git 存放區。以 CC2538 為例:
git clone https://github.com/openthread/ot-cc2538.git --recursive - 在複製的存放區根目錄中:
- 安裝工具鍊:
./script/bootstrap - 建構設定:
./script/build platform-specific-args cmake-options
- 安裝工具鍊:
- 將所需二進位檔刷入目標平台。所有產生的二進位檔都位於
./build/bin中。
設定
您可以在建構程序中,為不同的功能和行為設定 OpenThread。如要瞭解可用的設定選項,請參閱下列文章:
| 類型 | 位置 |
|---|---|
| 編譯時間常數 | 列於 /src/core/config 中的所有標頭檔案 |
| cmake 建構選項 | 列於「/etc/cmake/options.cmake」 |
建構範例
使用 cmake 建構選項,為平台啟用功能。舉例來說,如要為 CC2538 平台建構二進位檔,並啟用 Commissioner 和 Joiner 支援,請執行下列指令:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
或者,如要在存放區中啟用干擾偵測功能,請建構 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 設計的完整 Thread 裝置 | -DOT_APP_CLI=ON-DOT_FTD=ON |
ot-cli-mtd |
SoC 設計的最低 Thread 裝置 | -DOT_APP_CLI=ON-DOT_MTD=ON |
ot-ncp-ftd |
適用於網路共同處理器 (NCP) 設計的完整 Thread 裝置 | -DOT_APP_NCP=ON-DOT_FTD=ON |
ot-ncp-mtd |
NCP 設計的最小 Thread 裝置 | -DOT_APP_NCP=ON-DOT_MTD=ON |
ot-rcp |
無線電共同處理器 (RCP) 設計 | -DOT_APP_RCP=ON-DOT_RCP=ON |
根據預設,上述所有標記都會啟用。如果您明確停用所有標記,系統不會建構應用程式,但仍會在 ./build/lib 中產生 OpenThread 程式庫檔案,供專案使用。
請查看 examples/platforms 目錄,瞭解各平台支援哪些旗標。如要進一步瞭解 FTD 和 MTD,請參閱「Thread 基礎知識」。如要進一步瞭解 SoC 和 NCP 設計,請參閱「平台」。
不同範例平台刷入這些二進位檔的程序有所不同。如需詳細操作說明,請參閱各平台範例資料夾中的 README。
OpenThread Daemon
OpenThread Daemon (OT Daemon) 是 OpenThread POSIX 建構模式,可將 OpenThread 做為服務執行,並搭配 RCP 設計使用。如要進一步瞭解如何建構及使用,請參閱「OpenThread Daemon」。
建構支援套件
建構支援套件 (BSP) 位於 /third_party。BSP 是 OpenThread 在各個平台上使用的額外第三方程式碼,通常會在將 OpenThread 移植到新的硬體平台時一併納入。