WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。
编辑本段概述和特色
概述
Windows CE作业系统是Windows家族中最新的成员,专门设计给掌上型电脑(HPCs)所使用的电脑环境。这样的作业系统可使完整的可携式技术与现有的Windows 桌面技术整合工作。 Windows CE 被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用 操作系统, Windows CE 可以通过设计一层位于 内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)(在以前解释时,这被称为 OEMC (原始设备制造)适应层,即 OAL; 内核压缩层,即 KAL。 以免与微软的 Windows NT 操作系统 HAL 混淆) 。 不象其它的微软 Windows 操作系统,Windows CE 并不是代表一个标准的相同的对所有平台适用的 软件。为了足够灵活以达到适应广泛产品需求, Windows CE 采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式, OEM 能够减少存储 脚本和操作系统的运行。 Windows CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线, Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。特色
增进工作产能和效率的通讯录、日历行程、工作管理、Microsoft Pocket Excel与Microsoft Pocket Word控制台可以控制并管理Windows CE与办公室PC的连结。这让在您的PC与PDA之间转移资料并与他人透过 电子邮件及红外线无线电通讯,同时与其他手携式设备交换资料。利用便携式Internet Explorer遨游网络,并使你的HPC达到最大的功用。 从随时随地的使用电脑及PDA,到智慧型家电用品及丰富的多媒体家庭剧院,Microsoft Windows CE为工作、家庭及其间的任何一部分开启了动态的、崭新的开发远景。这个模块化、可自订的作业系统将Windows平台延伸到桌面之外,到达更小、更机动性、更特别的装置之上,然而它的Windows血统则确保了它的相容性,并且支援了更广泛的开发基础。Microsoft Windows CE揭露了革命性的系统架构,可以让身为开发者或科技领导者的您,扩展消费者及工业电子上的新市场。编辑本段体系结构
基于Windows CE构建的嵌入式系统大致可以分为4个层次,从底层向上依次是:硬件层、OEM层、操作系统层和应用层。不同层次是由不同厂商提供的,一般来说,硬件层和OEM层由硬件OEM厂商提供;操作系统层由微软公司提供;应用层由独立软件开发商提供。 [1] 每一层分别由不同的模块组成,每个模块又由不同的组件构成。这种层次性的结构试图将硬件和软件、操作系统和应用程序隔开,以便于实现系统的移植,便于进行硬件、软件、操作系统、应用程序等开发的人员分工合作、并行开发。硬件层
硬件层是指由CPU、存储器、I/O端口、扩展板卡等组成的嵌入式硬件系统,是Windows CE操作系统必不可少的载体。一方面,操作系统为嵌入式应用提供一个运行平台;另一方面,操作系统要运行在硬件之上,直接与硬件打交道并管理硬件。值得注意的是,由于嵌入式系统是以应用为核心的,嵌入式系统中的硬件通常是根据应用需要定制的,因此,各种硬件体系结构之间的差异非常大。“更小、更快、更省钱”几乎是所有嵌入式系统硬件的设计目标。OEM层
OEM层是逻辑上位于硬件和Windows CE操作系统之间的一层硬件相关代码。它的主要作用是对硬件进行抽象,抽象出统一的接口,然后Windows CE内核就可以用这些接口与硬件进行通信。编辑本段版本历程
Windows CE1.0
WINCE1.0是一种基于Windows95的操作系统,其实就是单色的Windows95简化版本。90年代中期卡西欧推出第一款采用WinCE1.0操作系统的蛤壳式PDA,算是第一家推出真正称得上手掌尺寸的掌上电脑厂商。作为第一代的WinCE1.0于1996年问世,不过它最初的发展并不顺利。当时Palm操作系统在PDA市场上非常成功,几乎成为了整个PDA产品的代名词,在这种情况下,微软公司被迫为最初WinCE的不断改进的同时,微软公司也通过游说、技术支持、直接资助等手段聚集了大量合作厂商,使WinCE类的PDA阵容越来越强大。Windows CE2.0
随着Windows95的出现和Windows98的成功,另外一个巨人-微软站起来了,并迅速地在PC操作系统业界建立了微软帝国。PDA市场的发展潜力被众多分析家看好,嗅觉异常灵敏的“微软”自然不会放过这样一个巨大的市场,在其操作系统帝国已经非常稳定的前提下,又开始了在PDA市场上的全力冲刺,用WinCE2.0操作系统来打造与Palm非常类似的掌上产品。 WinCE2.0不仅比CE1.0快的多,而且的彩色显示,又众多新型PDA采用新的WinCE2.0系统,大有取代Pilot的趋势,成为PDA操作系统新的标准。尽管CE2.0仍然要比Pilot的操作系统需要的空间要大的多,但它具有Windows的界面,会用PC的人小编估计没有多少人不会使用微软的操作系统。如果你熟悉Windows95,在使用WindowsCE的时候就熟门熟路了,就不需要重新学习。而且,两者技术上的相似性,第三方Windows应用软件开发商们,就可以很容易地把自己的应用软件转换成可供CE运行的版本,因此,WindowsCE的可使用软件的种类将会越来越多的。Windows CE3.0
WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行,但要做许多客户化工作,当然也可以做掌上电脑。 微软鼓励大家在任何硬件平台(WinCE3.0支持5系列CPU: x86, PowerPC, ARM ,MIPS,SH3/4) 上使用(为了和VxWorks,Linux等竞争),所以早期的WINCE运行在不同的硬件平台上,而且可以更换显示方向,以便为不同的平台服务。WinCE3.0属于付费软件,安装许可(Licence)费用为$20,10份起,批量时大致能降到$15/一份。 2000年微软公司将WinCE3.0正式改名为Windows for Pocket PC,简称Pocket PC。就是把Pocket Word和Pocket Excel等一些日常所需的办公软件的袖珍版装了进去Pocket PC,同时在娱乐方面的性能做很大的加强。当然对于微软的所有举动,捧场的厂商自然也不会少,加入Pocket PC 阵营的现在就有HP、Compaq、Casio等一些著名厂商。当Compaq的iPAQ 3630的诞生和在市场的热销,支持和加入Pocket PC阵营的厂商就越来越多。2002年智能手机商机再现,不少PPC厂商希望推出整合手机功能的PPC,于是在2002年8月,专门为手机优化过的微软Pocket PC 2002 Phone Edition操作系统匆匆问世,2002年10月,国内第一款PPC手机--多普达686上市了,随后熊猫推出了CH860、联想推出ET180,越来越多的pocket pc产品出现了。Windows CE4.0
WinCE. Net(即WinCE 4.0)是微软于2002年1月份推出的首个以.Net为名的操作系统,从名字上我们就可以知道它是微软的.net的一部分。WinCE. Net是WinCE3.0的升级,同时还加入.Net Framework精简版,支持蓝牙和.Net应用程序开发。Windows CE4.2
WindowsCE. NET 4.2是WindowsCE. NET 4.0/4.1的升级版,对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,基于其开发的设备将从这些微小但重要的变化中获得更好的性能和更强的Windows集成功能。微软在WinCE4.2版时曾提供开放源代码,不过只针对研究单位,而程序代码较少,为200万行。Windows CE5.0
WinCE5.0在2004年5月份推出,微软宣布WinCE5.0扩大开放程序源代码。在这个开放源代码计划授权下,微软开放250万行源代码程序作为评估套件(evaluationkit)。凡是个人、厂商都可以下载这些源代码加以修改使用,未来厂商OEM时,则再依执行时期(Run-time)授权,支付Win CE5.0核心每台机器3美元的授权费用,这也是微软第一个提供商业用途衍生授权的操作系统。Windows CE 6.0
2006年11月,微软公司其最新的嵌入式平台Windows Embedded CE 6.0正式上市。作为业内领先的软件工具,Windows Embedded CE 6.0将为多种设备构建实时操作系统,例如:互联网协议(IP)机顶盒、全球定位系统(GPS)、无线投影仪,以及各种工业自动化、消费电子以及医疗设备等。 在Windows Embedded诞生十周年之际,微软将首次在“共享源计划(Microsoft Shared Source programme)”中100%毫无保留地开放Windows Embedded CE 6.0内核,(GUI图形用户界面不开放)比Windows Embedded CE的先前版本的开放比例整体高出56%。“共享源计划”为设备制造商提供了全面的源代码访问,以进行修改和重新发布(根据许可协议条款),而且不需要与微软或其他方共享他们最终的设计成果。尽管Windows操作系统是一个通用型计算机平台,为实现统一的体验而设计,设备制造商可以使用Windows Embedded CE 6.0这个工具包为不同的非桌面设备构建定制化的操作系统映像。通过获得Windows Embedded CE源代码的某些部分,比如:文件系统、设备驱动程序和其他核心组件,嵌入式开发者可以选择他们所需的源代码,然后编译并构建自己的代码和独特的操作系统,迅速将他们的设备推向市场。 微软还将Visual Studio 2005专业版作为Windows Embedded CE 6.0的一部分一并推出。这对微软来说又是一次史无前例的突破。Visual Studio 2005专业版将包括一个被称为Platform Builder的功能强大的插件,它是一个专门为嵌入式平台提供的“集成开发环境”。这个集成开发环境使得整个开发链融为一体,并提供了一个从设备到应用都易于使用的工具,极大地加速了设备开发的上市。 Windows Embedded CE 6.0重新设计的内核具有32,000个处理器的并发处理能力,每个处理有2GB虚拟内存寻址空间,同时还能保持系统的实时响应。这使得开发人员可以将大量强大的应用程序融入到更智能化、更复杂的设备中。无论在路上、在工作还是在家里,都可以使用这种设备。 在路上: Windows Embedded CE 6.0加入了新的单元核心数据和语音组件,这使得设备能够通过蜂窝通讯网络建立数据连接和语音通话,从而实现机器对机器的通讯应用场景,并构建相应的设备,如停车表、自动售货机和GPS设备等。 在工作上: Windows Embedded CE 6.0包含的组件更便于开发者创建通过Windows Vista内置功能无线连接到远程桌面共享体验的投影仪。 在家中: Windows Embedded CE 6.0充分利用了多媒体技术,以开发网络媒体设备、数字视频录像机和IP机顶盒等。Windows Embedded Compact 7
在2010年6月1日-5日的 台北COMPUTEX展会上,微软正式公布了其嵌入式产品线最新的一员Windows Embedded Compact 7。Windows Embedded Compact 7的前身便是大家所熟知的Windows Embedded CE(简称WinCE)系统,随着版本号的升级,其正式改名为Windows Embedded Compact 7。微软即将推出的Windows Phone 7所采用的内核正是使用了类似的WinCE 7内核。不仅如此,Windows Phone平台也是基于WinCE平台而定制出来的产品。 此次发布的Windows Embedded Compact 7的改进如下: 1、对无缝连接技术的改进:Windows Embedded Compact 7提供的各项技术可以支持与富媒体、在线服务、Windows PC、智能手机和其他手持设备的无缝连接; 2、改进连接和使用富媒体服务:Windows Embedded Compact 7使用了新的媒体库来简化多媒体功能管理,并对 MPEG-4和HD高清进行了支持,灵活的插件架构技术支持第三方内容扩展; 3、实现了和 Windows 7的无缝对接:利用Windows Device Stage简化了多媒体的管理,可以很轻松地在两者间同步数据和媒体文件; 4、完善Office和个人信息服务:可支持Office Viewers AirSync和Microsoft Exchange; 5、丰富用户体验:可以利用Windows Embedded Compact 7提供的创新解决方案,为用户提供 非同凡响的设备交互能力; 6、灵活的UI框架扩展:Windows Embedded为设备提供了一个更加丰富和直观的用户界面框架——Silverlight, 设计师可以利用Microsoft Expression Blend构建出只限于想象力的界面效果; 7、丰富在线冲浪体验:Windows Embedded Compact 7更新的IE浏览器引擎支持Tab标签页、Zooming缩放等功能,支持Adobe Flash 10.1组件; 8、改进操控输入更具人性化:内置了强大的触控交互方式,允许用户自定义手势,并为移动设备原生提供了多点操控支持。编辑本段最新功能
目前最新的Windows CE为 Windows Embedded Compact 7,这个版本在内核部分有很大的进步: 所有系统元件都由EXE改为DLL,并移到 kernel space. 全新设计的虚拟内存架构、全新的设备驱动程序架构,同时支持 User Mode 与 Kernel Mode 两种驱动程序。突破只能运行 32 个工作元(process)的限制,可以运行 32768 个工作元。每一工作元的的虚拟内存限制由32 M 增加到全系统总虚拟内存。Platform Builder IDE 集成到 Microsoft Visual Studio 2005。新的安全架构,确保只有被信任的软件可以在系统中运行。UDF 2.5 文件系统。支持 802.11i (WPA2)及 802.11e (QoS) 等无线规格,及多重 radio support. 支持 x86, ARM, SH4, MIPS 等各种处理器。提供新的 Cellcore components 使系统在移动电话网络中更容易创建数据链接及激活通话。 [2-3] 在开发环境上,微软也提供兼容于.NET Framework的开发元件:.NET Compact Framework,让正在学习.NET或已拥有.NET程序开发技术的开发人员能迅速而顺利的在搭载 Windows CE .NET系统的设备上开发应用程序。 用于掌上电脑Pocket PC以及智能手机Smart Phone上的Windows CE系统称为Windows Mobile,目前成熟的最新版本为Windows Mobile 6.5。编辑本段开发技术
针对不同的系统,WindowsCE使用了不同的开发技术: Windows CE 使用的 VC++ 5.0 开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,从而使 OEMs 能够对特定的硬件平台使 Windows CE 标准定制。嵌入式工具包也包括 设备驱动包(DDK)和软件开发包(SDK) ,DDK 提供了关于写驱动器的附加文本,SDK 提供库、头文件、样本代码、文本以允许,开发者对基于 Windows CE 的平台进行写操作。 Windows CE 提供了相同的 程序界面,以用来为其它的视窗操作系统开发功能,例如,Windows CE 版本 1.01支持大约1000个微软的Win 32 API 函数的其中500个。这就意味着大量不同类的工具,第三方书籍,关于 Win 32 开发者训练教程,可以替代或为 Windows CE 系统的开发者所用。 而 实时系统的开发者能够使用 VDFF 5.0 的嵌入式工具包,以把操作系统转移到特定的平台,并为这个平台开发附加设备驱动器和实时功能。编辑本段系统详细介绍
线程和线程优先权级
Windows CE 是有优先级的 多任务操作系统,它允许多重功能、进程,在相同 时间系统中运行 Windows CE 支持最大的 32 位同步进程。一个进程包括一个或多个线程,每个线程代表进程的一个独立部分,一个线程被指定为进程的基本线程,进程也能创造一个未定数目的额外线程,额外线程实际数目,仅由可利用的 系统资源限定。 Windows CE 利用基于优先级的时间片演算法以安排线程的执行,Windows CE 支持八个不同的优先级,由0到7,0代表最高级,它在头文件 Winbasw.h中定义。优先级 | 描述 |
0 | 关键进程所使用的优先级,是最高级别,相当于Windows里的Ring0 |
1 | 最高线程优先级,比0级优先级低 |
2 | 高于通常的线程优先级,常为较底层的进程所使用 |
3 | 通常线程优先级,比较基础 |
4 | 低于常规线程优先级,有时候会被后台线程用到 |
5 | 最低线程优先级 |
6 | 高于IDLE的线程优先级 |
7 | 最低级别的线程优先级 |
线程同步
实时系统必须保证进程和线程同步,例如,如果实时应用的一部分在另一部分获得最多当前数据前即完成,此应用的管理进程可能不稳定,同步将确保在应用线程间交换正确。 如同其它的 Windows 操作系统一样,Windows CE 为线程同步提供了一个丰富的“等待对象”,这包括关键部门、事件、互斥体,些等待对象,允许一个线程减缓它的运行并且等待直到指定事件发生。 Windows CE 将互斥体、关键部分、事件请求按“先入先出,优先级(FIFO)”顺序排列:不同的先入先出顺序序列定义成八个不同的优先级,在给定的优称级的线程请求,将被放在优先级列表末尾,当优先级倒置出现时,调度程序调整这些序列。 除了等待对象,Windows CE 支持标准的 Win 32 时间 API 函数,这些来自内核的应用,软件中断将获得时间间隔,它被用来管理实时应用。通过调用 GetTickCont 函数,它能够返回几毫秒,线程能够使用系统间隔时间。关于更详细的分时信息,Windows CE 内核也支持Win 32 API 函数QueryPerformanreCounter 和 QueryPerFormanteFrequency 。OEM 必须为这些调用提供硬件和软件支持,它提供一个较高的时间分辨力和 OAL 界面其它方面。其它方面考虑
Windows CE 提供了一个重要的 存储系统,例如,当目前某些运行 Windows CE 的平台提供 4MB 的物理内存,Windows CE 支持一个重要的 2GB 的地址空间,每个进程联接在它自己的32MB 物理空间上,当它需要产生内存分页中断(这可能影响线程执行时间),物理内存进行线程代码或数据内存分页。 内存分页输入输出,将比实时 进程优先级低。在实时进程中内存分页仍可自由出现,但这要确保 后台的实际 内存管理赢得实时系统优先权。 实时线程应该锁存在内存中,以防止这些无关紧要的内存分页阻碍其运行,它们可能会占用实际内存管理系统。 Windows CE 允许映射,这将阻止多个进程共享同一物理内存,结果将会导致协同进程间或驱动器与映射快速的数据传送,内存映射能够戏剧性的增强实时操作。中断处理
WinCE的中断处理机制基于IRQS ISRS 和 ISTS 实时应用被设立在指定的时间间隔内,对外部事件做出反应,实时应用使用中断做为一种确保外部事件由操作系统获知的方式。在 Windows 中,内核和 OEM 适应层 (OAL)被设定成使系统其它部分的中断和调度最优化。Windows CE 平衡操作,并通过把中断过程分成两部分而使执行更加容易:它分为 中断服务程序(ISR)和中断服务线程(IST)两部分。 每条硬件中断申请线(IRQ),与一个ISR相连。当中断成立和中断出现时,内核为此调用寄存的 ISR, ISR 为中断处理的内核模式部分尽可能短的保存。它首先将内核放在适合的 IST 上。 ISR 执行它的最小处理并返回一个 ID 号到内核,内核检查返回的中断 ID 号,并设置相关事件,中断服务线程等待事件。当内核设置事件时,IST 停止等待并开始执行,附加的中断进程,中断处理大部分实际上出现在 IST 中,两个最高的线程优先权 (级别0和1),通常指定为 ISTS,保证这些线程运行得足够快。 正如前面所说,处在最高级的 ISTS 不能被其它的线程占用,这些线程持续执行直到它们截止或放弃。 Windows CE 不能支持群体中断,这就意味着当以前一个中断处理中,另一个不同接受服务,也就是当内核位于 ISR 时如果中断出现,在为新的 IRQ 开始 ISR 前它将一直执行直到ISR 结束,这将引起硬件中断和 ISR 开始之间的延迟,拖延和响应时间中断响应。中断响应
下文中,Intervupt Latency 词组主要指的是较件中断处理响应,也即是从处部中断到达处理器到中断开始处理间的时间。 Windows CE的 中断响应时间是针对锁存在内存上的线程 (当内存响应不存在时)。这使得计算最差事件响应成为可能——中断服务程序(ISR) 开始和中断服务线程(IST)开始D的总时间,直到中断处理的总时间能够通ISR 和 IST 中所需时间计算决定。 ISR 响应通用公式定义如下: ISR开始时间 = value1 + dISR_Current + sum(dISR_Higher) value1=由内核处理过程获得响应值 dISR_Current=中断到达时程序中 ISR 持续时间。这个值范围由0到系统中最长的 ISR 持续时间 sum(dISR_Higher)=所有在 ISR 开始前的较高级ISRS 持续时间总和,即在时间 vahe1+dISR-cumeneu间到达的中断 例如,考虑一个拥有关键优先权 ISR 的嵌入式系统,因为 ISR 被设成最高级,这有样 ISRS dISR-Higher 值为0。当没有其它 ISRS 最低响应,在程序中,即为value1 最低响应即为value1加系统中最长 ISR 周期,当中断到达时,正是系统中最长的 ISR 开始执行。 IST 响应周期定义如下: IST开始时间 = value2 + sum(dIST) + sum(dISR) value2=由内核处理的响应值 sum(dIST)=所有的出现在 ISR 和 IST ,开始的优先级 ISTS 和线程上下文转换时间总和。 sum(dISR)=在中断(?) ISR 和它的 IST 之间运行的其它 ISRS 持续时间总和。 最简单的例子——具有一个关键级 ISR 和一个关键级线程(无其它0优先级的线程)的嵌入式系统——没有其它的 ISTS 能够在ISR 和 IST 之间中断,然而在关键级的 ISR 和它相关的 IST 开始间其它的 ISRS 能被处理。 因为 ISRS 一旦能够获得,即可被处理,很容易想象成病态情况,涉及产生一个持续的 ISRS 流,从而产生不确定的推迟。 IST 的开始不可能出现,因为 OEM对系统中的中断完成控制。因为 OEM ( 原始设备制造商)为特定操作系统设计传统 Windows CE 版本。 OCM 利用目标操作环境限制使系统设计最佳化。 为减少响应时间,OEM 控制 ISR 和IST 处理时间中断优先级线程优先级。公式中的 value1 和 walue2 代表,Windows CE 内核中处理时间,这是 OEM 不能控制的目前的在分时,研究工作涉及这些确认值。确保Windows CE的实时操作
两种不同途径被用来确保Windows CE操作: * 由Windows CE开发组进行内部的检查或分析内核代码, * OEM和ISV(独立软件销售商)利用一些将在未来的Windows CE版本嵌入式工具包(for VCFT)提供工具来确保特定配置。 Windows CE关于VC++的嵌入工具包包括以下工具: * (一个对于分时研究的内核的工具版本和Intrtinrt.ext 应用软件来观察,中断过程的最大、最小、平均时间。 * 微软也能开发其它的针对顾客需要的分时工具。 Windows CE开发组,已经检查了内核代码以证实它能由最差的情况时间表征,它是独立于系统对象数目的。 为了利用这个检查,内核被表征成一套KCALLS或系统调用,在内核关闭优先权是它们是内核程序,并且不允许其它的线程运行,最差事件时间,此时,实时进程、标止运行,它能在内核中表征成最差事件KCALL时间(注意:这些时间不影响ISRS,只影响线程,例如ISTS)。 开发组通过检查发现在KCALLS没有非持久的循环,这使所有的KCALLS能够表示成单向分支,代码路径,并确保通过KCALL并独立于输入参数发现最差事件时间成为可能。 查找实际的最差事件时间包括使用In strum ented kemal,这仅是一个内核版本,它在设定应用环境后编辑使用,KCALL_PROFICE=1,以保证额外的分时功能,这个instrumented kemel 与debug kemel不同,Instrument ted是为一个零售的内核使用,它用来获得分时值,这常对于装运产品常常讳之莫深,在retail kernal和instrumented kernel唯一区别是它的装备。 Instrumentted kernel记录所有的KCALL时间,这些值,包括最小、最大和平均时间,并能够通过调用专用的API函数Dum Pk call profile打印到调试接口,Instrumented kernel通常运行在强状态下,然后调用Dumpkcall prefile来获得时间。 中断测试应用软件Intrtime.exe,在Windows CE标准版本收集中断分时延迟信息,应用软件在测试中控制系统时间。因此,当系统需要时间控制器时,是不合适使用的。例如,此 应用程序不能与内核 instrumented版本一起使用,因为它也需要时间控制。在WinCE中创建自己的快捷方式
你没看错,WinCE也可以使用快捷方式。 快捷方式是可以提供到其他文件链接的很小的文件,你可以使用.lnk文件指向位于Windows文件夹中的文件。如果你不使用.lnk文件,你只能通过文件 系统文件(.dat)在ROM之外制作Windows文件夹下的文件的完全复本。 以下步骤列出了如何创建一个桌面快捷方式。当你创建了这个文件以后,你需要把它加入到运行时的image里,在大多数情况下,你需要把这个文件复制到Windows系统以外的地方。 创建一个桌面快捷方式的方法如下: 1、从Platform Builder中的File菜单选择New Project or File 2、在New Project or File对话框中选择Files标签 3、选择Text File类型 4、在File name文本框中,输入<File Name>.lnk,其中<File Name>可根据需要输入,下同。这样,一个新文件就被创建并打开了 5、在<File Name>.lnk中,输入链接命令 .lnk文件是一个包含了命令行和被链接目标的文本文件,它有一个命令行长度部分和一个命令行。你也可以通过参数传递给被链接的目标,这是可选的。然而,如果快捷方式模块在Coredll中被替换了,那么这个行为也可能会被改变。 作为默认的,一个.lnk文件使用如下的格式。 [后面命令行和参数的ASCII字符串的长度]#[命令行[参数]] 举个例子,要能过两个参数运行你的MyApp.exe程序,一个MyApp.lnk文件内可包含这个语句: 40#\Windows\MyApp.exe parameter1 parameter2 6、从File菜单中选择Save As 7、把这个文件保存在BSP的OAK部分以便于编译进操作系统image中。使用Save As对话框导航到%_WINCEROOT%\public\<Platform Name>\<Windows CE Version>\<BSP Name>\OAK\Files并且选择Save 你已经创建了快捷方式文件,你现在可以通过编辑Project.bib把它加入到OS中,或者添加到你的平台组件树中。如果是前者,只需打开Project.bib文件并且在FILES段中加入如下一行代码: MyApp.LNK $(_FLATRELEASEDIR)\MyApp.LNK NK S 在这个例子中,MyApp.LNK被放入NK的内存块中,可选的参数S把它定义成系统文件属性。编辑本段与Linux的区别
本段将会从商业模式,学习和开发难度,对硬件的支持,稳定性,对工程师未来发展的帮助,对研发中心未来发展的帮助来探讨。嵌入式Linux OS与Windows CE相比的优点
第一:Linux是开放源代码,遍布全球的众多Linux爱好者都是Linux开发者的强大技术支持者;Windows CE目前6.0内核全部开放,GUI不开放。第二:Linux的内核小、效率高;Windows CE相比,占用过多的RAM。第三Linux是开放源代码的OS,在价格上极具竞争力,适合中国国情。Windows CE需要版权费用。第四Linux不仅支持x86芯片,还是一个跨平台的系统。更换CPU时就不会遇到更换平台的困扰。第五,Linux内核的结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持,目前WINCE的网络功能也比较强大。嵌入式Linux OS与Windows CE相比的弱点
第一:LINUX开发难度较高,需要很高的技术实力,WINCE开发相对较容易,开发周期短,内核完善,主要是应用层开发。第二:LINUX核心调试工具不全,调试不太方便,尚没有很好的用户图形界面,WINCE的GUI丰富,开发工具强大;第三,系统维护难度大。Linux在使用较完整的GUI时一般会占用较大的内存,如果去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题。编辑本段应用和商业模式
应用
手机,指纹识别系统,汽车电子检测设备,智能家电,医疗仪器(例如:监护仪,心电检测仪等等),工业控制仪器(例如:人机界面显示的高精准电机控制,工业采集控制通信等),定位导行设备(例如:车载GPS导航仪)。商业模式
: Windows Embedded CE 6.0使用了基于数量的特许许可证模式,设备制造商可以在设备开始供货时再购买运行许可证。微软将提供知识产权保护(根据许可协议条款)和为期10年的产品支持生命周期,确保产品的完整性,并保证厂商得到必要的支持和保护以获得成功。本文来自博客园,作者:{Julius},转载请注明原文链接:https://www.cnblogs.com/bestechshare/p/16447930.html
可微信加我,了解更多,WeChat:{KingisOK}