基于Windows CE的KITL技术

  KITL(Kernel Independent Transport Layer)是基于Windows CE平台的一种软件技术,开发商基于它可以很容易地支持各种调试功能。因为Windows CE的调试是一种远程调试,所以开发工作站(运行PB的机器)和设备端必须要有相应的通信通道,不同的硬件平台会有不同的通信硬件,这样会增加开发的难度。KITL的目的就是将硬件层和通信协议层分开,开发商只要根据相应的API实现控制通信硬件的代码就可以实现KITL。
    KITL要工作必须要具备两个条件,一是在开发工作站上要运行PB(Platform Builder),另外在Windows CE的OAL层要实现支持KITL的代码。如下图:

     KITL有两种模式:主动和被动模式。主动模式是指系统在启动的过程就要求和开发工作站建立KITL连接,而且这个连接必须一直保持,否则系统会不正常,它主要适用于开发工程师作调试;被动模式不要求在启动阶段就建立KITL连接,只有当系统出现异常,而且没有相应的处理器处理这个异常的时候,才会请求建立一个KITL连接,这种模式主要适用于测试人员或者是系统已经比较稳定的情况,这样可以方便开发人员去跟踪问题。

    目前KITL支持的传输方式有以下几种:
    串口: 优点是容易实现,但速度太慢。
    网卡: 优点是快,容易实现。但一般的嵌入式设备都不支持网卡。
    基于USB仿真的串口: 优点是快,而且现在的嵌入式设备都支持USB。但是PB不支持通过它下载。
    基于USB仿真的网卡: 因为在开发工作站端看到的是一个网卡,所以相比USB仿真的串口,PB支持通过它下载image。

    基于KITL可以提供很多调试服务,除了微软已经提供的,开发商也可以自己开发:
    代码调试: 可以调试kernel和普通的application。
    远程工具: PB自带的一些远程工具会通过KITL和设备通信,比如编辑注册表,测试系统性能,spy窗口消息。

    Release文件系统: 如果Windows CE要加载某个文件,但image里又没有。系统会通过KITL从开发工作站的release目录下加载该文件。这样就可以提高开发效率。比如开发人员在调试一个driver,他就可以不要将该driver放到os image里,也就不要每次修改driver后都下载整个os image,因为系统会自动从release目录下加载最新的该driver。

    KITL的实现,可以提高开发效率,有利于开发出更稳定的产品。所以开发商在产品的设计初期就要考虑怎样支持KITL,要有相应的通信硬件,要开发相应的代码。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gooogleman/archive/2008/11/22/3352619.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值