|
.net micro framework или Microsoft взялся за ARM7, недавно великий Microsoft выпустил версию 2.5 .net micro framework |
|
|
|
May 10 2008, 13:02
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-05-08
Пользователь №: 37 402

|
недавно великий Microsoft выпустил версию 2.5 .net micro framework которая позволяет писать на С# для АРМ7 и APM9 причем в Visual Studio 2005 (VS 2008 не поддерживается) минимальные требования к системе ARM7, 300 KB of RAM ссылка на описание устройства (одного из ) http://www.ghielectronics.com/details.php?id=107&sid=108есть книги на английском http://c-books.info/books/news6.php/2008/0...-framework.htmlс сайта Microsoft можно скачать .net micro framework и запускать на эмуляторе программки (что сам и делал) http://msdn.microsoft.com/en-us/embedded/bb267253.aspxДостоинства .net micro framework Можно взять чистых программистов С# без знания аппаратных SPI I2C которые писали бы программы аля-виндовс на недорогой платформе Недостаток: Microsoft бесплатно ничего не делает и цена лицензии Включается в готовое устройство, т. е. самому спаять И запустить .net micro framework не получится Чтобы портировать надо заплатить Пока информации по теме мало как и самих устройств Предлагаю обсудить перспективы данного продукта
|
|
|
|
|
May 10 2008, 17:15
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-05-08
Пользователь №: 37 402

|
Пока оптимизма мало По ссылке http://www.ghielectronics.com/details.php?id=107есть устройство за 65уе которое поддерживает micro framework т.к. я знаю C# для меня это очень привлекательно плюс знакомая среда VS2005 из нее и программируется через usb Но в СНГ таких штук я не встречал да и в мире както мало А если будет массовое производство то будет еще дешевле Или есть подвох?
|
|
|
|
|
May 10 2008, 17:42
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-05-08
Пользователь №: 37 402

|
Массовое производство будет у крупных фирм Которые производят эти модули
У меня производство единичное Где цена программиста опдеделяющая
|
|
|
|
|
May 10 2008, 19:30
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Тема не однозначная, но очень интересная. По сути сейчас .net micro framework это скриптовый интерпретируемый язык косящий под C# С очень итересными либами, но пока не полно ортогональными. Т.е. еще нет полной связки : эффективная GUI - файловая система - TCP/IP стек со всем прикладными протоколами - легкий доступ к низкому уровню. Хуже всего как я понял там с файловой системой и низким уровнем. Фаловую заменяет какой-то примитивный журналируемый механизм записи на флеш. Круче всего в .net mf с GUI (Micrium-у и компании удар ниже пояса) . Их SDK под названием SideShow впечатляет своей идеей. Это уже удар по самому WEB-у! Очень интересен принцип сериализации, когда объект со свойствами и методами из памяти можно списать на диск и передать в другое такое устройство и там запустить. Интересны подходы для борьбы с зависаниями и фрагментацией памяти. Хорошая отладка и сумуляция тоже редкие фичи в такого класса средах. Но скорость низкая катастрофично. Мужик там в блоге написал что переключение пина на порте длится около 30 мкс Если помнить, что в любом арме в проге на C-и это можно сделать за 0.3 мкс то замедление получается в 100 раз! Я как-то портировал движок LUA на ARM. Там тоже принцип компиляции в промежуточный код используется, так замедление в среднем составляло только 20 раз. Но из LUA можно вызвать напрямую любую С-и функцию и вообще приблизить быстродействие к уровню нативного кода. Вообщем если MS еще хорошенько пропиарит .net то стоит его портировать как замену того же LUA. А скорость поправим перескочив на Cortex-A8 Цитата(dozent33 @ May 10 2008, 16:32)  недавно великий Microsoft выпустил версию 2.5 .net micro framework которая позволяет писать на С# для АРМ7 и APM9 причем в Visual Studio 2005 (VS 2008 не поддерживается) минимальные требования к системе ARM7, 300 KB of RAM ссылка на описание устройства (одного из ) http://www.ghielectronics.com/details.php?id=107&sid=108есть книги на английском http://c-books.info/books/news6.php/2008/0...-framework.htmlс сайта Microsoft можно скачать .net micro framework и запускать на эмуляторе программки (что сам и делал) http://msdn.microsoft.com/en-us/embedded/bb267253.aspxДостоинства .net micro framework Можно взять чистых программистов С# без знания аппаратных SPI I2C которые писали бы программы аля-виндовс на недорогой платформе Недостаток: Microsoft бесплатно ничего не делает и цена лицензии Включается в готовое устройство, т. е. самому спаять И запустить .net micro framework не получится Чтобы портировать надо заплатить Пока информации по теме мало как и самих устройств Предлагаю обсудить перспективы данного продукта
|
|
|
|
|
May 10 2008, 19:59
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(dozent33 @ May 10 2008, 19:02)  Можно взять чистых программистов С# без знания аппаратных SPI I2C которые писали бы программы аля-виндовс на недорогой платформе Недостаток: Microsoft бесплатно ничего не делает и Нет, нет, недостаток в другом: они Вам "без знания аппаратных SPI, I2C" действительно "напишут". Если рассматривать Visual Studio чисто как среду разработки, то -- не плохо. По крайней мере я VS 6 оцениваю выше, чем CodeVision, например. У IARа свои тараканы. Например, я постоянно натыкаюсь на отсвтствие Ctrl-Ins, Shift-Ins. За десяток с лишним лет руки очень "привыкли к топорам". Ни как не могу у себя выработать автоматизм, т.е способность не задумываясь лупить по Ctrt-C, Ctrl-V, а не по названным комбинациям клавиш. А на счет C# -- вот тут я очень сильно сомневаюсь. Дело в том, что Шарп сам по себе -- это ничто, и созданные на нем программы тоже -- набор байтов! Для работы модулей, написанных на Шарпе, нужен FrameWork, его библиотеки, JIT-compiler (Just-In-Time). Т.е. все это нужно тоже будет заливать во флешь АРМа. А что говорить про скорость исполнения программ, написанных на нем? О-хо-хо, а не скорость! Шарп, Фреймворк -- это совсем другой мир! Это другой подход к проблемам программирования, в отличие от традиционного С/С++. Шарп -- достаточно дает тормознутый код. Выигрыш в скорости работы программ, написанных на Шарпе, получается только за счет того, что в проге используются готовые классы. Шарп генерит управляемый код, т.е. изначально уже заторможенный, не говря уже о том, что этот код не является родным кодом микроконтроллера. До родных команд процессора его еще нужно "докомпилировать". И компиляция идет как раз на целевой машине во время загрузки управляемого кода. Этим занимается JIT-компайлер. На форумах RSDN и DotNet пацаны постоянно друг друга рожей в стол опускают -- типа зачем самому писать цикл копирования массива байт, когда у массива (массив -- это класс!) есть готовый метод копирования -- вот его-то и надо юзать. Конечно, если: * с одной стороны, работодатель нужно быстро создать новый продукт и выставить его на рынок, * с другой стороны, у работодателя имеется огромное желание сократить расходы на оплате труда программистов, * с третьей стороны, самому программисту влом писать какие-то циклы, (то ли дело -- готовые классы! Думать вообще ни о чем не дало, бери и делай!) * с четвертой стороны, есть ограмное желание написать программу, которая будет без перекомпиляции работать на любом типе процессоров. (Считается, что откомпилированные модули (написанные на Шарпе, Васике, ...) будут работать на любом процессоре. Т.е. наподобие Java-кода.) Лозунг -- "сэкономим на оплате труда программистов, а тормознутость программ вытянется быстрым процом". Т.е. с одной строны -- стоимость программиста, с другой -- стоимость быстрого чипа. Вот и получается, что в первое время на АРМах будет создаваться нечто непопоротливое. Типа Висты. Да, даже так прикиньте, почему для микроконтроллеров люди пишут firmare в основном на С/С++ и асме, и почти совсем не пишут на Васике? А Шарп -- это ведь тот же Васик. 1) программисты с высокой квалификации абсолютно не требуютя, и 2) генерит медленный исполняемый код. Синтаксис языка, конечно, облагорожен, тут бесспроно! Но код, который он создает... это выше моих сил! Впрочем, задачи, которые не требуют реального времени, могут быть вполне "окучены" Шарпом. Только вот что-то я не особо вижу такие задачи. Чем мельче процессор/контроллер, тем больше востребованность реального времени. Хотя, АРМы это уже не ногодрыгалки, но ведь они еще не терабайтные серверы баз данных. АРМы ставятся там, где действительно нужна скрорость. Мне кажется, что Фреймворк однозначно убъет любой быстрый АРМ.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
May 10 2008, 20:44
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
А вот перегибать не надо. Потрудились бы разобраться в деталях реализации .NET Micro Framework Нет там никакого JIT компилятора. Промежуточный код интерпретируется. При этом реалистичная оценка замедления - 100 раз К сведению именно в 100 раз может отличаться быстродействие между микроконтроллером на ARM серии LPC21xx и 8-и разрядным контроллером типа PIC16 http://aly.ogmis.lt/Subjects/Tests/Whets/WhetsRes.htm#1Так PIC16 на такой вот скорости успешно и много применяют в автосигнализациях, брелках, пультах, утюгах, радиомодулях и т.д. Если же возьмем SAM9 или STR9 то получим уже скорость с .NET как у PIC18. При либах которые имеет .net это просто шикарно уже сейчас. Если взглянете ниже по конфе то увидите, что основные озабоченности у девелоперов: отладка, сохранение данных, bootloader-ы, TCP/IP ... Все это в основном решено уже и дается готовым в .NET Micro Framework Это как минимум серьезный повод задуматься. Цитата(zhevak @ May 10 2008, 23:29)  Нет, нет, недостаток в другом: они Вам "без знания аппаратных SPI, I2C" действительно "напишут".
Если рассматривать Visual Studio чисто как среду разработки, то -- не плохо. По крайней мере я VS 6 оцениваю выше, чем CodeVision, например. У IARа свои тараканы. Например, я постоянно натыкаюсь на отсвтствие Ctrl-Ins, Shift-Ins. За десяток с лишним лет руки очень "привыкли к топорам". Ни как не могу у себя выработать автоматизм, т.е способность не задумываясь лупить по Ctrt-C, Ctrl-V, а не по названным комбинациям клавиш.
А на счет C# -- вот тут я очень сильно сомневаюсь.
Дело в том, что Шарп сам по себе -- это ничто, и созданные на нем программы тоже -- набор байтов! Для работы модулей, написанных на Шарпе, нужен FrameWork, его библиотеки, JIT-compiler (Just-In-Time). Т.е. все это нужно тоже будет заливать во флешь АРМа.
А что говорить про скорость исполнения программ, написанных на нем? О-хо-хо, а не скорость! Шарп, Фреймворк -- это совсем другой мир! Это другой подход к проблемам программирования, в отличие от традиционного С/С++. Шарп -- достаточно дает тормознутый код. Выигрыш в скорости работы программ, написанных на Шарпе, получается только за счет того, что в проге используются готовые классы. Шарп генерит управляемый код, т.е. изначально уже заторможенный, не говря уже о том, что этот код не является родным кодом микроконтроллера. До родных команд процессора его еще нужно "докомпилировать". И компиляция идет как раз на целевой машине во время загрузки управляемого кода. Этим занимается JIT-компайлер.
На форумах RSDN и DotNet пацаны постоянно друг друга рожей в стол опускают -- типа зачем самому писать цикл копирования массива байт, когда у массива (массив -- это класс!) есть готовый метод копирования -- вот его-то и надо юзать.
Конечно, если:
* с одной стороны, работодатель нужно быстро создать новый продукт и выставить его на рынок, * с другой стороны, у работодателя имеется огромное желание сократить расходы на оплате труда программистов, * с третьей стороны, самому программисту влом писать какие-то циклы, (то ли дело -- готовые классы! Думать вообще ни о чем не дало, бери и делай!) * с четвертой стороны, есть ограмное желание написать программу, которая будет без перекомпиляции работать на любом типе процессоров. (Считается, что откомпилированные модули (написанные на Шарпе, Васике, ...) будут работать на любом процессоре. Т.е. наподобие Java-кода.) Лозунг -- "сэкономим на оплате труда программистов, а тормознутость программ вытянется быстрым процом". Т.е. с одной строны -- стоимость программиста, с другой -- стоимость быстрого чипа. Вот и получается, что в первое время на АРМах будет создаваться нечто непопоротливое. Типа Висты.
Да, даже так прикиньте, почему для микроконтроллеров люди пишут firmare в основном на С/С++ и асме, и почти совсем не пишут на Васике?
А Шарп -- это ведь тот же Васик. 1) программисты с высокой квалификации абсолютно не требуютя, и 2) генерит медленный исполняемый код. Синтаксис языка, конечно, облагорожен, тут бесспроно! Но код, который он создает... это выше моих сил!
Впрочем, задачи, которые не требуют реального времени, могут быть вполне "окучены" Шарпом. Только вот что-то я не особо вижу такие задачи. Чем мельче процессор/контроллер, тем больше востребованность реального времени. Хотя, АРМы это уже не ногодрыгалки, но ведь они еще не терабайтные серверы баз данных. АРМы ставятся там, где действительно нужна скрорость. Мне кажется, что Фреймворк однозначно убъет любой быстрый АРМ.
|
|
|
|
|
May 12 2008, 07:48
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-05-08
Пользователь №: 37 402

|
Express версия не подходит нужна только VS2005 причем с обновлением SP1
|
|
|
|
|
May 13 2008, 05:13
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-05-08
Пользователь №: 37 402

|
пока только С#
|
|
|
|
|
May 13 2008, 20:35
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Это, кстати, не проблема. VS2005 лежит тут неподалеку на фтп. А SP1 качается свободно с сайта MS Правда ставить советовал бы на чистый WinXP. Не переносит всяких RAD Studio и своих же более новых. Цитата(dozent33 @ May 12 2008, 11:18)  Express версия не подходит нужна только VS2005 причем с обновлением SP1
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|