Google стремится к продвижению расового равенства для чернокожего населения. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Построить OpenThread

компилированные инструменты

Первичный поддерживается Набор инструментов для построения OpenThread является GNU Autotools.

GNU Autotools

Инструкцию по строительству примеров с GNU Autotools можно найти в каждом примере в папке платформы . Обратите внимание, что цель этих примеров, чтобы показать минимальный код, необходимый для запуска OpenThread на каждой соответствующей платформе. Таким образом, они не подсвечиваются все возможности платформы.

Дальнейшая настройка во время сборки может потребоваться, в зависимости от вашего использования.

GNU Autotools - Nest Labs сборки

Nest Labs создала структуру системы настроены, под ключ сборки, основанный на GNU Autotools. Используются для автономных программных пакетов, которые нужно поддерживать:

  • наращивание и ориентации на хост-систем автономной сборки
  • встроенные целевые системы, использующие GCC, на основе или -Совместимость компилированных инструментов

Nest Labs сборка GNU Autotools рекомендую для использования с OpenThread, потому что некоторые системы сборки хоста могут не иметь GNU Autotools, или могут иметь различные варианты и распределение. Это приводит к несовместимому первичному и вторичному выводу Autotools, что приводит к расходящемуся пользователю и вспомогательного опыт. Строит гнездо Labs позволяет избежать этого, предоставляя преднастроенный, квалифицированный набор GNU Autotools с соответствующими сценариями, которые не зависят от версии Autotools в системе сборки узла.

Этот проект, как правило, subtreed (или мерзавец submoduled) в хранилище целевого проекта и служит в качестве затравки для системы сборки этого проекта.

Чтобы узнать больше, или использовать этот инструмент для вашего OpenThread сборки, см README .

Как построить OpenThread

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

Наиболее распространенный является рабочим процессом:

  1. Настройка среды сборки и установки желаемого набора инструментов:
    1. Для того, чтобы построить непосредственно на машине, см Simulation Codelab для подробных инструкций
    2. Для того, чтобы использовать контейнер Docker с предварительно настроенной среде, загрузки и запуска OpenThread environment изображения:
       docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash 
  2. В выбранной среде, клонировать репозиторий OpenThread Git:
     git clone https://github.com/openthread/openthread 
  3. Из корневого каталога клонированного хранилища:
    1. Установите набор инструментов GNU и другие зависимости (необязательно):
       ./script/bootstrap 
    2. Настройка среды:
       ./bootstrap 
    3. Настройка и сборки, используя предопределенные примеры платформы с опциональной настройкой с помощью общих переключателей:
      1. Изменение OpenThread константы времени компиляции в выбранной платформы /examples/platforms/ <platform> /openthread-core- <platform> -config.h - /examples/platforms/ <platform> /openthread-core- <platform> -config.h файл
      2. Построить конфигурацию:
         make -f examples/Makefile- <platform> <switches> 
  4. Вспышка нужный двоичный файл на целевой платформе. Все генерируемые двоичные файлы находятся в /output/ <platform> /bin . При использовании расширенного режима, то <platform> могут быть специфическими для компьютера пользователя. Например, x86_64-apple-darwin .

Конкретные инструкции по строительству поддерживаемых платформ с GNU Autotools можно найти в каждом примере в папке платформы .

конфигурация

Вы можете настроить OpenThread для различной функциональности и поведения во время процесса сборки. Доступные варианты конфигурации подробно описаны в следующих местах:

Тип Расположение
константы времени компиляции Включенный в список всех файлов заголовков в /src/core/config
строят выключатели Makefile Перечислено в /examples/common-switches.mk

примеры Телосложение

Используйте переключатель, чтобы включить функциональные возможности для примерной платформы. Например, чтобы построить пример CC2538 с поддержкой комиссар и столяром поддержка:

 make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1 

Или построить пример nRF52840 с особенностью обнаружения Jam включено:

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

Бинарные

Следующие двоичные файлы генерируются /output/ <platform> /bin от процесса сборки. Для того, чтобы определить , какие двоичные файлы генерируются, используйте конфигурационные опции флаги с ./configure команды , чтобы сформировать обновленный Makefile для построения. Например, чтобы построить OpenThread и генерировать только CLI двоичные файлы:

 ./configure --enable-cli
make 
двоичный Описание Настройка флагов опций
ot-cli-ftd Полное устройство Нити для SoC конструкций --enable-cli
--enable-ftd
ot-cli-mtd Минимально устройство Нити для SoC конструкций --enable-cli
--enable-mtd
ot-ncp-ftd Полное устройство Нити для NCP конструкций --enable-ncp
--enable-ftd
ot-ncp-mtd Минимальное устройство для резьбы НКТ конструкций --enable-ncp
--enable-mtd
ot-rcp Host / 802.15.4 дизайн контроллера --enable-ncp
--enable-radio-only

Если ни эти флаги , ни пример платформы не используются, приложения не достроены , но библиотечные файлы OpenThread по - прежнему генерируется в /output/ <platform> /lib для использования в проекте.

Проверьте пример Makefiles для каждой платформы, чтобы увидеть, какие флаги каждой платформу поддерживает. Например, ТИ CC2650 не поддерживает УТД . Для получения дополнительной информации о УТДЕ и MTDS см тема Primer . Для получения дополнительной информации о SoC и NCP конструкций см платформы .

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

Построить пакеты поддержки

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