Build System Overview (Compact 2013)
3/26/2014
This topic provides an overview of the build process and how the build system uses binary image builder (.bib) files to configure the ROM image.
In an OS, configuration files control which files and modules make up the final run-time image. These .bib files direct the build system to include modules and files in the run-time image; they also control how modules and files appear in the image (such as compressed or uncompressed) by the use of various option flags. For example, the platform.bib file configures the ROM parameters for the hardware platform.
For more detailed information about the build system, see Build an OS.
Build Phases
The build process consists of four main steps:
System generation (SYSGEN) — Builds operating system binaries.
Platform build — Builds platform binaries.
Build release directory — Creates and populates the release directory (%_FLATRELEASEDIR%) using the following steps:
Creates the release directory.
Copies all files required to build the ROM image from the source directories to the release directory.
Note
If the environment variable BUILDREL_USE_COPY is not set, the build system creates soft links instead of copying the files. This results in faster builds because file copy operations are time-consuming.
MakeImg (Make Image) — Builds the final binary image file using the following steps:
- Copies all configuration (.bib, .ini, .dat, and .reg) files to the release directory postproc folder.
- Calls the Make Binary Image Tool (Makeimg.exe), which, among other tasks, calls the fMerge Tool (fmerge.exe) to combine \postproc\*.bib into a single .bib file (ce.bib) and registry files into a single composite registry file (reginit.ini).
- Calls the Romimage Tool (romimage.exe), which uses configuration files from the flat release directory, including ce.bib, to combine the modules into a single image file (typically called nk.bin).
The final binary file (nk.bin) contains the run-time image that downloads to your device ROM from the development computer. The ROM image contains uncompressed files that execute in place (XIP), including system executable files, DLLs, and applications; it also includes miscellaneous support files such as fonts, waveform audio (.wav) files, and bitmap images.
Note
You can compress non-system executable files to save space in ROM.
The next topic (Ce.bib File and the ROM Image) discusses the .bib file structure and entry options that specify ROM layout.