Посмотреть исходный код на 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 на новую аппаратную платформу.
Посмотреть исходный код на 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 на новую аппаратную платформу.