Посмотреть исходный код на GitHub
Как собрать OpenThread
Шаги по созданию OpenThread различаются в зависимости от набора инструментов, пользовательского компьютера и целевой платформы.
Наиболее распространенный рабочий процесс:
-  Настройте среду сборки и установите нужную цепочку инструментов:- Чтобы построить непосредственно на машине, см. подробные инструкции в лаборатории моделирования.
-  Чтобы использовать Docker-контейнер с предварительно настроенной средой, скачайте и запустите образ environmentOpenThread: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 | Перечислено в openthread/examples/README.md | 
Примеры сборки
Используйте параметры сборки 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 и сгенерировать только двоичный файл CLI FTD:
./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 | -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 см. в разделе «Платформы» .
Процесс прошивки этих двоичных файлов различается в зависимости от платформы. Подробные инструкции см. в файлах README в папке с примерами каждой платформы.
Демон OpenThread
OpenThread Daemon (OT Daemon) — это режим сборки OpenThread POSIX, который запускает OpenThread как службу и используется с дизайном RCP. Дополнительные сведения о том, как его создать и использовать, см. в разделе OpenThread Daemon .
Пакеты поддержки сборки
 Пакеты поддержки сборки (BSP) находятся в /third_party . BSP — это дополнительный сторонний код, используемый OpenThread на каждой соответствующей платформе, который обычно включается при портировании OpenThread на новую аппаратную платформу.