Detailed description of the wince configuration file (1)-bib File

Source: Internet
Author: User
1. Introduction to the bib file of Wince BSP
An important file used in wince is the bib file, which is short for binary image builder file. Bib files will be used in the compilation process of wince, which should be in the final makeimg stage. All bib files are merged into the ce.bibfile. Then, romimage.exe determines which files are finally included in the wince Image Based on the description in the bib file. Of course, the bib file also determines the memory allocation of the wince device, which defines the memory occupied by the wince image and the memory occupied by the framebuffer.
The bib file contains four major items: memory, config, modules, and files.
The following is an explanation:
Memory: defines the settings for memory allocation, which are generally in the config. bib file in BSP.
Config: The last makeimgstage provides some configuration attributes for romimage.exe to generate the wince image. This option is optional and is generally defined in the config. bib file in BSP.
Modules: defines some modules or files that will be packaged into the wince image, such as DLL and exe. These files will be marked by romimage.exe as loaded to Ram or xip. You can add your own wince application or module here, but do not add managed binaries, which is generally a. Net program.
Files: defines other files used by the operating system, such as font files and images. These files will also be loaded to ram during running of wince.
The above four items are described in detail below:
1. Memory item
Generally, it is defined in the config. bib file. Memory is entered at the beginning. Ram reserved for winceimage and other modules is defined here, And Ram available for wince is also defined. The specific format is as follows:
Memory name start address memory size type
Name: name of the memory region, which must be unique.
Start address: the starting address of the memory area, expressed in hexadecimal format.
Memory size: the size of the memory area, expressed in hexadecimal format.
Type: Type of the memory area. Various types of inclusion are as follows.
Type value description
Fixup VaR is used to initialize global variables in a kernel during the makeimg phase compiled by wince.
When a binfs image is created, the wince Kernel on the NAND device is redirected to the Zone in Ram. When the system accesses the zone, binfs will access the corresponding locations on the NAND device and return data to the system. In fact, xip is implemented on the NAND device.
Ram defines the ram region used by the wince system. The memory must be continuous. Here, note that from the hardware point of view, the memory cannot span two pieces of SDRAM, that is to say, the whole area space must be on a piece of hardware SDRAM.
Rami mage defines a memory area for loading wince image. In fact, after wince is started, the image will be copied to this memory area for running. An image can only have one consecutive ramimage area.
The memory area of rese rved will be reserved. It is generally used for frambuffer, DMA buffer, or shared memory for eboot to pass parameters to the wince system.
Exte nsion defines an area in wince image as the data area of romhdr extension.
2. config item
Generally, some additional configuration parameters are defined in the config. bib file, some of which are also important for wince image. The specific format is as follows;
Config
Item = parameter

Item Description
Auto size allows ram of unused wince images to be used as the ram of the wince system. The default value is on.
Comp ressi on allows romimage.exe to compress the writable part of the wince image. The default value is on.
Boot jump defines the address of the jump page in the ramimage space. Instead of the default ramimage first address. The default value is none.
FSRA mperc ent defines the percentage of memory used by the file system. The default value is 0x80808080. Byte 0: in the first 2 MB, each 1 MB contains a multiple of 4 kb. Byte 1: In the second 2 MB, each 1 MB contains a multiple of 4 kb. Byte 2: In the third 2 MB, each 1 MB contains a multiple of 4 kb. Byte 3: In the remaining memory, each 1 MB contains a multiple of 4 kb.
Kern elfix ups defines whether romimage.exe can redirect the writable area of the kernel. The default value is on. The writable area of the kernel is redirected to the starting position of ramimage.
Output defines the path for storing the final generated image. The default value is % _ flatreleasedir %.
Profile defines whether to include the structure and symbol of profiler in wince image. The default value is off.
Resetvector re-specifies the position of the page to jump to. This is generally applicable to the issue where the MIPs Chip starts to boot from 0x9fc00000.
Romflags kernel flag bit, which can be combined: 0x01 indicates disabling On-Demand paging. 0x02 indicates that full kernel mode is disabled, and full kernel mode indicates that all threads run in kernel mode. 0x10 indicates that only modules in ROM modules are trusted. 0x20 indicates to stop refreshing TLB. 0x40 indicates loading the DLL according to the address in the/base link option.
Romstart refers to the starting address of the wince image in the memory.
Romsize indicates the size of the wince image.
Romwidth refers to the width of the Data Bus.
Romoffset specifies an offset to modify the address of each record in the. binfile. It is generally used when the. binfile In the Rom is loaded to ram for running. It mainly indicates that the location of the stored. Bin is different from that of the running. Bin.
Sre uses romimage.exe to generate a. SRE file. The default value is off.
X86boot defines whether to insert a jump command when the x86 Reset vector address is used.
3. modules and files
This item lists all modules and files included in the wince image, and
Is loaded into the memory. The specific format is as follows:
Modules name path memory type
Name: the name of the module, such as the file name of a DLL or EXE file.
Path: path, which is generally the release directory of the wince project.
Memory: Specifies the region in which the module is stored. Generally, all modules are in the NK region.
Type: defines the file type. The details are as follows:
Type description
S system file.
H. Hide the file.
R only compresses the resource portion of the module.
All parts of the C compression module.
D. Disable debugging.
N modules are untrusted.
P romimage.exe does not need to check the CPU type.
K branch romimage.exe must fix the kernel address of this module. Modules with this tag can only be loaded by the loadkernellibrary function.
X romimage.exe signs the module.
Load the entire module during m running, and do not pagination as needed.
L romimage.exe do not separate Rom DLL.
Generally, the type of the files item only supports the S, H, N, and D types, while the type of the modules item is supported.
For example:
Init. EXE % _ winceroot % releaseinit. exe nk sh
Mydll. dll % _ winceroot % releasemydll. dll NK SHC
Bib files also support "Conditional compilation". We can selectively package some modules into wince image by setting environment variables. Generally, in BSP, if is used to judge the environment variables of some driver modules. For the wince system module, it is generally a sysgen variable and should be determined by @ cesysgen if.
The most common features in BSP development are eboot. bib, config. bib, platform. bib, and project. bib. The following is a brief introduction:
Project. bib: this file is mainly used to create some files required by the wince project.
Platform. bib: This file contains files related to the hardware platform, mainly drivers.
Config. bib: This file describes the memory configuration of the wince system.
Eboot. bib: This file describes the memory configuration of the eboot of wince.
Some other bib files will be copied to the project's release directory after the wince system is compiled. For example, common. bib, ie. bib. These files list the files related to the wince components. The customized system will be selectively packaged into the wince image.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.