.NET Micro Framework常见问题问答

问:.NET Micro Framework是什么?
答:请参见:http://blog.csdn.net/yefanqiu/article/details/5711770

官方网站:http://www.microsoft.com/netmf/default.mspx

 

问:.NET Micro Framework与Window CE和Windows XP Embedded的区别?

答: .NET Micro Framework对存储器和处理器的要求更低。开发人员可以在低功耗,低成本的ARM7,Cortex-M3及ARM9和Blackfin处理器上使用该框架(不需要MMU),所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM的存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。

 

问:.NET Micro Framework和 .NET Compact Framework、.NET Framework的异同?

答:.NET Framework主要在Windows平台上使用,从vista开始,.NET Framework已经成为Windows系统的一部分。而.NET Compact Framework是.NET Framework的一个子集,比较小(2M左右),主要在WinCE和Windows Mobile平台使用。.NET Micro Framework也算.NET Framework的一个子集,个头更小(300K左右),不过扩展了很多底层硬件的库,如Microsoft.SPOT.Hardware(提供了GPIO、I2C、SPI等操作接口)、Microsoft.SPOT.Hardware.Usb、Microsoft.SPOT.Wireless.IEEE_802_15_4(Zigbee)。此外.NET Micro Framework最大的特色是自启动,可以不需要操作系统支持。此外因为其是一个框架,所以可以在Windows、WinCE甚至是Linux平台加载并运行。

 

问:.NET Micro Framework可以免费使用吗?

答:和WinCE平台不同,.NET Micro Framework完全免费,采用Apache 2.0 license,比Linux等开源软件更为彻底的方式实现了源代码完全开放。这意味着,你在.NET Micro Framework源码基础上自己开发和拓展的功能代码不需要开源,有利于你保护自己的知识产权不被轻易侵犯。

Visual Studio 2010 Express 的下载地址如下:

http://www.microsoft.com/express/download/

.NET Micro Framework 4.1 SDK:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CFF5A7B7-C21C-4127-AC6

5-5516384DA3A0

.NET Micro Framework 4.1 Porting Kit

http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=ccdd5eac-

04b1-4ecb-bad9-3ac78fb0452b

 

问:采用.NET Micro Framework技术的主要产品都有什么?

答:虽然.NET Micro Framework在2001年就开始研发,但是一直作为内部开发系统使用,直到2006年2月13日,在德国纽伦堡才公开发布(中国是2007年)。两大系统MSN Direct(智能手表,天气信息咖啡壶,汽车导航等)和SideShow(SideShow功能笔记本,遥控器,键盘等)就是基于.NET Micro Framework开发。

MSN Direct相关内容介绍,请参见我的博客文章:http://blog.csdn.net/yefanqiu/article/details/4602886

SideShow相关内容请看下面的链接:

http://lmj.wablog.info/post/windows-sideShow-se.php

http://notebook.yesky.com/113/3068113.shtml

http://article.pchome.net/content-605475.html

http://tech.sina.com.cn/n/2008-03-20/0004608611.shtml

http://www.expreview.com/2867.html

http://nb.sanhaostreet.com/NewsData/2007/3/200732314276635.shtml

http://blog.csdn.net/yefanqiu/article/details/3850119

http://blog.csdn.net/yefanqiu/article/details/3987163

http://blog.csdn.net/yefanqiu/article/details/3986896

目前基于.NET Micro Framework又推出两款产品:

Netduino:http://netduino.com/

Microsoft .NET Gadgeteer: http://blog.csdn.net/yefanqiu/article/details/5971437

 

问:哪些领域可以采用.NET Micro Framework技术?

答:SideShow、远程控制、智能家电、教育类机器、医疗电子、零售终端以及汽车电子等行业应用场景;此外由于.Net MF集成了各种接口,如串口、网口、Wifi、Zigbee、I2C、SPI、SDIO、USB等通信接口,加上其应用开发简便,所以在物联网时代,将大有作为。

 

问:.NET Micro Framework主要支持什么芯片?

答:主要是ARM7/ARM9/Cortex-M3芯片,截止到.NET Micro Framework V4.2 beta版本,支持芯片如下:

Atmel:AT91SAM7X 、AT91SAM9RL64、AT91SAM9260、AT91SAM9261、AT91SAM9263

Analog Devices:ADSP-BF537

恩智浦(NXP):LPC22XX、LPC24XX

飞思卡尔(Freescale):MC9328

英特尔(Intel):PXA271(XSCALE)

瑞萨电子(RENESAS):SH2、SH2A、 SH7216、SH7264


ST:STM32F103、STM32F207(正在做)

参见:http://blog.csdn.net/yefanqiu/article/details/5308329

开发板:

http://item.taobao.com/item.htm?id=7117999726

http://item.taobao.com/item.htm?id=10919470266

 

问:.NET Micro Framework的开发环境和语言?

答:
V2.5 : VS2005 + SDK2.5

V3.0: VS2008 + SDK3.0

V4.0:VS2008+ SDK4.0

V3.0、V4.0、V4.1:VS2010 + SDK4.1

V3.0、V4.0、V4.1、V4.2beta:VS2010 + SDK4.2

开发语言 C#,从V4.2 beta开始支持VB.net

 

问:.NET Micro Framework的执行效率如何?

答:由于是托管代码,所以执行效率和C/C++语言相比还是相对较慢的,不过对执行效率要求更高的代码,我们可以用C/C++编写,然后采用P/Invoke的技术,让C#来调用。

 P/Invoke: http://blog.csdn.net/yefanqiu/article/details/3892480

 

问:.NET Micro Framework是实时系统吗?

答:不是,不过由于.NET Micro Framework是一个框架,可以移植到UCOSII等实时系统上去,实时相关的代码可以基于UCOSII系统在底层实现。

 

问:.NET Micro Framework图形开发采用什么技术?

答:官方库仅支持WPF(Windows Presentation Foundation)图形开发。

我开发了System.Windows.Form库,和.NET Framework保持兼容,参见:http://blog.csdn.net/yefanqiu/article/details/5014548

此外又开发轻量级图形库TinyGUI,参见:http://blog.csdn.net/yefanqiu/article/details/5612682

 

问:.NET Micro Framework未来的发展方向是什么?

答:微软官方正积极的推广云计算平台,而物联网提倡的是云+端,所以.NET Micro Framework自然作为微软的一个端平台进行发展。

我设计的基于.NET Micro Framework的物联网开发平台TinyIOs:

http://blog.csdn.net/yefanqiu/article/details/5898088

上一篇:第二章 字符串处理与编码不再发愁


下一篇:第六章 Python类(面向对象编程)