没有了解您的应用程序和嵌入式设备的当前能力,我很难给出明确的意见, .NET MF 是否适合此任务。如果嵌入式设备是一款低功耗8位CPU,带有2K RAM和32K ROM,则.NET MF不适合该设计。
在许多情况下,转向.NET MF将涉及对芯片组的硬件更改,这些芯片通常针对ARM7或ARM9核心。主要原因是利用已经完成的端口处理工作,并将PAL和TinyCLR交叉编译为所涉及处理器的本机代码。然后,如果您的应用程序符合.NET MF模型,您只需要开发托管代码。
比较
开发板可能会帮助您选择新设计的平台。
GHI产品的优点是您可以购买裸芯片,其中包含他们开发的固件,以与您的硬件设计集成。
回答问题1:.NET Micro Framework是否能胜任任务?
很抱歉,没有更多信息我无法回答关于您的应用程序的这个问题。
回答问题2:.NET Micro Framework有哪些不能实现的功能?
微框架不像许多竞争产品一样是实时的。调度程序相当简单,并且不针对需要确定性时间的系统进行优化。
TinyCLR将等待的下一个“线程”的IL解释为20ms。线程可以通过调用Thread.Sleep(0)
来放弃其分配的时间片。仅在每个线程时间片之间,运行时解释器才会从硬件检查标志并将事件分派到托管代码或唤醒阻塞等待硬件的线程。据我了解,没有办法让一个线程从本地代码中断服务例程(ISR)中解除阻塞,也没有办法让一个优先级较高的线程抢占地中断一个优先级较低的线程。
回答问题3:有哪些需要注意的地方?
一切似乎都在运行,您已经理解了运行时解释器循环的工作方式(线程调度和对硬件事件的反应),然后您忘记了垃圾回收!最好尽量减少内存抖动的数量(每次新建对象时仔细检查)。考虑持有一个通常会被GC回收并在需要时进行重复使用的对象池,而不是创建和销毁常用对象。
问题4的答案:是否存在可行的第三方插件设备市场?
第三方参与主要涉及硬件方面的开发板和参考设计。从软件角度来看,这个
code-share link可能会引起兴趣。顺便提一下,不要忘记大多数VS2008开发工具也适用于.NET MF(例如Resharper和VisualSVN)。
抱歉,我对第5个问题没有答案,因为我不关注这种类型的事情。微软的
.NET MF登陆页似乎有商用设备的图片,但我从未跟随过链接。