REG文件:
WINCE的REG文件用来向生成的运行时映像的注册表中添加默认的键值。在REG中写入的注册表值,会被默认的放到运行时映像的初始注册表中,这对于给操作系统添加一些默认配置非常有用。
下面是一个典型REG文件示例:
———————————————————————————————————————
[HKEY_LOCAL_MACHINE/SOFTWARE/Tongji/MyApp] (注册表键)
“Version”=dword:0500
“Build”=dword:0b3f
“Greeting”=”Hello!”
“Messages”=multi_sz:”Windows CE is Cool!”,”Myapp is also cool”
“AppData”=hex:01,00,02,00,03,00
———————————————————————————————————————
这段注册表文件含义如下:
注册表值的名称 |
数据类型 |
数据 |
Version |
REG_DWORD |
0x0500。DWORD值总被当做十六进制数,因此没有使用“0x”前缀。 |
Build |
REG_DWORD |
0x0b3f |
Greeting |
REG_SZ |
“Hello!” |
Messages |
REG_MULTI_SZ |
“Windows CE is Cool!/0Myapp is also cool/0/0” |
AppData |
REG_BINARY |
01,00,02,00,03,00同样总是假设采用十六进制 |
DAT文件:
DAT文件用来指定当系统冷启动时,FileSys.exe应当如何初始化RAM文件系统结构。可通过DAT文件在Windows CE文件系统的根目录上挂接其他文件夹,也可使用DAT文件把已经存在的文件复制到指定的目录中。
示例:
———————————————————————————————————————
root: - Directory(“My Documents”)
root: - Directory(“Program Files”)
Directory(“/Program Files”): - Driectory(“My Projects”)
Directory(“/Program Files”): - Directory(“Accessories”)
Directory(“/Program Files”): - Directory(“Communication”)
Directory(“/Program Files/My Projects”): - File(“My Project Program”,”/Windows/Myproj.exe”)
root: - File(“/control.lnk”,”/Windows/control.lnk”)
———————————————————————————————————————
此例中,首先用root命令在WINCE文件系统根目录中建立两个新文件夹:“My Documents”“Program Files”;然后,又使用Directory命令在Program Files文件夹中建立3个子目录:“My Projects”“Accessories”“Communication”;最后两句分别把/Windows/Myproj.exe复制到了My Projects目录中,并重命名为My Project Program,把/Windows/control.lnk复制到了根目录下,命名为control.lnk。
DB文件:
DB文件用于为对象存储区定义默认的基于RAM的数据库。WINCE构建系统,除了为ActiveSync设置自动连接外,很少使用默认数据库。
———————————————————————————————————————
Database: "DB_notify_events" : 0 : 1 : 0001001F : 0
Record :
Field : 0001001f : "repllog.exe"
Field : 0002001f : " AppRunAtRs232Detect"
Field : 00030013 : 9
End
End Database
———————————————————————————————————————
此DB文件建立了一个名为“DB_notify_events”的数据库,并且建立了3个Field。这样一旦检测到RS232事件,就可运行repllog.exe程序。因此ActiveSync在串口上也可实现“热插拔”操作。
BIB文件:
Binary Image Builder。作用:指示构建系统如何构建二进制映像。BIB文件会指示哪些文件被打包到运行时映像中,同时还会指示如何往目标板上加载模块和文件。
BIB文件共分为:MEMORY , CONFIG , MODULES , FILES 。
节 |
描述 |
MEMORY |
定义可用物理内存,包括起始地址,大小,内存类型。此节必须被放在config.bib文件中,放在Platform/MyBSP/Files目录中 |
CONFIG |
定义了一些附加选项来定制输出。默认情况下,此节也要被放在config.bib文件中 |
FILES |
指定放在运行时映像中的文件列表 |
MODULES |
指定放在运行时映像中的模块列表,包括EXE和DLL文件,与FILES的区别是放在MODULES中的文件通常是代码文件,并且构建系统不会压缩这些文件,因此代码可实现本地执行XIP |
MEMORY节的格式非常简单,如下:
Name[空格] Address[空格] Size[空格] Type
———————————————————————————————————————
MEMORY
NK 8C200000 01C00000 RAMIMAGE
RAM 8DE00000 02200000 RAM
; Common RAM areas
AUD_DMA 8c002000 00002000 RESERVED
DRV_GLB 8c010000 00010000 RESERVED
SD_DMA 8c028000 00008000 RESERVED
EDBG 8c030000 00020000 RESERVED
DISPLAY 8c160000 000a0000 RESERVED
———————————————————————————————————————
此段代码取自config.bib。表示从地址0x8C200000开始的1C00000大小的空间用来存放运行时映像;从0x8DE00000地址开始的2200000大小的内存是RAM区。还保留了几块内存,是一些音频,SD卡等DMA区域。
内存类型(Type):
FIXUPVAR:用此选项可改变内存模块中的全局变量的值。
NANDIMAGE:如果开发板上有NANDFLASH,那么可把此段内存标为NANDIMAGE类型。如果BootLoader支持BinFS,那么就可使放在NAND中的bin文件支持本地执行XIP(默认情况下只有NOR的Flash才可支持本地执行XIP)。此段内存必须页对齐。
RAM:指定此段内存是RAM。用来执行程序,存放RAM文件系统。此区域必须连续,同时必须页对齐。
RAMIMAGE:运行时映像放在此段内存上。物理上,此段内存可为RAM也可为NOR Flash,但通常为NOR Flash。标为RAMIMAGE内存的名称必须与bib文件中的运行时名称相同,一般为NK。
RESERVED:声明此段内存为保留区,WINCE不会使用此段内存。通常此关键字保留DMA缓冲。
CONFIG节是一些附加的选项,用来告诉系统如何生成运行时映像。
AUTOSIZE 如果运行时映像在RAM中,此选项允许自动把运行时映像没有使用的RAM分配给WINCE操作系统,当做物理RAM使用,而无须更改.bib文件。