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. без него понять что каким пинам соответствует иногда слегка проблематично.


cron
Rambler\'s Top100 Mail.ru counter