武汉华和机电技术有限公司

智能制造网免费8

收藏

WinCE介绍以及如何在项目中选择合适版本

时间:2022-01-26      阅读:318

在 1996 年,微软引入了 Windows CE 这个产品,主要用于 Palm-PC/PDA。从今天来看,当时支持的功能是相当简单。甚至不支持 VGA 分辨率输出,无彩色显示,整个屏幕只被一个应用占据。这听起来像是非常古老的东西。当然,关于全屏单应用,一些大公司这些年来在改变这一点(iOS),另外一些公司则重新采用了这个方法。这个是文章的题外话。

从那时起,Windows CE 经历了许多变化。诸如实时调度器、.NET 等功能已经得到支持,以及越来越多的并行处理,当然,操作系统的名字也发生了变化。最初其称为 Windows CE(WinCE),然后是 Windows Embedded CE(仍旧为 WinCE),直到现在的 Windows Embedded Compact(WEC)。我将会使用 WinCE 代称所有的版本,当具体指某一个版本时,将会使用相应的名字。

WinCE5.0 带有出色的内核和调度器,提供实时处理和许多来 Windows PC 的很好的功能。当然,这也存在一些限制,比如最多同时支持 32 个进程, 32MB 内存等。然而,在曾经的一段时间内,这些限制都不是问题。有时候我们怀念过去的那些时光,特别是当我仅仅想要安装一个简单的打印机驱动时,却不得不下载超过 100MB 的安装文件。

韬睿基于 Marvell PXA SoC 的计算机模块仍旧支持 WinCE 5.0,我们还甚至提供积极的技术支持,包括维护更新等。这依旧是一个十分优秀和稳定的操作系统,能够满足众多需求。

随着应用快速发展,WinCE 5.0 的限制必须得以克服。Windows Embedded CE6.0 就应运而生。微软大幅提高了每个处理器支持的内存上限和运行的进程数量。即使内核发生了大量的变化,微软发布的新的操作系统,仍然能够针对前代系统提供很好的兼容性。这对应用和驱动的移植颇有帮助。当然,这其中依旧存在一些限制,的一个就是缺少对多核构架的支持。

我们很多的模块都能够支持 WinCE 6.0 ,例如 Colibri Vybrid(VF50 和 VF61, 两者都是单核 Cortex-ASoC),Colibri/Apalis Tegra 模块,当然还有ColibriPXA 模块。这意味着韬睿仍然在积极地开发这操作系统,并没有停止的计划。

因为在多核的芯片上使用单核操作系统,这并没有多少意义,那么我们就需要一个新的操作系统。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 Compact2013, 微软采用了 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。

关于我们

华和技术(WONHERE)顺应市场发展趋势,作为智能硬件一站式解决方案提供者,基于低功耗嵌入式平台专注采集、控制、通讯一站式解决智能硬件研发,坚持以持续)创新为客户不断创造价值。成功案例遍布检测监测仪器、环境工程与自然、工业控制与自动化、智能交通能源、北斗位置服务、国防及医疗电子等领域。致力于通过方案开发帮助客户:缩短开发周期,降低开发成本,提高投资效率。致力于通过技术服务、项目管理和集成化的采购、生产帮助客户提高供货质量和降低企业运营成本。

华和技术(WONHERE)有十余年的嵌入式项目研发及管理经验,团队致力于平台级产品的研发和检测、监测、控制类系统方案的项目定制。华和技术是武汉大学研究生培养基地、湖北省仪器仪表学会理事单位,拥有嵌入式系统开发领域的多项知识产权。华和技术以打造中国低功耗嵌入式平台、物联网智能硬件开发及技术支持中心为使命。我们的产品有:ARM335x嵌入式板卡、ARM3530嵌入式板卡、ARM3730嵌入式板卡,X86嵌入式平台、Power PC嵌入式平台,以及仪器仪表、环境工程、智能装备、智能交通、行业嵌入式系统方案。产品咨询请与华和技术(WONHERE)联系。

上一篇: [嵌入式系统经验]Linux新手入门必须养成的七大习惯 下一篇: 嵌入式系统开发:驱动程序设计的5个方法
提示

请选择您要拨打的电话: