初识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,要有相应的通信硬件,要开发相应的代码。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值