Share via


Preventing USB and KITL Conflicts (Windows Embedded Compact 7)

When you use a USB device such as a camera, microphone, keyboard, or mouse with Windows Embedded Compact 7, your USB device might not work correctly if you use a USB controller and interrupt-mode Kernel Independent Transport Layer (KITL).

In this article:


Cause

When you use KITL in interrupt mode, it might conflict with the USB controller. For example, the device might not find the USB controller, or the USB controller might not work as expected.  This problem has been observed in the CEPC and TI OMAP hardware platforms, but might affect other platforms as well. 


Resolution

To address this issue and still be able to see debug messages, apply one of the following resolutions:

Use KITL in poll mode

If you set KITL to poll mode when starting a CEPC or a TI OMAP board, your USB controller will work as expected, and you can download and debug applications as usual.  You can set KITL to poll mode for many devices, such as the CEPC and TI OMAP, by using the boot configuration menu. 

To set KITL to poll mode by using the boot configuration menu

  1. Turn on your device.
  2. Press the Spacebar to access the boot configuration menu.
  3. Select [4] Network Settings.
  4. Select [3] KITL interrupt/poll mode and set to poll mode.

Note that for the CEPC it might be necessary to unplug the USB camera during system start to prevent the system from failing.  You can plug it in again when Windows Embedded Compact has finished starting.

Use a serial port instead of KITL for debugging

If your device has a serial port, you can use the serial port instead of KITL to display debug messages. The serial port will receive all debug information until the KITL transport initializes. After KITL initializes, only low-level messages that bypass the KITL interface are sent to the serial port. To turn off KITL, remove KITL and the kernel debugger from the OS image by using Platform Builder.

To turn off KITL by using Platform Builder

  1. In Platform Builder, open your OS design solution.
  2. In Solution Explorer, right-click the OS design project, and then click Properties.
  3. In the left pane of the Property Pages dialog box, expand the Configuration Properties node, and then click Build Options.
  4. Clear the Enable kernel debugger check box.
  5. Clear the Enable KITL check box.
  6. Click OK.

You can then use a terminal emulator program to monitor the debug output from the serial port. Note that this debug output will not appear in the Platform Builder debug window because Platform Builder receives only debug messages that use KITL.


Community Resources

KITL 

Windows Embedded Compact portal


See Also

  • [[articles:Windows Embedded Compact]]