An important file used in wince is the bib file, the full name binary Image Builder file. Bib files are used in the wince compilation process and should be in the final makeimg phase. All bib files are merged into ce.bib files, and Romimage.exe determines which files are eventually included in wince image according to the description in the bib file. Of course, the bib file also determines the allocation of wince device memory, which defines which memory wince image occupies, and which memory the framebuffer occupies.
The bib file is divided into 4 major items: Memory, config, modules, and files. Here's a separate explanation:
MEMORY: Defines the relevant settings for memory allocation, generally in the Config.bib file in the BSP.
Config: In the final makeimg phase, provide Romimage.exe with some configuration properties to generate wince image. The item is optional and is generally defined in the Config.bib file in the BSP.
MODULES: Defines a number of modules or files that will be packaged into wince image, such as Dll,exe. These files are marked by Romimage.exe as loaded into RAM or XIP. We can add our own WinCE application or module here, but do not add managed Binaries, generally refer to. NET program.
Files: Defines some other documents that the operating system will use, such as font files, pictures, and so on. These files are also loaded into RAM while the wince is running.
The 4 major items above are described in detail below:
1.MEMORY Item
Generally defined in the Config.bib file, the beginning will have the words memory. This defines the amount of RAM reserved for wince image and other modules, and also defines the RAM that wince can use. The specific format is as follows:
MEMORY NAME Start address MEMORY Size Type
Name: This memory area must be unique.
Start Address: The start of the memory area, expressed in hexadecimal.
Memory Size: The size of the memory area, expressed in hexadecimal.
Type: The types of memory regions. The various types of inclusions are as follows.
Type value |
Describe |
Fixupvar |
Used to initialize a global variable in a kernel at the makeimg stage of WinCE compilation. |
Nandimage |
When an image with Binfs is created, the WinCE kernel on the NAND device is redirected to the area in RAM, and when the system accesses the area, BINFS is responsible for accessing the corresponding location on the NAND device and returning the data to the system. In fact, the XIP function is realized on the NAND device. |
Ram |
Defines the Ram area used by the wince system, this memory must be continuous, here is a point to note that from the hardware point of view, this block of memory can not span two SDRAM, that is, the entire region space must be in a piece of hardware SDRAM. |
Ramimage |
A memory area is defined to load wince image, which is actually copied to the memory area after wince is started. An image can have only one contiguous ramimage region. |
RESERVED |
This area of memory is reserved for Frambuffer or DMA Buffer, or a shared memory for Eboot pass parameters to the wince system. |
EXTENSION |
Defines a region in wince image as the data region for ROMHDR extension. |
2. Config item
Generally defined in the Config.bib file, some additional configuration parameters are defined, some of which are important for wince image. The specific format is as follows;
CONFIG
Item=parameter
ITEM |
Describe |
AUTOSIZE |
Allows unused wince image ram to be used as a wince system RAM. The default value is on. |
COMPRESSION |
Allows Romimage.exe to compress the writable part of WinCE image. The default value is on. |
Bootjump |
Defines the address of a jump jump page in ramimage space. Instead of the Ramimage's first address by default. The default value is None. |
Fsrampercent |
Defines the percentage of memory used by the file system. The default value is 0x80808080. Byte 0: The number of 4KB multiples per 1MB contained in the first 2MB. Byte 1: The number of 4KB multiples per 1MB contained in the second 2MB. Byte 2: The number of 4KB multiples per 1MB contained in the third 2MB. Byte 3: The remainder of the memory, the multiple of 4KB contained in each 1MB. |
Kernelfixups |
Defines whether Romimage.exe redirects the writable region of the kernel. The default value is on, and the writable region of the kernel is redirected to the starting position of the ramimage. |
OUTPUT |
Defines the path that the final generated image holds. Default is%_flatreleasedir%. |
Profile |
Defines whether to include profiler structures and symbols in wince image. The default value is off. |
Resetvector |
Re-specify the position of the jump page, generally for the MIPS chip starting from the 0x9fc00000 problem. |
Romflags |
Kernel tag bits, which can be combined: 0x01 indicates that paging is disabled on demand. 0X02 indicates that full kernel mode is disabled, and full kernel mode indicates that all threads are running in kernel mode. 0X10 represents trusting only the modules in the ROM modules. 0x20 indicates that the TLB is stopped refreshing. 0X40 indicates that the DLL is loaded according to the address in the/base link option. |
Romstart |
Refers to the starting address of wince image in memory. |
Romsize |
Refers to the size of the wince image. |
Romwidth |
Refers to the width of the data bus. |
Romoffset |
Specify an offset to modify the address of each record in the. bin file. Generally used in ROM, the. bin file is loaded into RAM to run, mainly to represent storage. bin location and run. Bin location is not the same. |
SRE |
Causes Romimage.exe to produce a. sre file. The default value is off. |
X86boot |
Defines whether to insert a jump instruction when x86 a reset vector address. |