.NET Micro Framework介绍
内容目录
1 .NET Micro Framework是什么?
2 哪些领域可以采用.NET Micro Framework技术?
3 .NET Micro Framework 2.5的特点
4 .NET Micro Framework的架构
5 .NET Micro Framework与Window CE和Windows XP Embedded的区别
6 .NET Micro Framework与其他.NET平台的区别
7 .NET Micro Framework软件开发工具包(SDK)包括:
8 使用.NET Micro Framework开发嵌入式应用程序
9 支持.NET Micro Framework的开发套件
10 .NET Micro Framework的应用实例
11 更多.NET Micro Framework相关资源
1 .NET Micro Framework是什么?
2 哪些领域可以采用.NET Micro Framework技术?
3 .NET Micro Framework 2.5的特点
4 .NET Micro Framework的架构
5 .NET Micro Framework与Window CE和Windows XP Embedded的区别
.NET Micro Framework对存储器和处理器的要求更低。开发人员可以在低功耗,低成本的ARM7,及ARM9和Blackfin处理器上使用该框架,所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM的存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。
| .NET Micro Framework | Windows CE | Windows XPe |
Example Devices | Sensor Nodes, Aux displays, Health Monitoring, Remote Controls, Robotics | GPS Handhelds, PDAs, | Thin Clients, ATMs, Kiosks |
Device Features | Connected, Small, Wearable, Graphical UI | Connected, Graphical UI, Server, Browser, RAS, DirectX | PC class performance, |
Footprint | 250-500KB managed code | 300KB+ without managed code | 40MB + Depending on features |
Power | Very low power | Low power | More power |
CPU | ARM7, ARM9, No MMU | X86, MIPS, SH4, ARM, | X86 |
Real-time | Not Real-time | Hard Real-time | Real-time capable through 3rd party extensions |
Managed vs. Native Code | Managed via .NET Micro Framework, | Supports both | Supports both, managed code |
图2 与微软嵌入式平台产品Windows CE/XPe比较
6 .NET Micro Framework与其他.NET平台的区别
作为.NET家族的一员,.Net Micro Framework是微软专门针对超轻量级平台设计的软件架构。与.Net Framework和.Net Compact Framework不同的地方是,.Net Micro Framework具有自启动的特性,并且在HAL层,微软将操作系统的必要特性引入,如:启动管理、中断处理、线程调度、内存管理等。.Net Micro Framework可以单独使用,不需要依托其他操作系统,因此占用空间很小。
7 .NET Micro Framework软件开发工具包(SDK)包括:
8 使用.NET Micro Framework开发嵌入式应用程序
9 支持.NET Micro Framework的开发套件
10 .NET Micro Framework的应用实例
11 更多.NET Micro Framework相关资源
==============================================
关于.NET Micro Framework被限制发展的原因及未来发展(刘洪峰)
很久以前就曾多方位思考限制.Net Micro Framework发展的原因是什么?在物联网和Cortex-M3大行其道的今天,.Net Micro Framework应该有更大的发展空间才对,为什么现在还是关注者甚少?我想主要原因有三,一、源码代码是否开源;二、是否有低价开发板;三、TinyCLR是否够小。
第一个原因,目前已经不是问题,.Net Micro Framework已经实现更为彻底的源代码授权方式(Apache 2.0 license);
第二个原因,国外开发板推出较早,但是价格都在几百美元以上(折合人民币2000~5000元),而国内CSIP推出的.Net MF教育箱,主要面向高校,其价格上万,更不是一般用户所能接受。不过今天这个局面已经被打破,最低只需三百多元就可以获得一个.Net MF开发板。
第三个原因,我目前裁减最小的TinyCLR大概在280k左右(这是debug版本,release版本大概在220k左右),不过这还是略显过大,对RAM的要求也比较高,一般需要64k+128K左右,希望今后的TinyCLR只需片内资源就可以运行。
至于为什么采用Cortex-M3的开发板作为未来.Net Micro Framework的主要载体。考虑到Cortex-M3芯片代表了ARM最新的技术成果,并且芯片没有MMU,Wince和 Linux都不能运行其上,而运行其上的ucosII略显简单,并且开发必须为C/C++,对一般用户的应用开发要求过高,而.Net Micro Framework对硬件要求不高,而且应用采用C#开发,所以Cortex-M3天生适合承载.Net Micro Framework系统。更为详细的原因,我在以前所写的《 【.Net Micro Framework PortingKit – 15】移植总结(兼谈MF未来发展)》已有提及,有兴趣的朋友可以参考一下。