.NET микрофреймворк
![]() | |
Разработчик(и) | Microsoft и .NET Foundation |
---|---|
Первоначальный выпуск | 2007 г |
Стабильная версия | 4.4 [1] / 20 октября 2015 г |
Репозиторий | github |
Написано в | С++ |
Операционная система | Окна |
Платформа | АРМ , Блэкфин |
Доступно в | Английский |
Тип | Программная среда |
Лицензия | Лицензия Апач 2.0 [2] |
Веб-сайт | нетмф |
.NET Micro Framework (NETMF) — это платформа .NET Framework для устройств с ограниченными ресурсами, имеющая не менее 512 КБ флэш-памяти и 256 КБ оперативной памяти (ОЗУ). Он включает небольшую версию .NET Common Language Runtime (CLR) и поддерживает разработку на C# , Visual Basic .NET и отладку (в эмуляторе или на оборудовании) с помощью Microsoft Visual Studio . NETMF включает в себя подмножество библиотек базовых классов .NET (около 70 классов и около 420 методов), реализацию Windows Communication Foundation (WCF), структуру графического пользовательского интерфейса , основанную на Windows Presentation Foundation (WPF), и стек веб-служб на основе о протоколе простого доступа к объектам ( SOAP ) и языке описания веб-служб (WSDL). NETMF также включает дополнительные библиотеки, специфичные для встроенных приложений. Это бесплатное программное обеспечение с открытым исходным кодом , выпущенное под лицензией Apache 2.0.
Micro Framework призван сделать разработку встраиваемых систем проще, быстрее и дешевле, предоставляя разработчикам встраиваемых систем доступ к современным технологиям и инструментам, используемым разработчиками настольных приложений. Кроме того, это позволяет разработчикам настольных .NET использовать свои навыки во встроенных системах , расширяя круг квалифицированных разработчиков встроенных систем.
Micro Framework является частью .NET Foundation . [3] Как было объявлено на конференции Build 2014, фонд был создан как независимый форум для содействия открытой разработке и сотрудничеству вокруг растущего набора технологий с открытым исходным кодом для .NET. [4]
Функции
[ редактировать ]По сравнению с другими платформами .NET уникальными особенностями Micro Framework являются:
- Памяти необходимо около 300 КБ; напротив, следующая по размеру реализация .NET, .NET Compact Framework, работающая под управлением Windows CE , требует около 12 МБ.
- Может работать непосредственно на голом компьютере без операционной системы или может работать в операционной системе (ОС).
- Поддерживает распространенные встроенные периферийные устройства и соединения, включая флэш-память , EEPROM , GPIO , I. 2 C , шина последовательного периферийного интерфейса (SPI), последовательный порт , USB
- Оптимизирован для энергоэффективности в устройствах с батарейным питанием
- Не требуется блок управления памятью
- Обеспечивает поддержку многопоточности даже при работе в однопоточных операционных системах.
- Уровень аппаратной абстракции позволяет портировать на другие архитектуры.
- управляемого Модель драйвера устройства позволяет писать драйверы для многих устройств на C#.
- Ограничения выполнения для обнаружения зависаний и сбоев устройства.
- Прозрачная поддержка хранения объектов в энергонезависимой памяти.
Из-за ограничений, в которых он работает, Micro Framework имеет некоторые ограничения, выходящие за рамки ограничений, налагаемых его упрощенными библиотеками. Например, платформа не поддерживает симметричную многопроцессорную обработку , многомерные массивы, машинно-зависимые типы или небезопасные инструкции. CLR является интерпретатором, а не JIT-компилятором, и использует более простой сборщик мусора с маркировкой и очисткой вместо метода генерации. Разрабатывается опережающий компилятор. [5] с использованием модифицированного компилятора LLVM . Взаимодействие между управляемым и собственным кодом в настоящее время имеет несколько ограничений. По состоянию на 2011 год Micro Framework поддерживал два языка .NET: C# и Visual Basic. [6]
Поддерживать
[ редактировать ]По состоянию на 2013 год .NET Micro Framework поддерживалась на процессорах с архитектурой ARM поддерживалась на Analog Devices Blackfin (включая ARM7, ARM9 и Cortex-M), а в прошлом . Пакет портирования теперь доступен для бесплатной загрузки вместе с исходным кодом по лицензии Apache 2.0 в Центре загрузки Microsoft.
Micro Framework берет свое начало в инициативе Microsoft Smart Personal Objects Technology (SPOT) и использовалась в продуктах MSN Direct, таких как умные часы, прежде чем стать доступной сторонним разработчикам в начале 2007 года. [7] Это общая платформа для устройств Windows SideShow , которая была принята на других рынках, таких как управление энергопотреблением, здравоохранение, промышленная автоматизация и сенсорные сети.
Microsoft позволяет разработчикам бесплатно создавать приложения с использованием Micro Framework и предоставляет для бесплатной загрузки комплект разработки программного обеспечения (SDK), который можно использовать со всеми версиями Visual Studio, включая бесплатные выпуски Express. [8]
История
[ редактировать ]В ноябре 2009 года Microsoft предоставила сообществу разработчиков исходный код Micro Framework как бесплатное программное обеспечение с открытым исходным кодом под лицензией Apache 2.0. [9]
В январе 2010 года Microsoft запустила сайт разработки сообщества netmf.com для координации текущей разработки основной реализации с сообществом разработчиков открытого исходного кода. [10]
9 января 2010 года компания GHI Electronics анонсировала FEZ Domino, первого члена линейки продуктов под названием FEZ (Freakin' Easy!), представляющей собой комбинацию аппаратного обеспечения с открытым исходным кодом и проприетарной версии .NET Micro Framework с закрытым исходным кодом. [11]
3 августа 2010 года Secret Labs анонсировала Netduino, первую электронную платформу с открытым исходным кодом, использующую .NET Micro Framework. [12]
В феврале 2011 года Novell опубликовала предварительную версию компилятора Mono 2.12 C#, первого компилятора с открытым исходным кодом для .NET Micro Framework. [13]
23 января 2017 года, после многочисленных попыток ( [14] и [15] ) чтобы возродить проект .NET Microframework и передать его в управление сообщества и провести период работы «в темноте», группа разработчиков встраиваемых систем публично объявила .NET nanoFramework как дочернюю версию .NET Micro Framework. [16] Значительная переработка системы сборки, более простой способ добавления новых целей, модернизированный API после UWP , расширение Visual Studio со всеми инструментами, необходимыми для управления целями, полный опыт разработки от кодирования до отладки собственного кода и поддержка ARM. Cortex-M и ESP32 были ключевыми различиями на тот момент. 12 октября 2018 года было объявлено о первом официальном выпуске библиотек классов и образов прошивок. [17] 17 июня 2020 г. разработчики объявили о выпуске nanoFramework. [18]
16 декабря 2016 года GHI Electronics объявила о собственной реализации Micro Framework под названием TinyCLR OS, сославшись на отсутствие поддержки NETMF со стороны Microsoft. [19] 7 июля 2017 года GHI анонсировала пятую предварительную версию ОС TinyCLR. [20] 2 февраля 2018 года компания GHI анонсировала восьмую предварительную версию ОС TinyCLR. [21] 5 апреля 2018 года GHI анонсировала 10-ю предварительную версию ОС TinyCLR. [22] 27 апреля 2022 года GHI объявила о выпуске ОС TinyCLR версии 2.2. [23]
По состоянию на 2023 год только nanoFramework и ОС TinyCLR продолжают разработку платформы, способной запускать код .NET на микроконтроллере.
Аппаратное обеспечение
[ редактировать ]Множество поставщиков производят микросхемы, комплекты для разработки и многое другое, работающее под управлением Micro Framework. [24]
Netduino от Wilderness Labs
[ редактировать ]Netduino — это электронная платформа с открытым исходным кодом, использующая Micro Framework. Первоначально созданный Secret Labs, Netduino производился и обслуживался Wilderness Labs Inc. [25] с момента приобретения Secret Labs в 2017 году. [26] На основе Cortex-M4 168 МГц (STM32F4) с объемом памяти до 1408 КБ и ОЗУ 164 КБ. Встроенный USB, Ethernet, Wi-Fi, слот для SD-карты. Среда разработки — MS Visual Studio и C#. Контакт совместим с шилдами Arduino, хотя для некоторых шилдов требуются драйверы.
ГХИ Электроникс
[ редактировать ]GHI Electronics производит несколько модулей, поддерживающих Micro Framework:
- Модуль ЕМХ [27]
- Модуль ChipworkX [28]
- Чипсет USBizi144 [29] и USBizi100, единственное отличие которых заключается в отсутствии поддержки USB-хоста в USBizi100. [30]
GHI Electronics также производит линейку .NET FEZ очень маленьких аппаратных плат с открытым исходным кодом и собственной прошивкой, предназначенных для новичков. Они основаны на чипсете USBizi и всех его функциях. Плата FEZ Domino предлагает USB-хост. Хотя FEZ предназначена для новичков, она также является недорогой отправной точкой для профессионалов, желающих изучить NETMF. [31] Некоторые из этих плат физически совместимы с Arduino .
GHI Electronics не рекомендует использовать свои устройства на базе Micro Framework для новых проектов и вместо этого рекомендует устройства на базе TinyCLR. [32]
Альпинистские доски
[ редактировать ]Платы Mountaineer, входящие в состав Mountaineer Group, раньше создавали небольшую линейку аппаратных плат с открытым исходным кодом , использующих Micro Framework. Mountaineer портировали Micro Framework для использования в STM32, семейства микроконтроллерах представленных на их платах Mountaineer и других устройствах. [33]
СТМикроэлектроника
[ редактировать ]Компания STMicroelectronics , создатели семейства микроконтроллеров STM32 , производит недорогие платы обнаружения для демонстрации контроллеров и предоставляет порты Micro Framework для работы на них. [34]
Netmfdevices
[ редактировать ]Netmfdevices представляла собой электронную платформу с открытым исходным кодом, использующую FEZHacker и .NET Micro Framework. [35]
Микромята
[ редактировать ]Micromint Bambino 200 — первый многоядерный процессор SBC, совместимый с платформой .NET Gadgeteer. [36] Модель 200 оснащена NXP LPC4330, первым двухъядерным микроконтроллером ARM Cortex-M. Его ядра Cortex-M4 и Cortex-M0 имеют частоту 204 МГц. Он имеет 264 КБ встроенной SRAM и 4 МБ флэш-памяти. Модель 200E имеет все те же функции, что и модель 200, а также увеличенную флэш-память до 8 МБ, 10 разъемов Gadgeteer, порт Ethernet , разъем microSD и другие функции.
Устройства .NET Gadgeteer
[ редактировать ]Некоторые производители выпускают платы и модули, совместимые со стандартом быстрого прототипирования .NET Gadgeteer для платформы.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «.NET Micro Framework 4.4 теперь доступен!» . Майкрософт . Архивировано из оригинала 25 октября 2017 года . Проверено 9 декабря 2018 г.
- ^ «.NET Micro Framework» . Майкрософт.
- ^ Маллиет, Стив. «Выпуск .Net MF прекращается?» . Гитхаб . Проверено 13 апреля 2019 г.
- ^ Фонд .NET
- ^ «Дорожная карта LLILUM и последние дополнения» . Майкрософт. Архивировано из оригинала 26 августа 2018 года . Проверено 30 июня 2016 г.
- ^ .NET Micro Framework поддерживает только C# и Visual Basic.
- ^ «Инициатива Microsoft SPOT ускоряется с добавлением MSN Direct к навигационным устройствам» . Корпорация Майкрософт. 8 января 2007 года . Проверено 2 июля 2024 г.
- ^ «NETMF4 SDK» . Майкрософт.
- ^ «Microsoft открывает исходный код .NET Micro Framework» . Майкрософт. Архивировано из оригинала 14 ноября 2018 года . Проверено 6 февраля 2017 г.
- ^ «netmf.com» . Архивировано из оригинала 5 июля 2012 года . Проверено 29 июня 2012 г.
- ^ FEZ: электронные платы с открытым исходным кодом со многими драйверами компонентов с открытым исходным кодом, использующими .NET MF.
- ^ Netduino: платформа электроники с открытым исходным кодом, использующая .NET MF.
- ^ Экспериментальная поддержка Mono для Mac/Linux
- ^ «Манифест для .NETMF (текущее состояние и будущее, которое мы хотим для него)» . Гитхаб .
- ^ «Будущее .NETMF (взять #999999)» . Гитхаб .
- ^ «Имя Framework, nanoFramework» . Архивировано из оригинала 22 февраля 2019 года . Проверено 22 февраля 2019 г.
- ^ «nanoFramework v1.0 является официальной!» . Архивировано из оригинала 22 февраля 2019 года . Проверено 22 февраля 2019 г.
- ^ Вышли стабильные версии .
- ^ «Представляем ОС TinyCLR: новый путь для наших устройств NETMF» . Архивировано из оригинала 28 июля 2017 года . Проверено 28 июля 2017 г.
- ^ «Пятый обзор основных функций и портирования ОС TinyCLR» . Архивировано из оригинала 28 июля 2017 года . Проверено 28 июля 2017 г.
- ^ «Восьмой выпуск ОС TinyCLR: FEZ Hydra, Wi-Fi и Cortex-M7» . Архивировано из оригинала 9 марта 2018 года . Проверено 15 февраля 2018 г.
- ^ Десятый выпуск ОС TinyCLR: ошибки, RTC и STM32F7
- ^ Выпуск TinyCLR OS 2.2
- ^ «Матрица совместимых устройств» . Майкрософт . Архивировано из оригинала 23 декабря 2010 года . Проверено 29 октября 2010 г.
- ^ «Нетдуино: дом» . Wilderness Labs, Inc.
- ^ «Netduino приобретена Wilderness Labs» . ПРВеб. 20 июля 2017 года . Проверено 2 июля 2024 г.
- ^ «Каталог – Новейшие продукты – GHI Electronics» . ГХИ Электроникс, ООО. Архивировано из оригинала 20 марта 2012 года . Проверено 20 февраля 2011 г.
- ^ «Каталог – Новейшие продукты – GHI Electronics» . Архивировано из оригинала 4 декабря 2012 года . Проверено 20 февраля 2011 г.
- ^ «Набор микросхем USBizi144 — GHI Electronics» . ГХИ Электроникс, ООО. Архивировано из оригинала 7 января 2014 года . Проверено 20 февраля 2011 г.
- ^ «Набор микросхем USBizi100 — GHI Electronics» . ГХИ Электроникс, ООО. Архивировано из оригинала 7 января 2014 года . Проверено 20 февраля 2011 г.
- ^ «Каталог – Новейшие продукты – GHI Electronics» . Архивировано из оригинала 2 марта 2013 года . Проверено 20 февраля 2011 г.
- ^ «Устройства .NET Micro Framework» . Компания GHI Electronics . Проверено 26 октября 2023 г.
- ^ «NETMF для STM32 — Mountaineer Group» . Архивировано из оригинала 19 ноября 2018 года.
- ^ UM1676: Начало работы с .Net Micro Framework в наборе STM32F429 Discovery.
- ^ «Нетмфдевайсс» . Архивировано из оригинала 26 июня 2019 года . Проверено 26 июня 2019 г.
- ^ «Микроминт Бамбино 200» . Архивировано из оригинала 13 ноября 2014 года . Проверено 19 июня 2014 г.