Cómo compilar OpenThread
Los pasos para compilar OpenThread varían según la cadena de herramientas, la máquina del usuario y plataforma de destino.
El flujo de trabajo más común es el siguiente:
- Configura el entorno de compilación y, luego, instala la cadena de herramientas deseada:
- Si deseas compilar directamente en una máquina, consulta el Codelab de simulación para obtener instrucciones detalladas.
- Para usar un contenedor de Docker con un entorno preconfigurado,
Descarga y ejecuta la imagen
environment
de OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- En el entorno que elegiste, clona el repositorio de Git de OpenThread específico de la plataforma. Tomemos CC2538 como ejemplo:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Desde el directorio raíz del repositorio clonado, haz lo siguiente:
- Instala la cadena de herramientas:
./script/bootstrap
- Compila la configuración:
./script/build platform-specific-args cmake-options
- Instala la cadena de herramientas:
- Escribe en la memoria flash del objeto binario deseado la plataforma de destino. Todos los objetos binarios generados
ubicado en
./build/bin
.
Configuración
Puedes configurar OpenThread para diferentes funcionalidades y comportamientos durante la de compilación. Las opciones de configuración disponibles se detallan a continuación ubicaciones:
Tipo | Ubicación |
---|---|
Constantes de tiempo de compilación | Aparece en todos los archivos de encabezado de /src/core/config |
Opciones de compilación de CMake | Aparece en openthread/examples/README.md |
Ejemplos de compilación
Usa las opciones de compilación de CMake para habilitar la funcionalidad de la plataforma. Por ejemplo, para compila el objeto binario para la plataforma CC2538 con la compatibilidad habilitada de Commissioner y Joiner:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Como alternativa, para compilar la plataforma nRF52840 con la función de detección de bloqueos feature habilitado en el repositorio:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Objetos binarios
Los siguientes objetos binarios se generan en ./build/bin
a partir del proceso de compilación. Para determinar qué objetos binarios se generan, usa marcas con el comando ./script/build
. Por ejemplo, para compilar OpenThread y generar solo el objeto binario de la CLI de FTD, haz lo siguiente:
./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
Binaria | Descripción | Opciones |
---|---|---|
ot-cli-ftd |
Dispositivo de Thread completo para diseños de SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Dispositivo Thread mínimo para diseños de SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Dispositivo de Thread completo para diseños de coprocesadores de red (NCP) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
Dispositivo Thread mínimo para diseños NCP | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
Diseño de coprocesadores de radio (RCP) | -DOT_APP_RCP=ON -DOT_RCP=ON |
De forma predeterminada, todas las marcas anteriores están habilitadas. Si inhabilitas explícitamente todas las marcas, las aplicaciones no
pero los archivos de la biblioteca de OpenThread aún se generan en ./build/lib
para usarlos en un proyecto.
Consulta el directorio examples/platforms
para ver qué marcas cada plataforma
admite. Para obtener más información sobre los FTD y MTD, consulta la
Primer para hilos. Para
Para obtener más información sobre los diseños de SoC y NCP, consulta Plataformas.
El proceso para escribir estos objetos binarios en la memoria flash varía según las plataformas de ejemplo. Consulta la archivos README en el archivo carpeta de ejemplo para obtener instrucciones detalladas.
Daemon de OpenThread
OpenThread Daemon (OT Daemon) es un modo de compilación POSIX de OpenThread que se ejecuta OpenThread como servicio y se usa con el diseño de RCP. Para obtener más información para obtener información sobre cómo compilarla y usarla, consulta OpenThread Daemon.
Cómo crear paquetes de asistencia
Los paquetes de asistencia de compilación (BSP) se encuentran en
/third_party
Los BSP son código adicional de terceros que usa OpenThread en cada plataforma respectiva y que, por lo general, se incluyen cuando se porta OpenThread a una plataforma de hardware nueva.