Книга: Microsoft Windows Embedded CE 6.0 Exam Preparation Kit

Binary Image Builder Configuration

Binary Image Builder Configuration

As explained in Chapter 2, "Building and Deploying a Run-Time Image," the Windows Embedded CE build process relies on binary image builder (.bib) files to generate the content of the run-time image and to define the final memory layout of the device. Among other things, you can specify a combination of flags for a driver's module definition. Issues can arise if .bib file settings and registry entries do not match for a device driver. For example, if you specify the K flag for a device driver module in a .bib file and also set the DEVFLAGS_LOAD_AS_USERPROC flag in the driver's registry subkey to load the driver into the user-mode driver host process, the driver fails to load because the K flag instructs Romimage.exe to load the module in kernel space above the memory address 0x80000000. To load a driver in user mode, be sure to load the module into user space below 0x80000000, such as into the NK memory region defined in the Config.bib file for the BSP.The following .bib file entry demonstrates how to load a user-mode driver into the NK memory region:

driver.dll $(_FLATRELEASEDIR)driver.dll NK SHQ

The S and H flags indicate that Driver.dll is both a system file and a hidden file, located in the flat release directory. The Q flag specifies that the system can load this module concurrently into both kernel and user space. It adds two copies of the DLL to the run-time image, one with and one without the K flag, and doubles in this way ROM and RAM space requirements for the driver. Use the Q flag sparingly.

Extending the above example, the Q flag is equivalent to the following:

driver.dll $(_FLATRELEASEDIR)driver.dll NK SH
driver.dll $(_FLATRELEASEDIR)driver.dll NK SHK

Оглавление книги


Генерация: 1.746. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз