Apache Mynewt


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Apache Mynewt es un sistema operativo modular en tiempo real para dispositivos conectados a Internet de las cosas (IoT) [2] que deben funcionar durante mucho tiempo con limitaciones de energía, memoria y almacenamiento. Es un software gratuito y de código abierto que se incuba bajo la Apache Software Foundation , [3] con código fuente distribuido bajo Apache License 2.0 , una licencia permisiva que favorece la adopción comercial de software de código abierto . [4]

Visión general

Apache Mynewt es un sistema operativo en tiempo real con un amplio conjunto de bibliotecas destinadas a facilitar la creación de prototipos, la implementación y la administración de dispositivos IoT basados ​​en microcontroladores de 32 bits . [5] Es altamente componible, para permitir la construcción de aplicaciones de sistemas integrados (por ejemplo, cerraduras, dispositivos médicos, IoT industrial) en diferentes tipos de microcontroladores. El nombre Mynewt es un juego de palabras de la palabra inglesa minute , que significa muy pequeño: el kernel tiene solo 6 KB de tamaño.

El sistema operativo está diseñado para la conectividad y viene con una implementación completa de la pila 4.2 de Bluetooth de baja energía . Con la adición de BLE (compatible con todas las funciones de seguridad compatibles con Bluetooth 4.2, excepto la privacidad) y varias utilidades, como el sistema de archivos predeterminado, la consola, el shell, los registros, las estadísticas, etc., el tamaño de la imagen es de aproximadamente 96 KB para el SoC Bluetooth Nordic nRF51822 . [6] Esta métrica de tamaño excluye la imagen del cargador de arranque .

Funciones principales

El sistema operativo principal admite: [3]

  • preventivo multihilo
  • Tickless basado en prioridades de programación
  • Temporizadores programables
  • hora del sistema
  • Semáforos
  • Mutexes
  • Colas de eventos
  • Gestión de memoria (asignación): dinámica (montón) y grupo
  • Temporizador de vigilancia de software de varias etapas
  • Búferes de memoria o datos , para contener los datos del paquete a medida que se mueven hacia arriba y hacia abajo en la pila de protocolos de red.

Otras características y utilidades incluyen:

  • Capa de abstracción de hardware con soporte para tiempo de CPU , convertidor de analógico a digital (ADC), convertidor de digital a analógico (DAC), entrada / salida de uso general (GPIO), circuito interintegrado ( I²C ), ancho de pulso modulación (PWM), puerto serie , bus de interfaz periférica serie (SPI), receptor / transmisor asíncrono universal (UART).
  • Sistema de archivos flash de Newtron (nffs) con un uso mínimo de RAM y características de confiabilidad
  • Abstracción del sistema de archivos para permitir que el código del cliente elija sistemas de archivos alternativos
  • Acceso a la consola y paquete de shell
  • Cargador de arranque seguro y organizador de imágenes (administrador) que incluye verificación de integridad de imagen mediante SHA-256 y verificación de firma digital opcional de imágenes antes de ejecutarlas
  • Probar utilidades para crear pruebas de regresión
  • Estadísticas y registros de todos los paquetes principales
  • Bibliotecas de codificadores y decodificadores de notación de objetos JavaScript ( JSON )
  • Intérprete lua

Bluetooth de baja energía

La primera pila de red disponible en Mynewt es Bluetooth de baja energía [7] y se llama NimBLE. Cumple con la especificación 4.2 de Bluetooth Core. [8]

NimBLE incluye los componentes del host y del controlador. El acceso al código fuente del controlador hace que el rendimiento de BLE sea altamente configurable. Por ejemplo, el rendimiento de BLE se puede ajustar cambiando los intervalos de conexión, el tamaño del paquete de datos, el tamaño de la cola de paquetes, etc. Un caso de uso que requiera una gran cantidad de conexiones simultáneas se puede configurar de manera similar, siempre que haya suficiente RAM asignada. El paquete incluye aplicaciones de ejemplo que demuestran cómo utilizar los servicios disponibles.

Tableros compatibles

El sistema operativo está diseñado para uso multiplataforma en sistemas integrados (dispositivos) y microcontroladores. Incluye paquetes de soporte de placa para lo siguiente, a partir de marzo de 2017 :

  • nRF52832 SoC Bluetooth de Nordic Semiconductor
  • nRF51822 / nRF51422 SoC Bluetooth de Nordic Semiconductor
  • STM32F3DISCOVERY con STM32 F3xx serie Cortex-M4 de ST
  • STM32- E407 para STM32F407ZGT6 Cortex M4 de ST
  • Arduino Zero y Zero Pro
  • Arduino M0 Pro con ATSAMD21G18 Cortex M0
  • Arduino 101 , solo controlador Bluetooth
  • Arduino Primo , controlador y host de Bluetooth

Gestión de paquetes

El proyecto incluye la herramienta Newt, que es un sistema de gestión de paquetes de fuente inteligente basado en una interfaz de línea de comandos (CLI) para el desarrollo de sistemas integrados. Además, permite componer compilaciones con paquetes específicos y opciones de compilador, generar imágenes y sus firmas digitales y, finalmente, descargar y depurar el firmware en diferentes destinos.

Ver también

  • Sistema operativo integrado
  • Comparación de sistemas operativos en tiempo real

Referencias

  1. ^ "Descargar - Apache Mynewt" . mynewt.apache.org . Fundación de software Apache . Consultado el 13 de abril de 2021 .
  2. ^ "Arduino y Runtime colaboran para introducir Apache Mynewt (incubando) al ecosistema Arduino" . globenewswire.com . Consultado el 24 de mayo de 2016 .
  3. ^ "Estado de incubación de Mynewt - Incubadora Apache" . incubator.apache.org . Consultado el 24 de mayo de 2016 .
  4. ^ "Apache Mynewt RTOS aborda las restricciones de almacenamiento, memoria y potencia de IoT" . www.infoq.com . Consultado el 28 de junio de 2016 .
  5. ^ "Objetivos abiertos de RTOS netos de cosas" . www.eetimes.com . Consultado el 24 de mayo de 2016 .
  6. ^ "nRF51822" . Archivado desde el original el 17 de mayo de 2016 . Consultado el 24 de mayo de 2016 .
  7. ^ "Apache Mynewt encuentra un hogar en los últimos SBC de Arduino Srl" . www.linuxtoday.com . Consultado el 24 de mayo de 2016 .
  8. ^ Especificación de Bluetooth Core 4.2

enlaces externos

  • Página web oficial
  • Repositorio de origen de Apache Mynewt
Obtenido de " https://en.wikipedia.org/w/index.php?title=Apache_Mynewt&oldid=1017542318 "