Google se compromete a promover la equidad racial para las comunidades negras. Ver cómo.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Construir OpenThread

Cadenas de herramientas

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

GNU Autotools

Las instrucciones sobre la creación de 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.

Puede ser necesaria una configuración adicional durante las compilaciones, dependiendo de su caso de uso.

GNU Autotools - Build de Nest Labs

Nest Labs ha creado un marco de sistema de construcción llave en mano personalizado, basado en GNU Autotools. Esto se usa para paquetes de software independientes que necesitan soportar:

  • Construyendo y apuntando 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 usar con OpenThread porque algunos sistemas host de compilación podrían no tener GNU Autotools, o podrían tener diferentes versiones y distribuciones. Esto lleva a una salida inconsistente de Autotools primaria y secundaria, lo que resulta en una experiencia de soporte y usuario divergente. La compilación de Nest Labs evita esto al proporcionar un conjunto calificado y preconstruido 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 utilizar esta herramienta para sus compilaciones de OpenThread, consulte el archivo README .

Cómo construir OpenThread

Los pasos para construir 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 Codelab 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 cree, 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. Construye la configuración:
         make -f examples/Makefile- <platform> <switches> 
  4. Flash el binario deseado a la plataforma de destino. Todos los archivos binarios generados se encuentran en /output/ <platform> /bin . Cuando se usa 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 la construcción de 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 Enumerados en todos los archivos de encabezado en /src/core/config
Makefile build switches Listado en /examples/common-switches.mk

Construir ejemplos

Use un interruptor para habilitar la funcionalidad para 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 archivos binarios se generan en /output/ <platform> /bin desde el proceso de compilación. Para determinar qué archivos binarios se generan, utilice los indicadores de opción de configuración con el comando ./configure para generar un Makefile actualizado para la construcción. Por ejemplo, para construir OpenThread y generar solo los binarios de la CLI:

 ./configure --enable-cli
make 
Binario Descripción Configurar banderas de opciones
ot-cli-ftd Dispositivo de hilo completo para diseños de SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositivo de rosca mínima para diseños de SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositivo de hilo completo para diseños NCP --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositivo de subproceso mínimo para diseños NCP --enable-ncp
--enable-mtd
ot-rcp Diseño de host / controlador 802.15.4 --enable-ncp
--enable-radio-only

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

Consulte el ejemplo de Makefiles para cada plataforma para ver qué banderas admite cada plataforma. Por ejemplo, la TI CC2650 no es compatible con FTD . Para obtener más información sobre FTD y MTD, consulte el 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 README en la carpeta de ejemplo de cada plataforma para obtener instrucciones detalladas.

Crear paquetes de soporte

Los paquetes de soporte de construcció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 portar OpenThread a una nueva plataforma de hardware.