Является ли .NET Micro Framework хорошим способом начать с встроенного программирования?

Как .NET Micro Framework с платой разработки сравнивается с чем-то вроде Arduino или Nintendo DS для запуска со встроенным программированием?

Ответ 1

Честно говоря, если бы я был вами (чего я, кстати, не знаю), я бы придерживался его и избегал абстракции высокого уровня платформы .NET для встроенной системы. То, как я узнал, было через курс колледжа, где я впервые познакомился с концепциями встроенных систем в наборе SunROM (аналогично плате Arduino, а также с MCM ATmega32) на языке ассемблера AVR, а затем переучивал концепции на C Имея краткое техническое понимание .NET, которое я делаю, я чувствую, что на платформе слишком много произвольной абстракции, чтобы это было очень мудрым выбором. (Конечно, часть этого также является моей ненавистью к .NET и Java в целом, и особенно при использовании в программировании встроенных систем, поэтому принимайте мое предвзятое мнение с солью.)

Встроенное программное обеспечение должно (на мой взгляд) иметь возможность использовать платформу, на которой она работает, чтобы работать как можно быстрее и эффективнее, вместо того, чтобы быть более абстрактной для работы на как можно большем количестве различных машин. Вместо того, чтобы пакет разработки программного обеспечения был заглушен, делая программы медленнее или добавляя ненужную сложность, я думаю, что вы должны изучить концепции и реализацию с нуля, поэтому у вас есть лучшее знание того, что такое "System.Watchdog", действительно, прежде чем вы начнете злоупотреблять им.

Ответ 2

Все остальные ответы превосходны, но я хотел бы добавить, что для новичков, такие среды, как .NET Micro, могут абстрагироваться от некоторых очень важных концепций; он может быть слишком удален с вашего оборудования. Радость (и реальное умение) встроенного программирования заключается в использовании аппаратного обеспечения и архитектуры вашего микроконтроллера. Если вы используете фреймворк как слой абстракции поверх аппаратного обеспечения, то вы действительно не получите основные понятия, важные для встроенного программирования.

Я скажу, что сначала попробуйте использовать C и сборку, взаимодействуя напрямую с оборудованием, чтобы вы хорошо поняли, что делают эти рамки. Когда вам станет комфортно, тогда вы можете перейти к фреймворку (но в этот момент... возможно, не: P)

Но опять же, если ваша цель состоит не в том, чтобы учиться, а в том, чтобы просто выполнить, то структура может помочь вам сделать это намного быстрее, потому что вам не нужно понимать внутреннюю работу. Но где весело в этом?

Ответ 3

Netduino выглядит очень круто. И это всего 30 долларов США. И версия Plus с Ethernet.

Ответ 4

.NET Micro Framework предназначен для встроенных систем, которые содержат мощный процессор (в настоящее время ARM7, ARM9 и Blackfin).

Плата Arduino основана на 8-битном микроконтроллере AVR, для которого .NET Micro Framework даже не доступен. Рассмотрим, например, требования к памяти фреймворка: объявляется, что он потребляет всего около 300 кбайт памяти. Arduino имеет в общей сложности 16 кбайт программной памяти + 1 кБ оперативной памяти.

Nintendo DS, с другой стороны, по крайней мере технически способна выполнять .NET Micro Framework.

Если вас интересует встроенное программирование для аппаратного обеспечения, такого как Arduino, я могу заверить вас, что вам не нужна (и, как правило, не использовать) какую-либо библиотеку высокого уровня или операционную систему. На самом деле вы обнаружите, что программирование для небольшого микроконтроллера будет радостью, потому что все очень просто и под вашим полным контролем.

Ответ 5

Это правда,.NET Micro Framework полностью отличается. Ethernet, последовательные порты (UART), SPI, I2C, и Поддержка GPIO находится в одном.

И вы используете Visual Studio 2008. Лучшая среда разработки.

Ответ 6

Этот ответ немного не по теме, но....

Я лично использую PIC из microchip.com. Они действительно недороги и имеют довольно много материала, в который входят тонны опций/версий. Хотя я хотел бы использовать .NET Micro, он, похоже, разрабатывается для более чистых чипов, предназначенных для запуска ОС. Множество встроенных проектов, особенно в области связи, нуждаются в более чистых чипах ($ 100 + доски в небольших количествах), но много хороших встроенных проектов - это мелочи и нужны только 2 доллара..NET Micro не ориентируется на них.

Ответ 7

Если вы заинтересованы в использовании .NET micro framework, посмотрите на tahoe II из devicesolutions.net

Ответ 8

Если вы заинтересованы в прототипировании с очень низкой стоимостью, стоит рассмотреть "маршрут Arduino", но не использовать Arduino.

Использование стрипов или макетов, таких как # Креветка с использованием ATmega328-PU, работающего под загрузчик Arduino Uno может дать вам почти ту же самую стоимость, что и PIC, но поддерживает совместимость со всеми уже существующие проекты Arduino Maker, которые находятся там, например... http://www.instructables.com/tag/type-id/category-technology/channel-arduino/

На основе 100 единиц вы можете получить компоненты для работы #Sremimp на макете всего за 1,70 фунтов стерлингов на стриптизе или 2,30 фунта стерлингов на паяльной макете в британских условиях. Для меньших объемов, например 5 или 10, вы смотрите ближе на £ 2,90 и £ 3,50 соответственно, но это все еще дешево. Цепь #Shrimp может быть составлена ​​из схемы компоновки примерно через 10 минут при запуске, и вы можете получить это примерно до минуты, когда вы быстро.

Конечно, стоимость не является единственным фактором, который следует учитывать.

Вы можете запрограммировать на определенном языке. Для sketch для запуска на Arduino, он должен быть написан на C, хотя вы можете использовать pyfirmata для удаленного управления Arduino-совместимым с Python, если вы не возражаете против постоянного подключения к рабочему столу.

Использование языка сбора мусора, такого как С# и поддержка инструмента Visual Studio можно рассматривать как большую выгоду в использовании .NET Micro Framework, особенно для тех, кто уже развивается в среде Microsoft. В равной степени простота свободной и открытой исходной среды Arduino IDE представлена ​​в качестве выгоды другими.

[Раскрытие информации, я сам являюсь сотрудником проекта некоммерческого проекта @ShrimpingIt.]