NetMF.ru

.NET Micro Framework

Выложена запись, презентация и примеры кода доклада «Использование модулей беспроводной связи XBee ZNet 2.5 (Series 2) в .NET Micro Framework» Подробнее...

Что такое .NET Micro Framework?

.NET Micro Framework – это реализация методологии разработки программного обеспечения .NET, предназначенная для 32-разрадных микроконтроллеров. Основная идея .NET MF – предоставить разработчикам компактных и даже карманных устройств возможность использовать современный язык программирования C# совместно с мощной библиотекой классов, предоставляющей широкие возможности работы с различными устройствами, файловыми системами, аппаратными интерфейсами, сетью и многим другим. За счёт этого программисты могут сконцентрироваться на решении функциональных задач разрабатываемого устройства и не беспокоиться о том, например, как реализовать стек протоколов TCP/IP или алгоритм рисования закрашенных полупрозрачных эллипсов на экране. А самое главное – благодаря .NET Micro Framework можно гораздо быстрее получить нужный результат, проверить идею, перейти к промышленному производству.

Особенности .NET Micro Framework

.NET Micro Framework работает в гораздо более стеснённых условиях по сравнению не только с «большим» .NET Framework, но и даже с .NET Compact Framework. Достаточно сказать, что минимальный размер загрузочного модуля .NET Micro Framework составляет 250 Кб. Для сравнения, минимальный размер загрузочного модуля, обеспечивающего работу .NET Compact Framework, превышает 12 Мб, поскольку этот модуль обязательно должен включать образ операционной системы Windows CE. Кроме того, минимальный объём оперативной памяти микроконтроллера, работающего под управлением .NET MF составляет всего 64 Кб. По этой причине многие возможности «большого» .NET Framework отсутствуют в его «микро» варианте. Скажем больше, многие особенности .NET MF объясняются именно необходимостью реализации методологии .NET в условиях ограниченности ресурсов микроконтроллеров.

Тем не менее, .NET Micro Framework обладает возможностями, которые отсутствуют у .NET Compact Framework и даже в «большом» .NET Framework. Так, например, в .NET MF реализована упрощённая поддержка WPF, которой нет в .NET Compact Framework. Ещё одна уникальная возможность .NET MF заключается в доступе к «железу» на достаточно низком уровне, например, можно осуществлять ввод/вывод данных с контактов микроконтроллера или обрабатывать прерывания, возникающие при изменении состояния этих выводов.

Реализация принципов .NET в .NET Micro Framework

Как известно, одной из основных особенностей .NET является применение компиляции исходного кода в так называемый промежуточный код (intermediate language), который компилируется в машинные коды непосредственно в процессе выполнения программы с помощью оперативного компилятора (just-in-time compiler JIT). В .NET Micro Framework вместо JIT используется интерпретатор. Конечно, интерпретатор не так эффективно оптимизирует код во время выполнения, зато тратит меньше ресурсов на трансляцию. Этот компромисс позволяет обеспечить приемлемую производительность, недостижимую в условиях микроконтроллеров с помощью JIT.

Другой важной особенностью .NET является система типов, включая безопасные типы. Эта особенность реализована в .NET Micro Framework полностью. За счёт этого значительно облегчается обеспечение безопасности разрабатываемых приложений, поскольку классическая угроза переполнения буфера, столь характерная для программ, написанных на ассемблере, C или C++, значительно снижается или устраняется вовсе. Такая особенность .NET MF очень важна в современных условиях, когда карманные устройства получают возможность выхода в Интернет.

Список основных возможностей

Приведём краткий список основных возможностей и особенностей .NET Micro Framework:

  • Может работать без операционной системы.
  • Размер исполняющей среды (Common Language Runtime) 250 Кб.
  • Использует интерпретатор.
  • Реализована для микроконтроллеров с архитектурой ARM7 и ARM9. Список поддерживаемых архитектур постоянно расширяется.
  • Не требует контроллера памяти, необходимого Windows CE.
  • Запускается непосредственно из Flash памяти.
  • Использует среду разработки Microsoft Visual Studio 2008.
  • Поддерживает язык программирования C#.
  • Содержит модули работы с сетью, UART, I2C, SPI, USB.
  • Позволяет работать с цветными графическими индикаторами, сенсорными экранами, умеет распознавать жесты стилуса.
  • Позволяет разрабатывать устройства SideShow.

Чем полезен .NET Micro Framework?

Вполне может оказаться, что та задача, над которой Вы трудитесь в настоящее время, уже успешно решена в .NET Micro Framework. Обратите внимание на эту быстро развивающуюся и просто интересную методологию, познакомьтесь с технологиями, которые она предлагает. Добро пожаловать в увлекательный мир .NET Micro Framework!