小型设备嵌入式开发(.NET Micro Framework)

news/2024/11/24 5:32:56/
本文转自:http://blog.csdn.net/yfiot/article/details/5311773

.NET Micro Framework介绍

信息产业部软件与集成电路促进中心(CSIP)已与微软公司签署了Porting Kit 协议。作为目前国内唯一.NET Micro Framework的授权机构,CSIP将联合微软中国研发集团为国内OEM厂商提供技术咨询,技术引进、本地化、协作开发,及培训和顾问等服务。并和杭州平望科技有限公司确立合作伙伴关系,共同推广MF应用开发.
.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是什么?

Microsoft® .NET Micro Framework 将 .NET 的可靠性和效率与 Visual Studio® 的高生产率结合起来,以针对价格较低、资源受限的小型设备开发应用程序,可帮助人们使用熟悉的 Visual Studio 工具来构建托管的嵌入式应用程序。

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

.NET Micro Framework技术可以应用到:Windows Vista Sideshow、远程控制、智能家电、医疗电子、零售终端以及汽车电子等行业应用场景。

3  .NET Micro Framework 2.5的特点

1)        支持ARM7/ARM9等处理器, 可支持不具有 MMU 的处理器,降低 BOM 成本。
2)        运行空间仅需要128 KB * 左右
3)        可以直接运行在硬件上,也可以运行在其他操作系统上,如Windows CE,NETOS,uCOS等
4)        使用Visual Studio 2005——C#进行开发
5)        内置可扩展的模拟器,支持自动部署及单步调试
6)        支持众多串行通讯和网络的标准接口(比如SPI、I2C、GPIO和UART)
7)        本地 TCP/IP 网络
8)        服务设备配置文件 (DPWS) 库的技术
9)        闪存保护

4  .NET Micro Framework的架构

图1展现了.NET Micro Framework的基本结构,和其它.NET平台类似,.NET Micro Framework也提供了平台抽象层(PAL),使应用程序能最大限度的降低与其所运行的硬件相关性,使得开发和移植到其它平台变得更为容易。
图片
图1  .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, 
Automotive, Set Top Boxes

Thin Clients, ATMs, Kiosks

Device Features

Connected, Small, Wearable, Graphical UI

Connected, Graphical UI, Server, Browser, RAS, DirectX

PC class performance, 
PC networking

Footprint

250-500KB managed code 
Full featured

300KB+ without managed code 
12MB with managed code

40MB + Depending on features

Power

Very low power

Low power

More power

CPU

ARM7, ARM9, No MMU

X86, MIPS, SH4, ARM, 
with MMU

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, 
native code through interop only.

Supports both

Supports both, managed code 
requires .NET Framework

图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可以单独使用,不需要依托其他操作系统,因此占用空间很小。

图片

图3 微软嵌入式应用平台系列

7  .NET Micro Framework软件开发工具包(SDK)包括:

1)         Microsoft Visual Studio  集成
.NET Micro Framework 软件开发工具包与 Visual Studio 紧密集成,不仅支持 C# 开发,还提供了设备内调试、对象浏览、IntelliSense® 以及集成构建和部署等可提高工作效率的功能。
图片
图4 .NET Micro Framework开发环境及模拟器
1)  可扩展仿真程序
可使用 .NET Micro Framework 仿真程序来反映目标硬件的功能。为模拟外部设备(如显示器、传感器和伺服控制器等)编写您自己的 .NET 类,然后将应用程序部署到自定义仿真程序中,并在虚拟硬件上对其进行测试。
2)  支持的  CPU
.NET Micro Framework 可运行在多种与 ARM7 或 ARM9 兼容的处理器上,并可向其他体系结构开放。 有关当前支持的处理器的列表,请参见下面的网站。 最低存储配置为 128 KB RAM 和 256 KB 闪存。*
3)   要面向  Microsoft .NET Micro Framework 2.0  进行开发,您需要:
ü  Microsoft Windows® XP、Windows Vista™ 或 Windows Server® 2003
ü  Microsoft Visual Studio 2005(标准版或专业版)

8  使用.NET Micro Framework开发嵌入式应用程序

使用可免费下载的 .NET Micro Framework 软件开发工具包,利用 .NET 库的子集在 C# 中开发嵌入式应用程序。 无论代码是部署在测试设备上还是运行在可扩展 .NET Micro Framework 仿真程序中,您都可以尽享 Visual Studio 的强大开发功能。
1) 更高的工作效率
Microsoft .NET Micro Framework 将 .NET 的高效率优势带到了小型设备开发中。 为人熟知的 Visual Studio 工具、C# 语言和 .NET库可缩短学习过程,并允许您充分利用使用 .NET 开发的客户端或服务器解决方案中的代码。
在小型设备环境中使用已掌握的 C# 和 .NET 技巧。
使用可扩展仿真程序,直接在 PC 上快速进行嵌入式代码的开发、测试以及调试工作。
无需离开 Visual Studio 即可对设备上运行的应用程序进行调试。
提供许多熟悉的 .NET 名称空间,包括基于套接字的网络和类似于 WPF 的图形用户界面框架。
2) 针对小型设备进行优化
Microsoft .NET Micro Framework 的目标对象为新一代价格较低、节能型 32 位嵌入式处理器。
支持不具有 MMU 的处理器,降低 BOM 成本。
将电源管理 API 向应用程序公开,有助于最大限度地延长电池寿命。
任何 Microsoft .NET 平台上都只占用最小的空间。*
3) 可靠的托管环境
.NET 公共语言运行库 (CLR) 子集的可启动、设备内实现将 .NET 开发的优势引入了小型设备。
内置对垃圾收集以及异常处理的支持,使得代码更易于编写,更不容易出错。
仅支持“安全的”IL 指令,可防止错误的执行。
可以使用 C# 语言为通过支持接口(如 SPI、I2C、GPIO 和 USART)连接的硬件编写设备驱动程序,因此能够直接支持新硬件。
4) 顶级支持
作为受到全面支持的 Microsoft 嵌入式平台,.NET Micro Framework 可访问 Microsoft 的资源、培训和工具网络以及遍及全球的合作伙伴社区。

9  支持.NET Micro Framework的开发套件                     

目前已推出的适用于.NET Micro Framework技术的开发套件如下,基于这些开发套件,可以加快设计和开发,并迅速将新应用投入市场:
1)Digi推出的 Digi Connect ME JumpStart Kit,这也是业界首次推出适用于.NET Micro Framework 的以太网解决方案。
2)飞思卡尔半导体(Freescale) 推出面向Microsoft Windows Vista Sideshow平台、.NET Micro Framework及用户定义应用的高性能开发包iMXS。除了Windows Vista SideShow应用之外,i.MXS开发工具包还支持其它Microsoft .NET Micro Framework应用,如手表、电视、桌面电话、收音机、时钟和其它小型嵌入式设计。
3)EmbeddedFusion推出带有LCD的Tahoe开发套件
4)Crossbow推出的Xbow iMOTE SDK,为无线传感应用领域提供适用于.NET Micro Framework的解决方案。

10  .NET Micro Framework的应用实例

基于.NET Micro Framework技术的产品已在消费电子,医疗器械,通信产品,汽车电子,工业控制等多个行业领域投入商用,带给用户全新的体验。
1) 智能手表
Fossil推出支持MSN Direct的 Abacus Smart Watch 2006(图5),可以直接从MSN Direct接收各种信息到手表中,能够接收MSN Messager消息和微软OfficeOutlook约会提醒。
2) GPS 导航
Garmin推出的 Nuvi 680(图6),可以从MSN Direct 获取服务:路况信息、汽油价格、天气预报、电影讯息。
3) 天气预报器
Oregon Scientific推出的 WMS801 WeatherNow(图7),使用MSN Direct 服务可以接收到整个区域内天气信息而可以不需要用户外的传感器。
4) 机器人
iRobot推出的 Scooba Floor Washing Robots(图8),具有区域识别及虚拟墙技术。
5) Z Wave 智能家居
ControlThink推出的Z Wave技术智能家居照明控制系统  Intermatic HomeSettings HA07(图9)
图片

11  更多.NET Micro Framework相关资源

请登录下列网址获取更多.NET Micro Framework相关资源:
.NET Micro Framework技术专栏: http://www.winbile.net/CataLog_855.aspx
.NET Micro Framework 相关信息及SDK下载: http://msdn2.microsoft.com/en-us/embedded/bb267253.aspx
* 总占用空间取决于所选平台功能、应用程序需求以及设备特征,变化范围通常为 128 至 512 KB RAM 以及 256 KB 至 1 MB 闪存。

==============================================

关于.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未来发展)》已有提及,有兴趣的朋友可以参考一下。 

转载于:https://www.cnblogs.com/softcg/p/6511044.html


http://www.ppmy.cn/news/541249.html

相关文章

打印机拆除

拆除打印机前面板 拆除打印机后面 需要把纸盒上面的塑料面板放下 这是里面的线 需要按着才能拔出 需要按着才能拿下 拆它下来 有个塑料卡子 盖子没有了。 取下弹簧 这个是进入个钉书器的钉

计算机组装拆卸作业图,拆装及组装电脑方法

《拆装及组装电脑方法》由会员分享,可在线阅读,更多相关《拆装及组装电脑方法(35页珍藏版)》请在装配图网上搜索。 1、2020/9/6,一份付出 一份收获,1,第十三章 组装一台计算机,组装前的准备工作 拆装的流程(重点) 拆装注意事项(重点),2020/9/6,一份付出 …

怎么拆计算机主机,技术编辑教您电脑机箱怎么拆

电脑使用人群越来越多,我们对电脑也越来越熟悉,出现一些小问题我们自己就可以解决了。但是说到拆开电脑机箱呢。攒机者们那是各有各的办法,但是对于小白来说这可真是一个大难题。下面,我就教大家打开机箱的详细步骤,希…

计算机主板分解,主板拆解与芯片赏析

主板拆解 板身下半部分拆解 先从板身的下半部分开始拆解,可以看到藏在散热装甲下的四条M.2接口,均为M key规格,支持1个22110,以及3个2280长度M.2固态硬盘(其中还有一个接口最大支持22110,但会占用另外一个2280长度的部分空间)。 有两点需要注意的是: M.2_1位置接口仅有全…

拆装机

现在感觉最难的不是写博客了,而是给博客起名字。 今天下午进行了拆装机,突然就感觉印象更加深刻了,算是对我看拆装视频的奖赏啦,哈哈。 首先呢,我还是要在网上下载一张图片的,具体的看一下主机里部的秘密吧…

佳能尼康新旧炮镜群比照

EF400mm F2.8L IS II USM 12群 16枚(2蛍石SWC) 希望小売価格:¥1,250,000 質量:3850g 镜片结构图: EF400mm F2.8L IS USM 13群 17枚(1蛍石,2UD) 希望小売価格:¥1,140,000 5370g 1代镜片结构 再来看看尼康的炮…

佳能 Canon *.CR3 檔案格式 外部資源

Describing the Canon Raw v3 (CR3) file format https://github.com/lclevy/canon_cr3 Canon CR3 support. https://github.com/Exiv2/exiv2/issues/236#issuecomment-370220072 各種相機評測 (Canon, Nikon, SONY, …) JPG 樣張下載 RAW 樣張下載 https://www.photogr…

dslrcontroller尼康_外拍中的联机拍摄方案 笔记本和安卓平板

拍摄时用笔记本或者平板电脑联机拍摄是一件极其有意思的事情,其装逼显摆意义和其实用意义不相上下。拍摄刚开始时就能给客户一个好牛逼的印象。对赢取客户信任起到了举足轻重的作用。 方法其实非常简单~~~~ 本文包括笔记本和安卓平板的方法。噗,我的ipad…