Share via


Active and Passive KITL (Windows Embedded CE 6.0)

1/5/2010

The kernel independent transport layer (KITL) can operate in active or passive mode. In active mode, all KITL clients are initialized and registered when the device boots the OEM Adaptation Layer (OAL). In passive mode, KITL is initialized but not connected until an exception occurs.

You must determine which mode the device should enter on boot. Platform Builder provides a flag called KTS_PASSIVE_MODE that determines which mode is used. For more information, see Enabling Active or Passive KITL.

You must pass the KTS_PASSIVE_MODE flag, if used, to the boot loader, which then places it in a known memory location such as the BOOTARGS area. Then the BSP's KITL initialization code in Kitl.dll can detect the flag and add OAL_KITL_FLAGS_PASSIVE to the flags sent to OALKitlInit.

To see how to call OALKitlInit with flags, see %_WINCEROOT%\Platform\<Hardware Platform Name>\Src\Kitl\Kitl.c. To view an example for the CEPC hardware platform, see %_WINCEROOT%\Platform\Common\Src\x86\Common\Kitl\Kitl_x86.c.

Active KITL is best suited for the development process so the debugger can maintain a constant connection. Passive KITL is better suited to a scenario in which the debugger is not constantly needed, for example, the later stages of testing a device, but before it is released as a retail device. The benefit of the passive mode is that you can create a device that does not have to be tethered to the development computer tools. The device can even be mobile, and if it enters a state where the development computer tools are needed, it initiates a KITL connection between the device and development computer.

See Also

Concepts

Kernel Independent Transport Layer