Windows CE具有一个很小的核心NK,基本上只包含了排程、内存管理和kernel API,它们构成了一个完整个体,其余大部分功能都在单独的模块中完成。
系统的配置可以在Platform Builder中完成。通过修改配置文件可以裁剪优化Windows CE。
配置文件包括4种文件类型:
二进制映像生成文件.BIB:
文本文件,标识包含在Windows CE映像中的目标模块、组件和文件。一个.BIB文件包含4个部分:FILES、MODULES、MEMORY和CONFIG。
注册表文件.REG:
注册表文件建立操作系统映像的注册表入口。目标平台冷启动时,Makeimg.exe使用.REG文件创建默认注册表。Platform.REG配置与平台有关的注册表信息,如设备驱动程序入口。Project.REG设置与工程有关的注册表格。
目录和文件分配表文件.DAT:
.DAT文件定义Windows CE映像NK.NIB默认的目录和文件结构。
数据库文件.DB:
CE提供内置的轻量级数据库管理系统。其属性数据库由1张包含记录的表组成,每个记录包含许多不同的属性,每个属性有3种信息:标志属性的ID号、类型和值。
http://img.iwomm.cn/ce.jpg
所有.DAT文件合并在修改配置文件时,一定要注意CE.BIB、REGINIT.INI、INITOBJ.DAT、INITDB.INI是是间文件,修改这些文件不能配置Windows CE。
可配置性的秘密隐藏在建构操作系统映像文件的过程当中。这个映像文件包括了操作系统的kernel,内存中的档案系统,储存的程序和文件,系统配置文件,注册表数据库等等。
整个建构过程可以分成4个阶段:CESYSGEN、BSP、BUILDREL、MAKEIMG。
(1) CESYSGEN
根据项目配置产生基本的系统配置文件,通过cebuild.bat和sysgen.bat来进行控制。
; @CESYSGEN ENDIF FILESYS_FSREGHIVE
//输出档(对应的片断)
//当系统定义了名为FILESYS_FSREGHIVE的环境变量时,结果为
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\system.hv"
"PROFILEDIR"="Documents and Settings"
"Start DevMgr"=dword:0
; END HIVE BOOT SECTION
(2) BSP
Windows CE工具系统将编译连结被包括在特征中的任何BSP驱动程序以及OAL程序代码。它会使用两类档案来确定需要哪些原始程序代码或者链接库档案:系统配置和MAKEFILE文件。
(3) BUILDREL
将那些已经编译好的东西以及系统所需的各种档案复制到一个特定的目录下。也就是建构一个操作系统映像文件的基本内容。
(4) MAKEIMG
建构映像文件。
首先,将前面产生的配置文件按类别组合成一个主配置文件。
其次,重新配置所有可执行文件的资源以适应当前的语言配置。
然后,对映像档的内容进行布局,将ROM中的程序对应到档案系统的\Windows目录下。
最后,产生操作系统映像文件nk.bin。