WinCE中BSP的Clone

WinCE中BSP的Clone

 

谈到WinCE的BSP Clone实际上就是BSP的复制,只不过是改变了一些BSP中的信息。在WinCE中,BSP的克隆应该很简单,今天就做个简单的介绍.

  我很少用到BSP的克隆,做WinCE也有几年了,就用过几次,最开始是为了学习克隆了几次,但没有什么实际用途。后来我在一家IC Design公司工作,公司开了一个新的ARM芯片,基于公司老的ARM提高了频率,增加了一些新的模块。这个时候我真正用到了BSP的克隆,基于公司老的ARM芯片的BSP,克隆一个BSP,然后在上面为新的ARM芯片开发驱动和新的功能。

  所以,BSP的克隆应该算是BSP开发的第一步,在你什么都没有的时候,最好找一个和你的芯片以及平台相近的已有的BSP包,进行克隆,然后再在上面开发新的BSP,这样会节省时间。道理大家都明白,下面介绍一下:

  1. 基于WinCE6.0,首先打开VS2005,然后选择”Tools”->”Platform Builder for CE 6.0”->”Clone BSP”以后,会弹出一个克隆BSP的窗口。

  2. 在弹出的窗口中,我们可以看到一些信息,在”Source BSP”中选择目前WinCE系统中已经支持的BSP,选择一个和你的平台相近的BSP,也就是被克隆的BSP,在这里我们选择”Device Emulator: ARMV4I”。然后在”Name”输入名字为MyBSP,在”Description”中输入This is my BSP。在”Platform Directory”中输入MyBSP,这里最好和上面的”Name”一致。”Vendor”输入My,”Version”输入1.0。应该是如下图:

3. 最后点击”Clone”就可以了,如果快的话,稍等几秒就会完成。如果成功了,会弹出一个对话框告诉你BSP已经克隆成功。 

  比较简单,BSP已经克隆完成。可以在”WINCE600Platform”下面看到一个MyBSP的文件夹,就是克隆出来的BSP。下面简单介绍一些里面的内容:

  sources.cmn:该文件是一个BSP的sources的总文件,它会作用于BSP中所有的sources文件,就是说在这里面的设置会被用到BSP所有的sources文件中。

  MyBSP.bat:这是一个批处理文件,主要完成一些默认的环境变量的设置。他要和文件夹同名,在你以该BSP创建工程或者打开工程的时候,这个批处理会被自动运行.

  dirs:目录文件,指明要被编译的文件夹,一般都是指向src文件夹。

  cebasecesysgen.bat:该批处理会被cesysgen.bat调用,主要是设置一些WinCE系统相关的SYSGEN_xxx环境变量。该脚本没有也无所谓,很多BSP中都没有该脚本。

  CATALOG文件夹:该文件夹里面包含了BSP的工程文件,名为MyBSP.pbcxml。可以使用记事本直接编辑它,这里要注意的是,他的名字要和文件夹名字一致,否则不能被识别出来。

  CESYSGEN文件夹:该文件夹中包含一个makefile文件,主要是根据环境变量的设置对代码及配置文件进行过滤。

  FILES文件夹:该文件夹包含了BSP以及WinCE的配置文件,其中包括bib文件,注册表文件,db文件等。

  SRC文件夹:就是BSP的源代码文件夹,里面包含了BSP的所有源代码。其中应该包括”Bootloader”,”Drivers”,”Inc”,”OAL”和”Kitl”几个文件夹。当然不同的BSP,名字可能略有差别。”Bootloader”是WinCE的bootloader,一般是指EBOOT了。”Drivers”中包含了BSP中所有的驱动。”Inc”是一个头文件文件夹。”OAL”包含了WinCE中OAL部分的代码。”Kitl”是实现基于网络调试的Kilt的代码。

 

致就介绍这些。上面说得挺多,其实就是介绍了一下BSP的克隆,以及BSP里面都有些什么东西。提到克隆,这里在补充一下,在WinCE6.0中,不光是BSP可以克隆,WinCE中的一些组件也是可以克隆的。当我们创建了一个WinCE的工程以后,我们可以会使用一些WinCE的组建,但是我们想改一下他的源代码,一般这些源代码都是位于Public目录下面的。更改Public目录下的源代码不是一个好的注意,首先你改Public目录下的源代码需要重新编译Public目录,这将用掉几个小时的时间,其次如果微软的补丁更新了你改的代码,那你可能还需要重新修改。

  所以,在WinCE的工程中,如果你想更改Public目录下的组件的源代码,那么克隆可能是一个更好的选择,来介绍一下:

  1. 假如你已经有了一个工程,在你的工程里面的”Catalog View”中,假如要克隆”Device Drivers”->”USB Function”->”USB Function Client”->”Mass Storage”这个模块,你需要右击,然后弹出如下的窗口:

2.然后选择”Clone Catalog Item”,又会弹出一个窗口,如下:

 

3.选择你要克隆的组件,然后点”OK”就可以了。成功以后,会弹出克隆成功的对话框。

  完成了上面的3个步骤,组件的克隆就已经完成,被克隆的组件会被自动的拷贝到你的工程的目录下面,然后你在IDE环境中切换到”Solution Explorer”,你会在”Subprojects”下面看到你所克隆的组件,该组件现在已经作为一个子工程存在了,而且代码也已经拷贝到工程的目录下面。

 

  最后啰嗦两句,关于BSP的克隆应该比较简单,但是有的时候也会出错,一般出错的原因可能是因为被克隆的BSP有问题。关于组件的克隆,是在你需要修改Public目录下源代码的时候采用的,而且不是什么组件都可以克隆的,如果组建不能被克隆,你就需要自己手动去改了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值