windows ce6.0(wince系统模拟器手机版软件开发)
By Toradex Roman Schnarwiler
在1996年,微软引入了Windows CE这个产品,主要用于Palm-PC/PDA。从今天来看,当时支持的功能是相当简单。甚至不支持VGA分辨率输出,无彩色显示,整个屏幕只被一个应用占据。这听起来像是非常古老的东西。当然,关于全屏单应用,一些大公司这些年来在改变这一点(iOS),另外一些公司则重新采用了这个方法。这个是文章的题外话。
从那时起,Windows CE经历了许多变化。诸如实时调度器、.NET等功能已经得到支持,以及越来越多的并行处理,当然,操作系统的名字也发生了变化。最初其称为Windows CE(WinCE),然后是Windows Embedded CE(仍旧为WinCE),直到现在的Windows Embedded Compact(WEC)。我将会使用WinCE代称所有的版本,当具体指某一个版本时,将会使用相应的名字。
WinCE 5.0带有出色的内核和调度器,提供实时处理和许多来Windows PC的很好的功能。当然,这也存在一些限制,比如最多同时支持32个进程,最高32MB内存等。然而,在曾经的一段时间内,这些限制都不是问题。有时候我们怀念过去的那些时光,特别是当我仅仅想要安装一个简单的打印机驱动时,却不得不下载超过100MB的安装文件。
韬睿基于Marvell PXA SoC的计算机模块仍旧支持WinCE 5.0,我们还甚至提供积极的技术支持,包括维护更新等。这依旧是一个十分优秀和稳定的操作系统,能够满足众多需求。
随着应用快速发展,WinCE 5.0的限制必须得以克服。Windows Embedded CE 6.0就应运而生。微软大幅提高了每个处理器支持的内存上限和运行的进程数量。即使内核发生了大量的变化,微软发布的新的操作系统,仍然能够针对前代系统提供很好的兼容性。这对应用和驱动的移植颇有帮助。当然,这其中依旧存在一些限制,最明显的一个就是缺少对多核构架的支持。
我们很多的模块都能够支持WinCE 6.0,例如Colibri Vybrid(VF50和VF61,两者都是单核Cortex-A SoC),Colibri/Apalis Tegra模块,当然还有Colibri PXA模块。这意味着韬睿仍然在积极地开发这操作系统,并没有停止的计划。
因为在多核的芯片上使用单核操作系统,这并没有多少意义,那么我们就需要一个新的操作系统。Windows Embedded Compact 7则填补了这个需求。这个系统还有其他方面的改善,例如支持3GB物理内存、OpenGL ES 2.0、NDIS 6.1等。绝大多数WinCE 5和6平台上的应用和驱动都可以直接运行,但是它们只运行在一个核上面,并没有发挥多核系统的优势。那么,这个时候还有什么限制呢?大容量的RAM和多核都已经得到支持,剩下什么呢?
WEC7无疑是韬睿支持的WinCE版本之一。我们提供针对所有模块的BSP,包括十分成功的基于Freescale i.MX 6的Colibri/Apalis i.MX6模块。我们没有针对PXA模块提供WEC7,因为这些模块并不能从WEC7有太多受益。
回到正题,WEC7之后又会是什么?到目前为止,我们还没有讨论ARM构架。到WEC7为止,内核和应用都是使用ARMv4I或者ARMv7指令。对于Windows Embedded Compact 2013,微软采用了Visual Studio中支持ARMv7T2(thumb-2)代码生成的最新编译器。这种代码主要包含16位指令,从而降低了应用的大小,更重要的是,由于每条指令获取的代码变少,指令获取的速度也相应地提高。WEC2013还带有不少其他的改善,例如提升网络协议处理速度、.NET 3.9多核支持,最重要的一个更新或许是,开发环境更新至Visual Studio 2012/2013。
在技术许可的情况下,我们为所有的模块提供WEC2013 BSP。有些条件必须满足,如ARMv7架构和32位浮点单元。如果支持NEON,那么浮点计算将不成问题。所以在Tegra T30、i.MX6和Vybrid产品上我们支持WEC2013。
那么现在剩下一个大的问题,目前选作WinCE还是否合理?回答是肯定的。如果你在寻找一个功能丰富的实时操作系统,同时想要简单易用的应用开发和调试环境,WinCE是正确的选择。但是应该选择哪一个版本呢?如果你向市场部同时询问,他将会说最新最棒的那个。当然,这可以作为一个选择,但通常并不是那么简单。我就这一点尝试做些总结,针对韬睿支持的各个WinCE版本提供一些选择的理由,这或许能够帮助您做选择。
Windows CE 5(Visual Studio 2008)
这固然是一个很好的操作系统,但是在这个系统开始应用开发,却并没有多少意义,很有可能您会选择一个较新的硬件平台,但是不支持WinCE 5 BSP。
Windows Embedded CE 6(VS2008)
是的,为什么不呢。如果你的硬件平台只为操作系统提供一个核,WinCE 6或许是很好的选择。它支持.NET 3.5。相对于更新的WinCE版本,这是一个更加经济的解决方案,因为韬睿提供的WinCE 6授权已经包含在Colibri Vybrid模块的售价中。如果使用新的WinCE版本,需要您购买另外的授权。我要提的另一点是,小内存有利于低成本产品,例如我们的Vybrid产品。
Windows Embedded Compact 7(VS2008)
如果你有一些原来的代码或者驱动需要在WinCE上运行,同时又想利用多核系统,那么您应该选择WEC7。它同样允许您编译针对ARMv7的应用,这可以略微提高性能。WEC7在市场中已经存在数年,是一个十分稳定的操作系统。
Windows Embedded Compact 2013(VS2012/VS2013)
有两个主要的理由选择该操作系统。一个是VS2012/VS2013开发环境。大多数公司已经在使用这两个系统。第二个重要的理由是,.NET 3.9 framework的多核支持。而不选择WEC2013的一个原因是,与之前系统的二进制应用和驱动的不兼容。如果你必须要在老的WinCE系统上运行二进制程序,那么您就不能选择WEC2013。
免责声明:本文由用户上传,如有侵权请联系删除!