roboforum.ru

Технический форум по робототехнике.

.NET Micro Framework

.NET Micro Framework

Ku6opr » 16 июл 2010, 20:04

Сделал себе плату с чипом USBizi. Это LPC2388 с зашитым .NET Micro Framework от GHI Electronics.
Чтобы использовать .NET MF с любым другим микроконтроллером, можно воспользоваться .NET MF Porting Kit от Microsoft или купить уже готовую отладочную плату с портированной средой. С Porting Kit (доступно для бесплатного скачивания) поставляется несколько примеров под разные микроконтроллеры.

.NET Micro Framework - это платформа для выполнения C# кода для микроконтроллеров. Средой разработки является Visual Studio. Поддерживается отладка, т.е. пошаговое выполнение, просмотр значения переменных и прочие плюшки. Процесс программирования протекает так же, как и програмирования десктопных приложений.

В моем случае микроконтроллер поддерживает:
USB Host/Device, работа с SD накопителями, 2x SPI, 4x UART, I2C, 2x CAN, 8x ADC, 6x PWM, 61 GPIO.

Несколько примеров кода:
Код: Выделить всёРазвернуть
// Управление светодиодом
OutputPort LED = new OutputPort((Cpu.Pin)5, true);
LED.Write(false);


Код: Выделить всёРазвернуть
// Работа с UART
SerialPort COM1 = new SerialPort("COM1", 9600);
COM1.Open();
byte[] Data = Encoding.UTF8.GetBytes("Hello");
COM1.Write(Data, 0, 5);


Код: Выделить всёРазвернуть
// ШИМ: период 1мс, скважность 50%
PWM pwm = new PWM(PWM.Pin.PWM0);
pwm.SetPulse(10000, 5000);


Кто заинтересовался, советую хорошую книгу "Apress Expert .NET Micro Framework"

Re: .NET Micro Framework

Сергей » 16 июл 2010, 20:11

Да, прикольная тема. Только очень требовательна к ресурсам такая система.

Re: .NET Micro Framework

Ku6opr » 16 июл 2010, 21:08

Выполнил замер времени выполнения операций, получил довольно странный результат: операции +, -, *, / над целыми числами и вещестенными с одинарной точностью занимают около 65мкс, а для вещественных двойной точности порядка 68мкс при частоте микроконтроллера 72МГц.
Сколько подобные операции заняли бы на "голом" микроконтроллере?

Re: .NET Micro Framework

Сергей » 16 июл 2010, 21:23

Если не ошибаюсь - около 100нс

Добавлено спустя 3 минуты:
Ща проверил на всяк в симуляторе - ошибся, 10нс просто умножение, а F23 за 19 мс

Re: .NET Micro Framework

Ku6opr » 16 июл 2010, 21:50

Мои замеры не совсем корректные, даже время между двумя обращениями к таймеру значительное. Правильно померять выполнение операций я затрудняюсь, но можно сделать вывод, что быстродействие явно не на высоте.

Re: .NET Micro Framework

elesy » 17 июл 2010, 05:25

Использовать .NET Micro Framework для ARM7 -это изврат ИМХО. Хоте если вам шашешки а не ехать, то пользуйте

Re: .NET Micro Framework

Angel71 » 17 июл 2010, 11:25

elesy, без доводов и рассмотрения конкретных задач? :D гениально. не нравиться - не ешь. на это http://www.techdays.ru/videos/1051.html на микроконтроллерах вообще будешь плеваться? если для тебя всегда определяющим является объём занимаемого флеша и оперативы, да количество "лишних" тактов при любых операциях :crazy: пиши хоть на асме и даже не пытайся вникнуть на что именно это всё уходит - не осилишь

Re: .NET Micro Framework

Ku6opr » 17 июл 2010, 12:35

Судя по себе, эффективность написания кода возросла в разы. Да, выходит дороже. Да, выше требования к ресурсам. Но для большинства не реалтайм задач будет все прекрасно работать. И может даже и для реалтайм.

Сейчас работаю над квадрокоптером на основе этой платы, код написал с нуля за пару недель, частота одного цикла получилась 25мс, т.е. 40Гц. Хватит ли для нормального полета? Не знаю, посмотрим. Сейчас жду посылку с хоббисити.

Re: .NET Micro Framework

elesy » 19 июл 2010, 06:27

Angel71 писал(а):elesy, без доводов и рассмотрения конкретных задач? :D гениально. не нравиться - не ешь. на это http://www.techdays.ru/videos/1051.html на микроконтроллерах вообще будешь плеваться? если для тебя всегда определяющим является объём занимаемого флеша и оперативы, да количество "лишних" тактов при любых операциях :crazy: пиши хоть на асме и даже не пытайся вникнуть на что именно это всё уходит - не осилишь

Для меня объем флеша не играет роли. А играет то на чем я могу быстро напичать то что мне надо.

Re: .NET Micro Framework

Angel71 » 19 июл 2010, 06:57

:) в том-то всё и дело - если хватает ресурсов, почему бы не кодить в более комфортных для себя условиях?

Re: .NET Micro Framework

elesy » 19 июл 2010, 08:33

дело в том что придерживаюсь минимализма и ставить громоздкую среду ради сомнительного удобста нехочеться

Re: .NET Micro Framework

Tiphon » 28 май 2011, 09:19

У меня такой вопрос:
Продается ли где-то в Москве, так, чтобы приехать и купить, оценочные/отладочные платы с .Net Micro Framework?

Может кто-то видел, знает, проездом наблюда в магазине?

Дело в том, что у нас неумолимая сдача экспериментального образца изделия (одним из элементов будет эта плата) через 15 дней, если будем заказывать - просто не успеем. А не поставим вычислитель с .Net Framework, как планировали, то будет потом нестыковка и жуткий геморой.

Re: .NET Micro Framework

Angel71 » 29 май 2013, 18:43

из того, что легче всего найти - это stm32f4discovery. дотнет на неё ставится очень легко и быстро. правда видел в сети пару тем, что у кого-то были проблемы с некоторыми ревизиями плат, но в итоге таки всё пофиксили. ещё очень популярны netduino (не путаем с arduino) и платы от ghi electronics, поройтесь на офсайтах, посмотрите, может что и понравится. если повезёт, может найдёте в местных магазинах. в любом случае плат полно (с сетью, экранчиками с тачем,...), только было бы желание самому поискать.
вы же только учтите, что доступной оперативной памяти на этих платках зачастую десятки и сотни кбайт, а с несколькими мбайтами ооочень мало (да и стоят они совсем некрасиво). да и частота в основном от десятков до нескольки сот мгц. т.е. прикидывайте свои потребности и скилы с возможностями платы - превратить в черепашку или словить out of memory не так уж и сложно.
ещё есть возможность увалить дотнет, небольшая, но есть. на дискавери пару раз уваливал при заливке проекта и один раз, когда в mfdeploy гдето в меню клацнул stop. не было желания особо глубоко копать, лечится ли это вообще без переустановки дотнета, так что просто затирал флеш и ставил заново. если на плате нет программатора, как на дискавери или в чипе нет зашитого бутлоадера (по уарту, usb,... или на плате чего для прошивки не развели)... в общем приятный квест может получиться.
п.с. по крайней мере для дискавери лучше сразу поставить porting kit. без него понять что каким пинам соответствует иногда слегка проблематично.


Rambler\'s Top100 Mail.ru counter