在VS2005下生成创建运行一个WinCE6.0平台(一)Clone the DeviceEmulator BSP

 

   在VS2005下生成创建运行一个WinCE6.0平台(一)Clone the DeviceEmulator BSP

                

今天要谈到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已经克隆完成。可以在”/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”这个模块,你需要右击,然后弹出如下的窗口:

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

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

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

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

附: 

Create, Build, and Run a New OS Design

Clone the DeviceEmulator BSP

1. Launch Visual Studio 2005.

2. Select the Tools | Platform Builder for CE6.0 | Clone BSP menu in Visual Studio to bring up the Clone BSP dialog box.

3. In the Clone BSP dialog select Device Emulator: ARMV4I from the Source Board Support Package: drop down box.

Note If you are working with a hardware reference platform, select the BSP corresponding to your pecific hardware.

4. Type TrainingBSP in the Name field in the New Board Support Package Info area.

5. Type a description for your new BSP in the Description field.

6. Type TrainingBSP in the Platform Directory field.

7. Type GeneriCo in the Vendor field.

8. Type 1.0 in the Version field.

9. Click the Clone Button. The Clone BSP tool will create a new Board Support Package based on the DeviceEmulator Board Support Package.

10. Open the C:/WINCE600/PLATFORM/TrainingBSP/FILES folder using Windows Explorer.

11. Rename the deviceemulator-preri.bat file to trainingbsp-preri.bat.(此步无用,我生成的就是trainingbsp-preri.bat)

文章来源:http://blog.csdn.net/js_gary/article/details/6231946

你可能感兴趣的:(在VS2005下生成创建运行一个WinCE6.0平台(一)Clone the DeviceEmulator BSP)