1.KITL分为主动与被动:
Active: The device boots the OAL, calls KitlInit(TRUE) to initialize KITL, and initializes all default KITL clients like the kernel debugger. The KITL service then calls OEMKitlInit and registers all default clients that are used by the system.
Passive: KITL is not automatically started when the device boots. In this mode, KITL initializes itself and the default KITL clients. Call KitlInit(FALSE) to initialize in passive mode. OEMKitlInit is then called when a client registers with the KITL servers.

2.
To enable passive KITL
    From the Target menu in the IDE, choose Connectivity Options.
    Choose Core Service Settings.
    Verify that the Enable KITL on device boot check box is cleared, and then choose Apply.

To enable active KITL
    From the Target menu in the IDE, choose Connectivity Options.
    Choose Core Service Settings.
    Verify that the Enable KITL on device boot check box is selected, and then choose Apply.

3.KITL初始化步骤:OALKitlStart->OALKitlInit()->KitlInit()->StartKitl()->OEMKitlInit()->OALKitlEthInit().其中前两步主要是准备Kitl参数,后两步主要是把Kitl参数传给内核.当为被动模式时,只执行了前面三步。在需要的时候再执行后三步。

4.当用中断方式时,总是跑一下就断掉了,一直没找到原因,最后用了查询。系统是通过Kitl->Interrupt来决定是查询还是中断.