Построить OpenThread

Посмотреть исходный код на GitHub

Как собрать OpenThread

Этапы сборки OpenThread различаются в зависимости от набора инструментов, компьютера пользователя и целевой платформы.

Наиболее распространенный рабочий процесс выглядит следующим образом:

  1. Настройте среду сборки и установите необходимый набор инструментов:
    1. Для создания кода непосредственно на компьютере см. подробные инструкции в Simulation Codelab.
    2. Чтобы использовать контейнер Docker с предварительно настроенной средой, загрузите и запустите образ environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. В выбранной вами среде клонируйте репозиторий OpenThread Git, специфичный для вашей платформы. В качестве примера возьмем CC2538:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. Из корневого каталога клонированного репозитория:
    1. Установите набор инструментов:
      ./script/bootstrap
      
    2. Создайте конфигурацию:
      ./script/build platform-specific-args cmake-options
      
  4. Прошейте нужный исполняемый файл на целевую платформу. Все сгенерированные исполняемые файлы находятся в ./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 -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 см. Platforms .

Процесс прошивки этих бинарных файлов различается в зависимости от платформы. Подробные инструкции см. в файлах README в папке с примерами для каждой платформы.

Демон OpenThread

Демон OpenThread (OT Daemon) — это режим сборки OpenThread POSIX, который запускает OpenThread как службу и используется в архитектуре RCP. Дополнительную информацию о сборке и использовании см. в разделе «Демон OpenThread» .

Создание пакетов поддержки

Пакеты поддержки сборки (BSP) находятся в /third_party . BSP — это дополнительный сторонний код, используемый OpenThread на каждой соответствующей платформе, обычно включаемый при портировании OpenThread на новую аппаратную платформу.