转载自:http://blog.csdn.net/nanjianhui/article/details/2896411
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已经克隆完成。可以在”/WINCE600/Platform/”下面看到一个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”这个模块,你需要右击,然后弹出如下的窗口: