Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Construir OpenThread

Cadenas de herramientas

La cadena de herramientas principal compatible para crear OpenThread es GNU Autotools.

Herramientas automáticas GNU

Las instrucciones sobre cómo crear ejemplos con GNU Autotools se pueden encontrar en la carpeta de la plataforma de cada ejemplo. Tenga en cuenta que la intención de estos ejemplos es mostrar el código mínimo necesario para ejecutar OpenThread en cada plataforma respectiva. Como tal, no destacan todas las capacidades de la plataforma.

Es posible que sea necesaria una configuración adicional durante las compilaciones, según su caso de uso.

Herramientas automáticas GNU: compilación de Nest Labs

Nest Labs ha creado un marco de sistema de construcción llave en mano personalizado, basado en GNU Autotools. Se utiliza para paquetes de software independientes que deben admitir:

  • construir y apuntar contra sistemas host de compilación independientes
  • sistemas de destino integrados que utilizan cadenas de herramientas compatibles o basadas en GCC

La compilación de Nest Labs de GNU Autotools se recomienda para su uso con OpenThread porque algunos sistemas host de compilación pueden no tener GNU Autotools, o pueden tener diferentes versiones y distribuciones. Esto conduce a una salida de Autotools primaria y secundaria inconsistente, lo que resulta en una experiencia de usuario y de soporte divergente. La compilación de Nest Labs evita esto al proporcionar un conjunto calificado y predefinido de GNU Autotools con scripts asociados que no dependen de las versiones de Autotools en el sistema host de compilación.

Este proyecto suele estar subtreed (o submódulo de git) en un repositorio de proyecto de destino y sirve como semilla para el sistema de compilación de ese proyecto.

Para obtener más información o para utilizar esta herramienta para sus compilaciones de OpenThread, consulte el archivo README .

Cómo construir OpenThread

Los pasos para crear OpenThread varían según la cadena de herramientas, la máquina del usuario y la plataforma de destino.

El flujo de trabajo más común es:

  1. Configure el entorno de compilación e instale la cadena de herramientas deseada:
    1. Para construir directamente en una máquina, consulte el Laboratorio de código de simulación para obtener instrucciones detalladas
    2. Para usar un contenedor Docker con un entorno preconfigurado, descargue y ejecute la imagen del environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
  2. Dentro de su entorno elegido, clone el repositorio OpenThread Git:
    git clone https://github.com/openthread/openthread
  3. Desde el directorio raíz del repositorio clonado:
    1. Instale la cadena de herramientas GNU y otras dependencias (opcional):
      ./script/bootstrap
    2. Configurar el entorno:
      ./bootstrap
    3. Configure y compile, utilizando ejemplos de plataforma predefinidos con personalización opcional a través de conmutadores comunes:
      1. Modifique las constantes de tiempo de compilación de /examples/platforms/ <platform> /openthread-core- <platform> -config.h archivo /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Construya la configuración:
        make -f examples/Makefile-<platform> <switches>
  4. Actualice el binario deseado en la plataforma de destino. Todos los binarios generados se encuentran en /output/ <platform> /bin . Cuando se utiliza el modo avanzado, la <platform> puede ser específica de la máquina del usuario. Por ejemplo, x86_64-apple-darwin .

Las instrucciones específicas sobre cómo construir plataformas compatibles con GNU Autotools se pueden encontrar en la carpeta de la plataforma de cada ejemplo.

Configuración

Puede configurar OpenThread para diferentes funciones y comportamientos durante el proceso de compilación. Las opciones de configuración disponibles se detallan en las siguientes ubicaciones:

Tipo Ubicación
Constantes de tiempo de compilación Listado en todos los archivos de encabezado en /src/core/config
Conmutadores de compilación de Makefile /examples/common-switches.mk en /examples/common-switches.mk

Ejemplos de construcción

Utilice un conmutador para habilitar la funcionalidad de una plataforma de ejemplo. Por ejemplo, para construir el ejemplo CC2538 con el soporte de Commissioner y Joiner habilitado:

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

O, para construir el ejemplo nRF52840 con la función de detección de atascos habilitada:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

Binarios

Los siguientes binarios se generan en /output/ <platform> /bin desde el proceso de compilación. Para determinar qué binarios se generan, use los indicadores de opción de configuración con el comando ./configure para generar un Makefile actualizado para Makefile . Por ejemplo, para compilar OpenThread y generar solo los binarios CLI:

./configure --enable-cli
make
Binario Descripción Configurar banderas de opciones
ot-cli-ftd Dispositivo de rosca completa para diseños de SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositivo Minimal Thread para diseños SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositivo de subproceso completo para diseños de coprocesador de red (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositivo de rosca mínima para diseños NCP --enable-ncp
--enable-mtd
ot-rcp Diseño de coprocesador de radio (RCP) --enable-ncp
--enable-radio-only

Si no se utilizan estos indicadores ni un ejemplo de plataforma, las aplicaciones no se compilan, pero los archivos de la biblioteca OpenThread aún se generan en /output/ <platform> /lib para su uso en un proyecto.

Consulte los Makefiles de ejemplo para cada plataforma para ver qué indicadores admite cada plataforma. Por ejemplo, la TI CC2650 no es compatible con FTD . Para obtener más información sobre FTD y MTD, consulte Thread Primer . Para obtener más información sobre los diseños de SoC y NCP, consulte Plataformas .

El proceso para actualizar estos binarios varía según las plataformas de ejemplo. Consulte los archivos READMEs en la carpeta de ejemplo de cada plataforma para obtener instrucciones detalladas.

Demonio OpenThread

OpenThread Daemon (OT Daemon) es un modo de compilación OpenThread POSIX que ejecuta OpenThread como un servicio y se utiliza con el diseño RCP. Para obtener más información sobre cómo compilarlo y usarlo, consulte OpenThread Daemon .

Crear paquetes de soporte

Los paquetes de soporte de compilación (BSP) se encuentran en /third_party . Los BSP son códigos de terceros adicionales utilizados por OpenThread en cada plataforma respectiva, generalmente incluidos al migrar OpenThread a una nueva plataforma de hardware.