Windows CE概述
Windows CE是Microsoft为PDA Set-Top-Box等用户化嵌入式系统开发的32位多任务多线程操作系统平台它具有Windows 的GUI 可ROM化整合电源管理标准的通讯协议以及Windows CE可与其它Windows 应用软件共享信息为开发者带来极大的益处。
Windows CE 是为各种嵌入式系统和产品设计的一种压缩的、具有高效的、可升级的操作系统(OS)。其多线性、多任务、全优先的操作系统环境是专门针对资源有限而设计的。这种模块化设计使嵌入式系统开发者和应用开发者能够定做各种产品,例如家用电器,专门的工业控制器和嵌入式通信设备。Windows CE支持各种硬件外围设备、其它设备及网络系统。包括键盘、鼠标设备、触板、串行端口、以太网连接器、调制解调器、通用串行总线(USB)设备、音频设备、并行端口、打印设备及存储设备,例如PC卡。
从6.0版本开始,Windows CE的名字改为Windows Embedded CE,当然这也是为了结合Windows Embedded品牌作出的改变。CE经过了十年的风风雨雨之后,终于在CE 6.0这个版本上再次浴火重生了。CE 6.0经历了CE历史上第二次内核重写,使CE操作系统更加符合当今嵌入式开发的方向。
CE 6.0在内核方面的改变主要是为了适应嵌入式设备硬件发展的要求,在进程数量方面,从过去多运行32个进程,改变为多运行3万2千个进程,内存方面从每个进程多拥有32M虚拟内存空间改为多拥有2G虚拟内存空间。在OS布局方面,将关键的驱动程序、文件系统和图形界面管理器(GWES)移到了内核中,这样可以更好解决因为CPU在内核态和用户态间切换而造成的性能损失。
CE针对开发者的另一个转变开始自CE 5.0,将开发环境Platform Builder整合到Visual Studio中,这种做法无疑减轻了微软维护两套IDE的负担,从另外一个方面来看,CE的开发者也可以享受到更好的开发体验了。
嵌入式开发流程
嵌入式开发主要分为三个比较大的部分:
1 驱动程序开发
这部分开发是从硬件设计开始的,硬件工程师会设计PCB板,为我们提供标准开发板(SDB,standard development board)。当我们拿到开发板之后的件事情就是编写boot-loader,让开发板启动起来,一般是通过JTGA将boot-loader烧录到开发板中的。我们可以将boot-loader看作PC中的BIOS,负责硬件设备的初始化工作,并且将操作系统运行起来。在此之后,我们需要根据开发板上的硬件开发各种驱动程序,比如串口、USB、鼠标、视频输入等。将这些驱动程序和boot-loader打包,称为一个板级支持包(BSP)。BSP是和开发板的具体硬件紧密相关的。
所以从事这方面开发的工程师往往具有比较强的硬件知识水平。
2 平台定制
我们可以将Windows CE想象为一盒积木,根据不同的应用场景和设备要求,我们要对这盒积木进行定制,堆积出不同形状的城堡、动物和生活用品。这个过程称为“平台定制”,定制产生的平台往往和具体的硬件设备相关,直接将平台到硬件设备上就可以运行了。整个开发过程,需要选择不同的组件来搭配出适合当前硬件的软件平台。所以要对Windows CE的组件,也就是Catalog Item,有相当程度的了解。
3 应用程序开发
嵌入式设备上的应用程序开发与传统应用程序开发类似,只是要借助于硬件模拟器或者实际设备对程序进行调试。常见的嵌入式设备应用程序开发,就是Windows Mobile的移动应用开发。平台定制工程师会在硬件出厂之前先提供平台相关的SDK,SDK中会包括模拟器。应用开发者可以首先使用模拟器对程序进行开发和调试。等实际硬件出来之后,再将程序转移到实际硬件中。因为Windows CE采用了很多措施,这种“转移”几乎是无缝的,所以我们并没有使用“移植”这个词。
嵌入式领域的应用开发其实是普通软件工程师就可以进行的。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。