El equipo de OpenThread, los proveedores de silicio y la comunidad trasladaron OpenThread a Google a varios dispositivos y plataformas. Los ejemplos de compilación para todas las plataformas transferidas se incluyen en el repositorio de OpenThread.
Consulta Proveedores de búsqueda para obtener una lista de todas las plataformas compatibles y los puertos de la comunidad compatibles con proveedores.
Asistencia
La asistencia para cada plataforma varía con el tiempo. Algunas plataformas están etiquetadas con el nivel de asistencia actual que identifica el equipo de OpenThread. Las plataformas sin etiqueta no se probaron recientemente y se puede considerar que tienen "Asistencia limitada".
Nivel de asistencia | Descripción |
---|---|
![]() |
Asistencia completa y básica, así como cualquier componente de certificación de Thread que use OpenThread. Muchas de estas plataformas se probaron y usaron por el equipo de OpenThread, y se recomienda usarlas en nuestras demostraciones y Codelabs. |
![]() |
Estas plataformas no se probaron por completo y es posible que falten algunas funciones clave. |
![]() |
Actualmente no es compatible y es posible que tenga problemas para ejecutar OpenThread. Úsalo bajo tu responsabilidad. |
Arquitectura del sistema

OpenThread está diseñado para la portabilidad y la flexibilidad. El código es C/C++ portátil (C99 y C++11), que es independiente de la arquitectura del sistema debido a una capa de abstracción estrecha. Esta capa de abstracción significa que OpenThread puede ejecutarse en Bare Metal o en un SO. Hasta la fecha, se demostró que OpenThread se ejecuta en FreeRTOS, RIOT-OS, Zephyr OS, Linux y macOS.
La naturaleza portátil de OpenThread no hace suposiciones sobre las funciones de la plataforma. OpenThread proporciona los hooks para usar funciones de radio y criptografía mejoradas, lo que reduce los requisitos del sistema, como la memoria, el código y los ciclos de procesamiento. Esto se puede hacer por plataforma, manteniendo la capacidad de establecer una configuración predeterminada de forma predeterminada.
OpenThread tiene un sistema de compilación configurable con el cual un desarrollador puede habilitar o inhabilitar funciones según sea necesario. Más allá de la cadena de herramientas predeterminada de GNU, la fuente está diseñada para funcionar con varias otras cadenas de herramientas populares como IAR y Visual Studio.
Diseños de plataformas
OpenThread admite diseños en sistema en chip (SoC) y coprocesador de red (NCP).
Un SoC es una solución de un solo chip que tiene el procesador RFIC combinado (802.15.4 en el caso de Thread) y el procesador, en el que OpenThread y la capa de la aplicación se ejecutan en el procesador local.
Un diseño de NCP es donde la capa de la aplicación se ejecuta en un procesador host y se comunica con OpenThread a través de una conexión en serie mediante un protocolo host-controlador estandarizado que llamamos Spinel. En este diseño, OpenThread puede ejecutarse en la radio o en el procesador host.
Chip único, solo Thread (SoC)

En este diseño, la capa de la aplicación y OpenThread se ejecutan en el mismo procesador. La aplicación usa directamente la API de OpenThread y la pila IPv6.
Este es el diseño de SoC que más se usa para los dispositivos finales. Debido a que está altamente integrado en un solo silicio, tiene el costo más bajo y el menor consumo de energía.
Chip de interfaz múltiple (SoC)

Cuando un SoC tiene varias radios, como 802.15.4 y Wi-Fi, o 802.15.4 y Bluetooth de bajo consumo (BLE), la capa de la aplicación y OpenThread aún se ejecutan en el mismo procesador. En el diseño de interfaces múltiples, OpenThread aprovecha la pila de IPv6 de terceros compartida a través de una interfaz de datagramas IPv6 sin procesar.
Diseños de coprocesadores
OpenThread admite diseños de radioprocesador (RCP) y coprocesador de red (NCP). Para obtener más información, consulta Diseños de coprocesadores.
Problemas con la plataforma abierta
Actualmente, los siguientes problemas están abiertos para las plataformas de OpenThread: