Посмотреть исходный код на GitHub
Как собрать OpenThread
Шаги по сборке OpenThread различаются в зависимости от цепочки инструментов, пользовательского компьютера и целевой платформы.
Наиболее распространенный рабочий процесс:
- Настройте среду сборки и установите нужную цепочку инструментов:
- Для сборки непосредственно на машине см. Simulation Codelab для получения подробных инструкций.
- Чтобы использовать контейнер Docker с предварительно настроенной средой, загрузите и запустите образ
environment
OpenThread:
.docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- В выбранной вами среде клонируйте Git-репозиторий OpenThread для конкретной платформы. Возьмем 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 и сгенерировать только бинарный файл 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 | Устройство Full Thread для проектов SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd | Устройство с минимальной резьбой для конструкций SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd | Устройство Full Thread для проектов с сетевым сопроцессором (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 (OT Daemon) — это режим сборки OpenThread POSIX, который запускает OpenThread как службу и используется с дизайном RCP. Для получения дополнительной информации о том, как создать и использовать его, см. OpenThread Daemon .
Создание пакетов поддержки
Пакеты поддержки сборки (BSP) находятся в /third_party
. BSP — это дополнительный сторонний код, используемый OpenThread на каждой соответствующей платформе, обычно включаемый при переносе OpenThread на новую аппаратную платформу.