Kernel Independent Transport Layer

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

The Kernel Independent Transport Layer (KITL) is designed to provide an easy way for you to support any debugging service. KITL separates the protocol of the communication service from the layer that communicates directly with the communication hardware. This reduces your involvement in creating a hardware transport layer that understands how to pass data to the device's communication hardware. The hardware transport layer is then layered under KITL to keep KITL from needing to understand different types of communication hardware. For example, you could create both desktop and Windows Embedded CE device-side transport mechanisms.

On the desktop, the transport is a separate DLL that exports certain API functions that KITL relies on and is also registered in the system so KITL knows that it is a functional transport. On the device, the transport is built into the OAL and therefore the kernel. On the CE device, KITL relies on the transport to support a set of API level calls that are needed to support the debug services.

Note

KITL over Ethernet or IP4 does not support the IP Security (IPSec) protocol. When a debugging network card is shared with a device such as Vmini, the IPSec connection with the development workstation hangs the KITL connection.

KITL Functionality

  • KITL can be loaded on demand on retail devices.
  • KITL uses desktop timer packets to renew DHCP addresses of any devices. If KITL is enabled, and a device enters the Suspend state, debug messages are redirected to serial output before the device power is switched off. This prevents a possible halt, because when the device wakes up, any debug messages before the KITL hardware is initialized try to go through KITL hardware.
  • Power handlers can be implemented in the KITL. For information about the functions to implement for the KITL Ethernet driver, see the OAL_KITL_ETH_DRIVER structure.
  • IOCTL_KITL_GET_INFO can be implemented to retrieve the current KITL hardware information, such as the transport being used and the transport parameters. This help drivers fail gracefully if hardware is being used for KITL.

For more information on KITL, see the following topics:

For information about the KITL APIs you can use, see the following topics:

See Also

Concepts

OEM Adaptation Layer
Ethernet Debugging Services

Other Resources

How to Use Platform Builder to Connect to Multiple Target Devices