【IT168 专稿】嵌入式系统正在日益广泛的应用于各个方面,嵌入式系统的最大特点在于其精简和实时性。公司近期委派我负责一个新的嵌入式系统项目,因为是小型设备,所以我面临的第一个难题是需要找一个体积少,但非常灵活添加外围接口的嵌入式系统。
最初提出了两种方案,第一种是在完整的系统上进行裁剪,第二种是在磁盘上直接安装内核、启动脚本等文件来实现最小系统。经过再三思考,在众多的嵌入式操作系统中,我选择了Windows CE作为操作系统平台,通过对Windows CE进行裁剪以定制一个适合需求的嵌入式系统。
一.什么是Windows CE裁剪与定制?
(1)嵌入式系统发展的瓶颈
嵌入式系统一般包括硬件和软件两部分。硬件平台包括CPU、存储器、I/O端口等。软件部分包括支持实时和多任务操作的嵌入式操作系统和应用程序,应用程序控制着系统的运作和行为,而操作系统控制着应用程序与硬件的交互作用。
随着价格低廉、结构小巧的CPU和连接稳定可靠的外设硬件大量使用,限制嵌入式系统发展的瓶颈就突出表现在软件方面。对上层应用开发者而言,嵌入式系统需要的是一套高度简练、界面友善、质量可靠、易开发、多任务,并且价格低廉的操作系统。因此,一旦嵌入式处理器和外围硬件选定了,那么工作最多的就集中在嵌入式软件的选择和研发。而嵌入式软件的嵌入式操作系统和应用软件就成了重中之中。嵌入式操作系统是与应用环境密切相关的,从应用范围大致可以分为通用型和专用型两种嵌入式操作系统。
(2)什么是WINDOWS CE .NET定制系统?
从原理上说,嵌入式操作系统仍旧是一种操作系统,因此它同样具有操作系统在进程管理、存储管理、设备管理、处理器管理和输入输出管理几方面的基本功能。由于硬件平台和应用环境与一般桌面操作系统的不同,它最大的特点是可裁剪和可定制,也就是它能够提供可配置或可剪裁的内核功能和其它功能,可以根据应用的需要有选择的提供或不提供某些功能以减少系统开销。
嵌入式操作系统和嵌入式操作系统定制或配置工具紧密联系,构成了嵌入式操作系统的集成开发环境。就WINDOWS CE来说,我们无法买到WINDOWS CE这个操作系统,买到的是Platform Builder for CE.NET的集成开发环境,简称为PB,利用它可以剪裁和定制出一个符合需要的WINDOWS CE.NET操作系统。所以,WINDOWS CE .NET操作系统一般需要经过裁剪与定制开发,包括高级创建、系统调试、创建板支持包、驱动程序开发等内容。因此,我们说的WINDOWS CE系统实际上完全是由自己定制出来的,这就是嵌入式操作系统最大的特点。
对于嵌入式的应用软件,通常是指运行在嵌入式操作系统之上的软件。这种软件由于不是针对常规的操作系统进行开发,因此很多如VB、VC++等开发工具就不方便使用了,于是就有专门的SDK或集成开发环境来提供这种开发需要。对Windows CE的应用软件开发,微软提供Embedded Visual Basic(EVB)、Embedded Visual C++( EVC)、Visual Studio.NET等专门针对嵌入式操作系统的开发工具。
(3)Windows CE定制平台Platform Builder
一个嵌入式系统包括四层结构,他们是应用程序、嵌入式操作系统映像(OS Image)、板级支持包(BSP)、硬件平台组成。Windows CE的定制过程也可以说是针对不同的CPU、不同的目标板编写BSP的过程。在硬件平台上,Windows CE支持多种处理器家庭,包括x86、Xscale、ARM、MIPS和SH等系列,它允许开发人员选择最理想的硬件。在操作系统映像(OS Image)方面,Windows CE.NET 是由 Platform Builder来定制的,Platform Builder提供多种配置文件和调试工具,可以将嵌入式操作系统和应用程序一起生成内核,也可以只生成Windows CE.NET操作系统,并可根据功能要求裁剪相关模块。
Windows CE具有一个很小的核心内核包,基本上只包含排程、内存管理和kernel API,它们构成了一个完整个体,其余大部分功能都在单独的模块中完成。系统的裁剪和配置是在Platform Builder中完成,配置文件包括4种文件类型:二进制映像生成文件.BIB、注册表文件.REG、目录和文件配表文件.DAT、数据库文件.DB。通过修改这些配置文件可以裁剪优化Windows CE。灵活运用Platform Builder的配置文件.REG、.BIB、.DAT、.DB是定制适合目标平台Windows CE操作系统的关键。
另外,所有.DAT文件合并在修改配置文件时,一定要注意CE.BIB、REGINIT.INI、INITOBJ.DAT、INITDB.INI是中间文件,修改这些文件并不能配置Windows CE。而可配置的秘密是隐藏在建构操作系统映像文件的过程当中,这个映像文件包括操作系统的kernel,内存中的档案系统,储存的程序和文件,系统配置文件,注册表数据库等。整个建构过程可以分成四个阶段:CESYSGEN、BSP、BUILDREL、MAKEIMG。