Посмотреть исходный код на GitHub
Как собрать OpenThread
Этапы сборки OpenThread различаются в зависимости от набора инструментов, компьютера пользователя и целевой платформы.
Наиболее распространенный рабочий процесс выглядит следующим образом:
- Настройте среду сборки и установите необходимый набор инструментов:
- Для создания кода непосредственно на компьютере см. подробные инструкции в Simulation Codelab.
- Чтобы использовать контейнер 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 | Указано в файле /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 на новую аппаратную платформу.