CONFIGURATION FILES(配置文件)
---翻译至Windows CE fundamental
Binary Image Builder(.bib):
.bib文件描述了内存结构(Rom/Ram)和需要包含在image的文件详细清单;也包含了一些额外的内存相关的配置参数。Romimage.exe工具使用CE.bib来生成完整的image,CE.bib文件包含以下的.bib文件:
1. BSP files(Config.bib, Platform.bin).
2. Files of selected Windows CE components(Common.bib, and so on).
3. OS design files(Project.bib and subproject.bib files)
这些.bib文件都是文本文件,他们的内容分为MEMORY,CONFIG,MODULES,and FILES 段.
1.MEMORY Section:
Memory 段通常位于Config.bib文件,该文件配置了应用程序和系统内核的虚拟内存。每一个Memory段的入口都描述一个内存段的段名,初始内存地址,大小和类型。这个区域按行书写并且使用空格和TAB键开。除了保留的段外,段名必须是唯一的。保留的段可以被多次使用。这些保留段保留了还未被系统内核使用的内存段。
内存的类型表明了每一个内存段都必须以以下的方式使用:
2.CONFIG Section:
Config 段通常位于Config.bib文件并且是可选的。该段包含了配置系统内核的附加参数。下面的列出的是一些可以使用的参数:
1. AUTOSIZE (ON|OFF) :你可以通过该参数来自动的分配内核使用的空间。默认情况下,Romimage.exe关闭了AUTOSIZE。
2. COMPRESS(ON|OFF): 该参数可以配置加载进内存的压缩文件而不是XIP。这个压缩组件必须存在于内核中支持文件压缩功能。默认情况下,Romimage.exe打开了COMPRESS。
3. ROMSTART: 这是ROM虚拟内存的起始地址。
4. ROMSIZE: 这是ROM内存的大小(bytes)。
5. ROMWIDTE:ROM的数据位宽
如果以上三个参数被设置了,Romimage.exe 生成一个完全的2进制数据格式的镜像(.nb0 or .abx)。
6.SRE(ON|OFF): 用于创建以Motorola –S 格式的内核镜像。该选项默认取消。
3.MODULES Section:
该段包括了一系列的未加载到内存的执行的系统镜像模块,并且不能包含超过2000的模块。该段可以包含除了用Managed code写的应用程序外的所有可执行的模块和库文件,因为前者需要加载到内存中之。该段的入口包含该段的名字,路径,区域和属性。这个区域按行书写并且使用空格和TAB键开。
名字域表明了在内核中的文件名,并且它可以喝初始名字不相同;paths没有使用。在文件系统中的一个模块的完整的路径存储在用户的机器中。Region段表明了模块加载在内存段
中的RAMIMAGE 哪个区域。
一个MODULES段入口的例子:
INIT.EXE $(_FLATRELEASEDIR)/INIT.EXE NK SH
MYDLL.DLL $(_FLATRELEASEDIR)/MYDLL.DLL NK SHC
4.FILES Section:
该段的文件加载进应用程序可以访问的设备内存区域。作为一个惯例,这些文件包含程序数据和Managed code application files。该段的文件默认是被压缩的。在加载进入内存之前,文件必须被解压。该段入口和Modeules段格式相同。
Object Store Initialization Files(.Dat):
.dat文件用来初始化内存中的一个文件系统(RAM file system)。在MakeImg阶段,.data文件被合并进了InitObj.dat文件。 Filesys.dll用生成的InitObj.dat文件区创建在内存中的文件系统的一个目录结构。Dat文件的如果有如下格式:
Root:[-Directory ("<directory name>")] [-File("<final_file_name>", "<initial_file>")]
<directory_name> 是目录的名字,<final_file_name>是从/Windows directory 目录拷贝过来的最后一个文件的名字,<inital_file>是/Windows directory的第一个的文件的名字。
以下.dat文件的内容创建了一个程序文件目录和它的My Projects 子目录并且被MyProg.exe拷贝进 Program Files directory。
Root:-Directory("Program Files")
Directory("/Program Files"):-Directory("My Projects")
Directory("/Program Files"):-File("MyProg.exe", "/Windows/MyProg.exe")
Registry Initialization Files(.Reg):
注册表文件生成了操作系统的初始注册表值。Windows CE的注册表和Windows的注册表类似。在MAKEIMG 阶段,所有在编译文件夹(_FLATRELEASEDIR)的注册表文件被用以下顺序合并进RegInit.ini文件:
1. 操作系统组件的注册文件(Common.reg, IE.reg,Wceapps.reg, Wceshell.reg)。
2. 子工程的注册文件。
3. 自己创建的OS的Project.reg。主要是用来添加配置到当前设置中重新定义组件和子工程的注册表。
4. Platform.reg一般由BSP提供商设置,并且还包括了一些硬件的初始化注册表(BSP and device drivers)。
因此,Project.reg能重新定义OS组件的配置,而Platfor.reg能重新定义所有其他文件的配置。
Database Initialization Files(.db):
在MAKEIMG阶段,.db文件被合并进InitDB.ini文件中并且被用来初始化包含在镜像中的EDB数据库。入口格式在supplied.db文件中已经详细描述了。
(由于刚开始接触WIndows CE,纯属为了学习而去翻译该文档,必然有翻译错误的地方,有问题请大家直接指出,或者联系luocan1358@126.com)