El Micro Framework .NET (NETMF) es un .NET Framework plataforma para dispositivos con recursos limitados con al menos 512 kB de flash y 256 kB de memoria de acceso aleatorio (RAM). Incluye una versión pequeña de .NET Common Language Runtime (CLR) y admite el desarrollo en C # , Visual Basic .NET y la depuración (en un emulador o en hardware) mediante Microsoft Visual Studio . NETMF presenta un subconjunto de las bibliotecas de clases base .NET (aproximadamente 70 clases con aproximadamente 420 métodos), una implementación de Windows Communication Foundation (WCF), un marco de GUI basado libremente enWindows Presentation Foundation (WPF) y una pila de servicios web basada en el Protocolo simple de acceso a objetos ( SOAP ) y el Lenguaje de descripción de servicios web (WSDL). NETMF también incluye bibliotecas adicionales específicas para aplicaciones integradas. Es un software gratuito y de código abierto publicado bajo Apache License 2.0.
Desarrollador (es) | Microsoft y .NET Foundation |
---|---|
Versión inicial | 2007 |
Lanzamiento estable | 4.4 [1] / 20 de octubre de 2015 |
Repositorio | github |
Escrito en | C ++ |
Sistema operativo | Ventanas |
Plataforma | BRAZO , Blackfin |
Disponible en | inglés |
Tipo | Marco de software |
Licencia | Licencia de Apache 2.0 [2] |
Sitio web | netmf |
El Micro Framework tiene como objetivo hacer que el desarrollo integrado sea más fácil, más rápido y menos costoso al brindar a los desarrolladores integrados acceso a las tecnologías y herramientas modernas que utilizan los desarrolladores de aplicaciones de escritorio. Además, permite a los desarrolladores de .NET de escritorio utilizar sus habilidades en sistemas integrados , ampliando el grupo de desarrolladores integrados calificados.
Micro Framework es parte de .NET Foundation . [3] Anunciada en la conferencia Build 2014, la fundación se creó como un foro independiente para fomentar el desarrollo abierto y la colaboración en torno al creciente conjunto de tecnologías de código abierto para .NET. [4]
Características
En relación con otras plataformas .NET, las características únicas de Micro Framework son:
- Necesidades de memoria de unos 300 KB; por el contrario, la siguiente implementación de .NET más pequeña, .NET Compact Framework que se ejecuta en Windows CE , necesita alrededor de 12 MB
- Puede ejecutarse directamente en una máquina sin sistema operativo o puede ejecutarse en un sistema operativo (SO)
- Admite interconexiones y periféricos integrados comunes, incluida la memoria flash , EEPROM , GPIO , I²C , bus de interfaz de periféricos en serie (SPI), puerto en serie , USB
- Optimizado para la eficiencia energética en dispositivos que funcionan con baterías
- No necesita unidad de gestión de memoria
- Proporciona compatibilidad con subprocesos múltiples incluso cuando se ejecuta en sistemas operativos de un solo subproceso
- Una capa de abstracción de hardware permite la migración a otras arquitecturas.
- Un modelo de controlador de dispositivo administrado permite que los controladores de muchos dispositivos se escriban en C #
- Restricciones de ejecución para detectar bloqueos y bloqueos de dispositivos
- Soporte transparente para almacenar objetos en memoria no volátil
Debido a las limitaciones bajo las cuales opera, Micro Framework tiene algunos límites más allá de los impuestos por sus bibliotecas reducidas. Por ejemplo, la plataforma no admite multiprocesamiento simétrico , matrices multidimensionales, tipos dependientes de la máquina o instrucciones inseguras. El CLR es un intérprete en lugar de un compilador justo a tiempo, y utiliza un recolector de basura de marca y barrido más simple en lugar de un método generacional. Se está desarrollando un compilador anticipado [5] utilizando un compilador LLVM modificado . La interoperación entre código administrado y nativo tiene actualmente varias limitaciones. A partir de 2011, Micro Framework admitía dos lenguajes .NET: C # y Visual Basic. [6]
Apoyo
A partir de 2013, .NET Micro Framework era compatible con procesadores de arquitectura ARM (incluidos ARM7, ARM9 y Cortex-M) y en el pasado ha sido compatible con Analog Devices Blackfin . El kit de portabilidad ahora está disponible junto con el código fuente como descarga gratuita bajo la licencia Apache 2.0 en el Centro de descarga de Microsoft.
El Micro Framework tiene sus raíces en la iniciativa Smart Personal Objects Technology (SPOT) de Microsoft y se utilizó en productos de MSN Direct , como relojes inteligentes, antes de estar disponible para desarrolladores externos a principios de 2007. [ cita requerida ] Es una plataforma común para Windows SideShow y se ha adoptado en otros mercados, como la administración de energía, la atención médica, la automatización industrial y las redes de sensores.
Microsoft permite a los desarrolladores crear aplicaciones utilizando Micro Framework sin cargo y pone a disposición un kit de desarrollo de software (SDK) para su descarga gratuita que se puede utilizar con todas las versiones de Visual Studio, incluidas las ediciones Express gratuitas. [7]
Historia
En noviembre de 2009, Microsoft lanzó el código fuente de Micro Framework a la comunidad de desarrolladores como software gratuito y de código abierto bajo la licencia Apache 2.0. [8]
En enero de 2010, Microsoft lanzó el sitio de desarrollo de la comunidad netmf.com para coordinar el desarrollo continuo de la implementación principal con la comunidad de código abierto. [9]
El 9 de enero de 2010, GHI Electronics anunció FEZ Domino, el primer miembro de la línea de productos denominada FEZ (¡Freakin 'Easy!), Una combinación de hardware de código abierto con una versión patentada de código cerrado de .NET Micro Framework. [10]
El 3 de agosto de 2010, Secret Labs anunció Netduino, la primera plataforma electrónica de código abierto que utiliza .NET Micro Framework. [11]
En febrero de 2011, Novell publicó una vista previa del compilador Mono 2.12 C #, el primer compilador de código abierto para .NET Micro Framework. [12]
El 23 de enero de 2017, después de numerosos intentos ( [13] y [14] ) de revivir el proyecto .NET Microframework y llevarlo a la gobernanza comunitaria y un período de trabajo "en la oscuridad", un grupo de desarrolladores de sistemas integrados anunció públicamente .NET nanoFramework como un derivado de .NET Micro Framework. [15] Una revisión importante del sistema de compilación, una forma más sencilla de agregar nuevos objetivos, una API modernizada después de UWP , una extensión de Visual Studio con todas las herramientas necesarias para gestionar los objetivos, una experiencia de desarrollo completa desde la codificación hasta la depuración en el código nativo y el soporte para ARM Cortex-M y ESP32 fueron las diferencias clave en ese momento. El 12 de octubre de 2018 se anunció el primer lanzamiento oficial de las bibliotecas de clases y las imágenes de firmware. [dieciséis]
El 16 de diciembre de 2016, GHI Electronics anunció su propia implementación de Micro Framework llamada TinyCLR OS, citando la falta de mantenimiento de NETMF por parte de Microsoft. [17] El 7 de julio de 2017, GHI anunció la quinta versión preliminar de TinyCLR OS. [18] El 2 de febrero de 2018, GHI anunció la octava vista previa de TinyCLR OS. [19] El 5 de abril de 2018, GHI anunció la décima versión preliminar de TinyCLR OS. [20]
Hardware
Varios proveedores fabrican chips, kits de desarrollo y más que ejecutan Micro Framework. [21]
Netduino de Wilderness Labs
Netduino es una plataforma electrónica de código abierto que utiliza Micro Framework. Creado originalmente por Secret Labs, pero ahora [ ¿cuándo? ] fabricado y mantenido por Wilderness Labs Inc. [22] Basado en 168Mhz Cortex-M4 (STM32F4) con hasta 1.408 KB de almacenamiento de código y 164 KB de RAM. USB integrado, Ethernet, Wifi, ranura para tarjeta SD. El entorno de desarrollo es MS Visual Studio y C #. Pin compatible con los escudos Arduino, aunque se requieren controladores para algunos escudos.
Electrónica GHI
GHI Electronics fabrica varios módulos que admiten Micro Framework:
- Módulo EMX [23]
- Módulo ChipworkX [24]
- Chipset USBizi144 [25] y USBizi100, cuya única diferencia es la falta de soporte de host USB en el USBizi100 [26]
GHI Electronics también fabrica la línea .NET FEZ de placas de hardware de código abierto muy pequeñas con firmware propietario, destinadas a principiantes. Están basados en el chipset USBizi y todas sus características. La placa FEZ Domino ofrece un host USB. Aunque FEZ es para principiantes, también es un punto de partida de bajo costo para los profesionales que desean explorar NETMF. [27] Algunas de estas placas son físicamente compatibles con Arduino .
Tablas de alpinista
Las placas Mountaineer, que forman parte de Mountaineer Group, fabrican una pequeña gama de placas de hardware abierto de código abierto que utilizan Micro Framework. Mountaineer ha portado el Micro Framework para su uso en la familia de microcontroladores STM32 que aparecen en sus placas Mountaineer y en otros lugares. [28]
STMicroelectronics
STMicroelectronics , creadores de la familia de microcontroladores STM32 , fabrica placas de descubrimiento de bajo costo para exhibir los controladores y proporciona puertos de Micro Framework para que se ejecuten en ellos. [29]
Netmfdevices
Netmfdevices es una plataforma electrónica de código abierto que utiliza FEZHacker y .NET Micro Framework. [30]
Micromint
El Micromint Bambino 200 es el primer procesador SBC de varios núcleos compatible con el marco .NET Gadgeteer. [31] El modelo 200 funciona con un NXP LPC4330, el primer microcontrolador ARM Cortex-M de doble núcleo. Sus núcleos Cortex-M4 y Cortex-M0 son capaces de 204 MHz. Tiene 264 KB SRAM a bordo y 4 MB de flash. El modelo 200E tiene las mismas características que el modelo 200, y una memoria flash aumentada a 8 MB, 10 sockets Gadgeteer, un puerto Ethernet , un socket microSD y otras características.
Dispositivos .NET Gadgeteer
Varios fabricantes hacen que las placas y los módulos sean compatibles con el estándar de creación rápida de prototipos .NET Gadgeteer para el marco.
MikroBus.Net
MikroBus.Net Quail es una solución de desarrollo impulsada por STM32 para construir prototipos de hardware con tableros de clic y código administrado por C #. Reúne las placas de clic Mikroelectronika y el Micro Framework para dispositivos integrados (NETMF). [32]
Ver también
- DirectBand
- .NET Compact Framework
- .NET Framework
Referencias
- ^ "¡.NET Micro Framework 4.4 ya está disponible!" . Microsoft . Archivado desde el original el 25 de octubre de 2017 . Consultado el 9 de diciembre de 2018 .
- ^ ".NET Micro Framework" . Microsoft.
- ^ Malliet, Steve. "¿Se descontinuará .Net MF?" . GitHub . Consultado el 13 de abril de 2019 .
- ^ Fundación .NET
- ^ "Hoja de ruta de LLILUM y últimas incorporaciones" . Microsoft. Archivado desde el original el 26 de agosto de 2018 . Consultado el 30 de junio de 2016 .
- ^ .NET Micro Framework solo es compatible con C # y Visual Basic
- ^ "NETMF4 SDK" . Microsoft.
- ^ "Microsoft a Open Source the .NET Micro Framework" . Microsoft. Archivado desde el original el 14 de noviembre de 2018 . Consultado el 6 de febrero de 2017 .
- ^ "netmf.com" . Archivado desde el original el 5 de julio de 2012 . Consultado el 29 de junio de 2012 .
- ^ FEZ: placas de electrónica de código abierto con muchos controladores de componentes de código abierto que utilizan .NET MF
- ^ Netduino: plataforma electrónica de código abierto que utiliza .NET MF
- ^ Soporte Experimental Mono para Mac / Linux
- ^ "Manifiesto para .NETMF (el estado actual y el futuro que queremos para él)" .
- ^ "Futuro de .NETMF (tome # 999999)" .
- ^ "El nombre de Framework, nanoFramework" . Archivado desde el original el 22 de febrero de 2019 . Consultado el 22 de febrero de 2019 .
- ^ "¡nanoFramework v1.0 es oficial!" . Archivado desde el original el 22 de febrero de 2019 . Consultado el 22 de febrero de 2019 .
- ^ "Presentamos TinyCLR OS: una nueva ruta para nuestros dispositivos NETMF" . Archivado desde el original el 28 de julio de 2017 . Consultado el 28 de julio de 2017 .
- ^ "Quinta vista previa de las características principales y portabilidad del sistema operativo TinyCLR" . Archivado desde el original el 28 de julio de 2017 . Consultado el 28 de julio de 2017 .
- ^ "Octava versión de TinyCLR OS: FEZ Hydra, Wi-Fi y Cortex-M7" . Archivado desde el original el 9 de marzo de 2018 . Consultado el 15 de febrero de 2018 .
- ^ TinyCLR OS Décima versión: errores, RTC y STM32F7
- ^ "Matriz de dispositivos compatibles" . Archivado desde el original el 23 de diciembre de 2010 . Consultado el 29 de octubre de 2010 .
- ^ "Netduino: inicio" . Wilderness Labs, Inc.
- ^ "Catálogo - Últimos Productos - GHI Electronics" . GHI Electronics, LLC. Archivado desde el original el 20 de marzo de 2012 . Consultado el 20 de febrero de 2011 .
- ^ "Catálogo - Últimos Productos - GHI Electronics" . Archivado desde el original el 4 de diciembre de 2012 . Consultado el 20 de febrero de 2011 .
- ^ "Chipset USBizi144 - GHI Electronics" . GHI Electronics, LLC. Archivado desde el original el 7 de enero de 2014 . Consultado el 20 de febrero de 2011 .
- ^ "Conjunto de chips USBizi100 - GHI Electronics" . GHI Electronics, LLC. Archivado desde el original el 7 de enero de 2014 . Consultado el 20 de febrero de 2011 .
- ^ "Catálogo - Últimos Productos - GHI Electronics" . Archivado desde el original el 2 de marzo de 2013 . Consultado el 20 de febrero de 2011 .
- ^ "NETMF para STM32 - Grupo montañero" . Archivado desde el original el 19 de noviembre de 2018.
- ^ UM1676: Introducción a .Net Micro Framework en el kit de descubrimiento STM32F429
- ^ Netmfdevices
- ^ Micromint Bambino 200
- ^ "Codorniz MikroBus.Net" . Archivado desde el original el 16 de agosto de 2020 . Consultado el 27 de enero de 2021 .
enlaces externos
- Página web oficial