.NET Micro Framework终于在正式命名一年之后, 于2月13日,在德国纽伦堡被发布。NETMF是针对嵌入式设备开发的.NET系统,可以运行在ARM7不带MMU的版本上,目前还没有报道,说NETMF可以运行在8位单片机或者其他的嵌入式CPU中,不过感觉这只是一个时间问题。
NETMF比Windows CE要小,而且可以完全脱离操作系统环境运行,这个非常符合嵌入式系统的要求。目前,NETMF已经被应用到微软的SmartWatch和Vista的SildShow中。可以说,NETMF是目前微软最小的.NET系统。
NETMF与.NET CF相比,.NET CF需要依赖于Windows CE的操作系统环境,而且现在还不能被移植到Windows CE之外的操作系统中(不过最近XBOX 360的XDA是支持.NET CF的)。而NETMF则不受这样的限制,可以被移植到任意的硬件平台上。不过目前NETMF公布的还只是SDK,还没有公布移植到其他平台上的指导文件,市场策略还需要进一步观察。
NETMF的移植,目前没有资料可寻,不过英飞凌等几家公司已经公布了支持NETMF的开发板。所以,我们可以相信,.NET MF的移植不会比Windows CE的移植工作还要难。
现在,我们可以在下面的连接中下载到NETMF的SDK:
http://www.microsoft.com/downloads/details.aspx?familyid=32f5df20-6c95-4fe8-a76c-0ed56a839ad2&displaylang=en
SDK安装需要有Visual Studio 2005和MSDN。安装完成之后,我们可以在C:\Program Files\Microsoft .NET Micro Framework中找到NETMF的文件,还有一些示例代码会被安装在“我的文档”的\Microsoft .NET Micro Framework\Samples目录下。
Samples中包括7个工程文件,其中Presentation工程会显示一个NETMF的UI界面,以前盛传NETMF的显示工作是由WPF/E来完成的,现在看起来似乎只是一种传闻了。
SocketClient与SocketServer是一个介绍Microsoft.SPOT.Net程序集下,Socket如何使用的例子。而SampleEmulator中包括的是NETMF模拟器的源代码,目前看起来,这个模拟器还十分简单。可见NETMF还有一段很长的路要走。
接下来,我们来看一下C:\Program Files\Microsoft .NET Micro Framework中的文件,NETMF目前的版本号是v2.0.3036,不知道是不是为了和.NET版本号一致?Assemblies目录下包括的是NETMF的程序集,Documentation是文档,Fonts中是NETMF使用的字体,扩展名为tinyfnt,可能是使用了自己的字体格式,也不知道能不能添加中文字体的支持?Tools目录下是模拟器和Debugger工具。
我们来看Assemblies目录下的文件,除了我们熟悉的dll文件外,还有pdbx和pe为扩展名的文件,其中以pe为扩展名的文件是允许开发者进行再发布时使用的。不过我现在还不太了解再发布的方式。
借助Reflector,我们可以大致了解程序集中所包括的内容。其中mscorlib.dll和System.dll是Native Dll,无法通过Reflector进行查看。
托管程序集中,Microsoft.SPOT.TinyCore显示是NETMF的核心程序集,其中包括了Microsoft.SPOT.Input,负责处理用户输入;Microsoft.SPOT.Presentation中包括的主要是窗体管理,显示区域等,下面还有Controls、Media和Shapes三个命名空间。其中在Controls下面能够看到的控件有ListBox、Text、Panel和ScrollViewer。Media下面是Colors、Pen和SolidColorBrush,.NET下的类结构依稀可见。
Microsoft.SPOT.Net下面比较简单,实现了Socket。
Microsoft.SPOT.Hardware是很重要的一个程序集,用于直接操作硬件。呃,直接操作硬件,感觉回到了DOS时代一样,不过NETMF连操作系统都不需要,难道能直接操作硬件不合理吗?现在能够看到的类有Battery、CPU、GPIO、I2C、SerialPort、TristatePort(这是什么意思?)等硬件设备。如果这样看起来,微软只是实现了最基本的一些工作,那么要实现操作更多的外设、文件系统、多媒体设备,这些工作似乎需要有人干。再出现一个新的OpenNETMF也不是没可能的:)诸位要加油了。
Microsoft.SPOT.Native中包含的类很多,有许多我还没搞清是做什么的,从名字上看,有扩展的Timer、数学库(实现了Random、Sin和Cos)、SystemTime之类。其中还有一个Cryptography的命名空间,竟然还实现了RSA加密……还有SystemID,Message等类没闹清楚做什么的,不瞎说了。
Microsoft.SPOT.Graphics程序集下,最主要的两个类是Bitmap和Font,这显然是Microsoft.SPOT.Presentation的一个辅助类。
NETMF中包括的程序集基本上就这么多,从产品本身看,NETMF无疑是具有超凡想象力的,很久前听说过Java有一个SmartCard版本,但一直无缘得见,如今NETMF确实是实现了嵌入式系统中托管代码。嵌入式领域的软件一直无法做大做强的一个很重要原因就是缺乏统一的开发平台,在不同平台间移植应用程序代价高昂。我们不能说NETMF就是济世的良药,但他至少是我们未来的选择之一。也许将来也会出现专门开发嵌入式软件的专业软件公司,而不像现在这样,软件工程师必须依赖于硬件系统工程师的工作成果。
当然NETMF是否成功,除了技术本身之外,微软的推广政策也是很重要的因素。用惯了免费系统的嵌入式工程师,如果没有明显的好处,他是不愿意付钱的,可是现在的NETMF肯定是有很长的路要走。如果让微软Open Source似乎也不太现实……不过如果微软不采取行动,出现一个Embedded Mono也不是不可能的。
写这么多废话,其实也是让大家知道,我这几天没研究刚发布的Windows Mobile 6.0,是因为什么?Windows Mobile 已经到了6.0,我也不太指望能有什么新意了,还是多看看未来吧。
分享到:
相关推荐
在这个部分,我们专注于如何通过模拟器进行零成本的.NET Micro Framework开发,让你无需硬件就能开始实践。 **.NET Micro Framework概述** .NET Micro Framework(NETMF)是微软为小型、低功耗设备开发的一个操作...
### .NET Micro Framework在物联网行业的应用前景 #### 一、物联网技术概述 随着信息技术的不断发展,我们已经迈入了互联网3.0时代,这一时代的特点是连接设备与人的能力大大增强,同时也带来了海量数据流的处理...
.NET Micro Framework 支持丰富的用户体验和与其他设备的深度连接。 什么是 IOSharp - Linux 微框架? 官方的 Micro Framework 旨在用于资源受限的设备,正如您在上面阅读的那样,因此使用此框架的程序将在设备的...
这个库提供了丰富的API,使得.NET开发者能够方便地在Windows CE、Windows Mobile以及.NET Micro Framework等平台上实现蓝牙功能。在移动设备开发中,蓝牙功能是不可或缺的一部分,用于设备间的无线数据传输和通信。 ...
Petapoco是一个轻量级的ORM(对象关系映射)库,专为.NET Micro Framework和.NET Framework设计。在本项目中,Petapoco被用来简化与MySQL数据库的交互。通过Petapoco,开发者可以避免编写大量SQL语句,而是使用C#...
该库由InTheHand公司开发,其目的是为了让.NET开发者能够在Windows、Windows Phone以及.NET Micro Framework上进行蓝牙编程。32feet.net包含了多种类和接口,如InTheHand.Net.Bluetooth和InTheHand.Net.Sockets,...
作为.NET程序员的必备手册,这本书旨在帮助开发者深入理解.NET平台,提升开发效率,并提供高质量的用户交互体验。 在第一部分“用户界面”中,本书详细探讨了以下几个关键知识点: 1. Windows Forms:这是.NET ...
### 微软嵌入式操作系统的分析与对比 #### WinCE设备驱动程序解析...无论是针对高性能需求的WinCE,还是针对资源受限环境的.NET MicroFramework,都在不断地优化和完善之中,为开发者提供了更为灵活和高效的开发体验。
**.NET Micro Framework**是微软为嵌入式设备开发的一个精简版.NET框架。它可以运行于资源受限的设备上,并支持C#语言编程。使用.NET Micro Framework可以简化复杂的硬件操作,提高开发效率。 #### 三、蓝牙模块...
- 轻量级框架:选择轻量级的开发框架,如.NET Micro Framework或Java ME,这些框架专门为资源受限的环境设计。 2. 编程语言策略 - C/C++:由于其低级别的内存管理,C/C++特别适合开发对内存要求严格的软件。但是...
总的来说,"ASP.NET-[博客空间]mBlog个人博客系统v1.0Beta2.zip"是一个集成了ASP.NET技术、数据库管理和用户体验设计的Web应用实例,对于学习和实践ASP.NET开发具有很高的参考价值。通过深入研究这个系统,开发者...
然而,随着.NET Micro Framework的发展,C#在嵌入式领域的应用也日益增加。 1. **VGA(Video Graphics Array)初始化**:VGA是早期的一种标准图形适配器,尽管现在已经被更高级的显示技术取代,但在许多嵌入式系统...
微软的Windows Embedded产品线主要包括以下几个部分:Windows Embedded CE、Windows XP Embedded、.NET Micro Framework以及相关的移动和零售解决方案。其中,Windows XP Embedded(简称XPE)是基于Windows XP ...
在移动设备上,它通过微型版(例如.NET Micro Framework或Xamarin)实现,使开发者能在资源有限的设备上运行高性能的应用程序。 移动网络开发是本书的一个重点。在移动环境中,网络连接可能不稳定,因此开发者需要...
6. **兼容性**:由于C#的跨平台特性,该驱动可能还需要考虑在不同的操作系统环境(如Windows CE、Windows Mobile或.NET Micro Framework)下的兼容性问题。 ST7637_initialcodeV1.txt很可能是这个驱动程序的初始...
在这里,游戏是用C#编程语言编写的,这意味着开发者可能使用了.NET Micro Framework或Mono,这两个都是C#在嵌入式系统上的运行环境。 首先,让我们深入了解C#在Linux环境下的应用。C#通常与Windows平台关联,但通过...
Entity Framework (EF) 是微软提供的一款强大的对象关系映射(ORM)框架,它允许开发者使用.NET语言(如C#或VB.NET)来操作数据库,而无需编写大量的SQL语句。EF提供了一种抽象的方式来处理数据库操作,使得开发更加...
C#虽然不是传统的单片机编程语言,但通过.NET Micro Framework或其他类似框架,可以在某些微控制器上运行,实现更高级别的编程抽象和更丰富的应用程序开发。 在压缩包内的"pressure test"可能是一个测试程序或者...