Без знания вашего приложения и текущих возможностей встроенного устройства мне будет трудно дать окончательное мнение, если .NET MF соответствует задаче. Если встроенное устройство представляет собой 8-разрядный процессор с низким энергопотреблением с 2 КБ оперативной памяти и 32 КБ ROM, то .NET MF не подходит для этого дизайна.
В большом числе случаев переход на .NET MF будет включать аппаратные изменения на чипсет, одобренные многими поставщиками, которые обычно нацелены на ядра ARM7 или ARM9. Основной причиной этого является использование уже выполненной работы по переносу HAL и кросс-компиляция PAL & TinyCLR в собственный код для рассматриваемого процессора. Затем, если ваше приложение соответствует модели .NET MF, вам нужно только разработать управляемый код.
Сравнение development boards может помочь вам выбрать платформу для нового дизайна. Преимущество GHI products заключается в том, что вы можете приобрести чистые чипсеты с прошивкой, которую они разработали для интеграции с вашим аппаратным дизайном.
Ответ на вопрос 1: Подходит ли .NET Micro Framework к задаче?
К сожалению, я не могу ответить на это по поводу вашего заявления без дополнительной информации.
Ответ на вопрос 2: Каковы некоторые из особенностей, которые не может сделать .NET Micro Framework?
Микро-каркас не в реальном времени, как многие из конкурирующих продуктов. Планировщик довольно прост и не оптимизирован для систем, требующих детерминированного времени.
TinyCLR интерпретирует IL от следующего ожидающего «потока» в течение 20 мс. Потоки могут давать отведенный срез времени, вызывая Thread.Sleep(0)
. ТОЛЬКО между каждым временным срезом потока будет интерпретатор Runtime Interpreter проверять флаги от оборудования и отправлять события на управляемый код или просыпать потоки, если они заблокированы в ожидании аппаратного обеспечения. Насколько я понимаю, нет возможности разблокировать поток из подпрограмм обслуживания прерываний из собственного кода (ISR) или для потока более высокого приоритета, прерывающего прерывание потока с более низким приоритетом.
Ответ на вопрос 3: Каковы некоторые из ошибок?
Все, кажется, работает, вы понял, как среда выполнение interperter цикла работ (планирование потоков и реагирование на аппаратные события), а затем вы забыли о СБОРЕ МУСОРА !!
Лучшее, чтобы свести к минимуму количество измельчения памяти (внимательно просмотрите каждый раз, когда вы new
объект). Вместо того, чтобы создавать и уничтожать обычно используемые объекты, подумайте о том, чтобы держать пул объектов, обычно GC'd, и повторно использовать их при необходимости снова.
Ответ на вопрос 4: Существует ли жизнеспособный сторонний рынок для плагинов?
Участие третьей стороны в основном относится к советам разработчиков и справочным конструкциям на аппаратной стороне вещей. С точки зрения программного обеспечения это может представлять интерес code-share link. В качестве побочного вопроса, не стоит забывать, что большинство инструментов разработки VS2008 работать на .NET MF (например Resharper и VisualSVN)
К сожалению, нет ответа на вопрос 5, как я не следую этот тип вещь. landing page for .NET MF на Microsoft, похоже, имеет изображения коммерческих устройств, но я никогда не следил за ссылками.
Почему бы вам не порекомендовать переключиться на платформу, с которой у вас нет опыта? –
@Binary Worrier. Потому что существующая методология слишком долго подходит для выхода на рынок. И таким образом, я задаю вопрос здесь, прежде чем мы нажмем курок. – AngryHacker
Мне любопытно, почему вы консультируетесь с компанией, которая делает встроенные устройства, когда вы никогда не программировали встроенное устройство? Мне плохо для плохой компании ... похоже, что у них есть очень короткий конец палки. – jrista