MAKEIMG应用配置文件来创建OS运行时的映象,常用配置文件包括.BIB文件、.REG文件、.DAT文件和.DB文件。
BIB文件(Binary image builder)
-用于定义操作系统运行时映像中都包含哪些模块和文件。
-MAKEIMG使用BIB文件决定如何将这些模块和文件加载到目标设备的存储器中。
BIB文件包含4个Section:Module、File、Memory、Config。
Module
:定义要被加载到存储器里的对象模块,这些文件是XIP且未被压缩的.EXE或者.DLL文件。其格式如下:
;Name
Path Memory Type
-------------------------------------------------------------------------------------------------------
Taskman.exe
$(_FLATRELEASEDIR)/Taskman.exe NK SH
其中,TYPE有以下选项:
S:系统文件
H:隐藏文件
R:压缩文件
C:压缩全部
D:运行时不允许调试
N:将模块标记成不可信任
P:在每一模块上忽略CPU类型
K:通知ROMIMAGE必须修正DLL以便正确运行
FILE
:定义放在OS运行时映像中的LIB文件以及其他静态文件,Romimage. Exe将默认压缩FILE区域所有文件。其格式如下:
;Name
Path Memory Type
-------------------------------------------------------------------------------------------------------
Tahoma.ttf
$(_FLATRELEASEDIR)/ Tahoma.ttf NK SHU
其中,TYPE有以下选项:
S:系统文件
H:隐藏文件
U:未压缩文件
D:运行时不允许调试
N:将模块标记成不可信任
MEMORY
:定义可用的物理内存,包括定义内存的起始地址、大小和类型。MEMORY区域只在Config.bib中定义。其格式如下:
;Name
StartAddress Size Type
------------------------------------------------------------------------------------------------------
NK
80220000 009E0000 RAMIMAGE
RAM
80C00000 03000000 RAM
其中,TYPE可以有如下选项:
RAM:虚拟地址,必须连续。
RAMIMAGE
:这块区域当作ROM来对待。由RAMIMAGE入口定义的内存地址物理上对应于RAM或线性Flash存储器。这种存储类型一般用于在开发过程中将ROM映像加载到RAM或将运行时映像烧录到一个单一的ROM。ROMIMAGE为每个RAMIMAGE入口产生一个.bin文件。在Config.bib文件中,只有一个RAMIMAGE入口。
RESERVED:定义保留的ROM或RAM区域。在运行时映像创建过程中,ROMIMAGE将跳过这些保留区域。这些保留区域可能是一个视频缓冲区或者DMA缓冲区。
FIXUPVAR:定义在MAKEIMG过程中要初始化的全局内核变量、内核模块变量的值。
NANDIMAGE
:当创建一个使用BinFS的运行时映像时,定义不应分配给RAM的地址空间。这将使一个可执行文件可以在NAND设备上执行,为系统释放更多的RAM。
CONFIG
:该区域为可选项。为了产生一个.abx( Absolute binary data format )入口或者.sre( Motorola S-record data format )入口的二进制ROM文件,必须定义CONFIG。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcepb40/html/_wcepb_config_section.asp
DAT文件
用于当系统冷启动时定义文件系统应该如何初始化RAM文件系统结构。