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

[复制链接]
3765|0
 楼主| tedyu 发表于 2009-3-4 17:57 | 显示全部楼层 |阅读模式
Create,&nbsp;Build,&nbsp;and&nbsp;Run&nbsp;a&nbsp;New&nbsp;OS&nbsp;Design<br /><br />Clone&nbsp;the&nbsp;DeviceEmulator&nbsp;BSP<br /><br />1.&nbsp;Launch&nbsp;Visual&nbsp;Studio&nbsp;2005.<br /><br />2.&nbsp;Select&nbsp;the&nbsp;Tools&nbsp;|&nbsp;Platform&nbsp;Builder&nbsp;for&nbsp;CE6.0&nbsp;|&nbsp;Clone&nbsp;BSP&nbsp;menu&nbsp;in&nbsp;Visual&nbsp;Studio&nbsp;to&nbsp;bring&nbsp;up&nbsp;the&nbsp;Clone&nbsp;BSP&nbsp;dialog&nbsp;box.<br /><br />3.&nbsp;In&nbsp;the&nbsp;Clone&nbsp;BSP&nbsp;dialog&nbsp;select&nbsp;Device&nbsp;Emulator:&nbsp;ARMV4I&nbsp;from&nbsp;the&nbsp;Source&nbsp;Board&nbsp;Support&nbsp;Package:&nbsp;drop&nbsp;down&nbsp;box.<br /><br />Note&nbsp;If&nbsp;you&nbsp;are&nbsp;working&nbsp;with&nbsp;a&nbsp;hardware&nbsp;reference&nbsp;platform,&nbsp;select&nbsp;the&nbsp;BSP&nbsp;corresponding&nbsp;to&nbsp;your&nbsp;pecific&nbsp;hardware.<br /><br />4.&nbsp;Type&nbsp;TrainingBSP&nbsp;in&nbsp;the&nbsp;Name&nbsp;field&nbsp;in&nbsp;the&nbsp;New&nbsp;Board&nbsp;Support&nbsp;Package&nbsp;Info&nbsp;area.<br /><br />5.&nbsp;Type&nbsp;a&nbsp;description&nbsp;for&nbsp;your&nbsp;new&nbsp;BSP&nbsp;in&nbsp;the&nbsp;Description&nbsp;field.<br /><br />6.&nbsp;Type&nbsp;TrainingBSP&nbsp;in&nbsp;the&nbsp;Platform&nbsp;Directory&nbsp;field.<br /><br />7.&nbsp;Type&nbsp;GeneriCo&nbsp;in&nbsp;the&nbsp;Vendor&nbsp;field.<br /><br />8.&nbsp;Type&nbsp;1.0&nbsp;in&nbsp;the&nbsp;Version&nbsp;field.<br /><br />9.&nbsp;Click&nbsp;the&nbsp;Clone&nbsp;Button.&nbsp;The&nbsp;Clone&nbsp;BSP&nbsp;tool&nbsp;will&nbsp;create&nbsp;a&nbsp;new&nbsp;Board&nbsp;Support&nbsp;Package&nbsp;based&nbsp;on&nbsp;the&nbsp;DeviceEmulator&nbsp;Board&nbsp;Support&nbsp;Package.<br /><br />10.&nbsp;Open&nbsp;the&nbsp;C:WINCE600PLATFORMTrainingBSPFILES&nbsp;folder&nbsp;using&nbsp;Windows&nbsp;Explorer.<br /><br />11.&nbsp;Rename&nbsp;the&nbsp;deviceemulator-preri.bat&nbsp;file&nbsp;to&nbsp;trainingbsp-preri.bat.(此步无用,我生成的就是trainingbsp-preri.bat)<br /><br />今天要谈到WinCE的BSP&nbsp;Clone实际上就是BSP的复制,只不过是改变了一些BSP中的信息。在WinCE中,BSP的克隆应该很简单,今天就做个简单的介绍.&nbsp;<br />&nbsp;&nbsp;&nbsp;我很少用到BSP的克隆,做WinCE也有几年了,就用过几次,最开始是为了学习克隆了几次,但没有什么实际用途。后来我在一家IC&nbsp;Design公司工作,公司开了一个新的ARM芯片,基于公司老的ARM提高了频率,增加了一些新的模块。这个时候我真正用到了BSP的克隆,基于公司老的ARM芯片的BSP,克隆一个BSP,然后在上面为新的ARM芯片开发驱动和新的功能。<br /><br />所以,BSP的克隆应该算是BSP开发的第一步,在你什么都没有的时候,最好找一个和你的芯片以及平台相近的已有的BSP包,进行克隆,然后再在上面开发新的BSP,这样会节省时间。道理大家都明白,下面介绍一下:&nbsp;<br /><br />1.&nbsp;基于WinCE6.0,首先打开VS2005,然后选择”Tools”-&gt”Platform&nbsp;Builder&nbsp;for&nbsp;CE&nbsp;6.0”-&gt”Clone&nbsp;BSP”以后,会弹出一个克隆BSP的窗口。<br /><br />2.&nbsp;在弹出的窗口中,我们可以看到一些信息,在”Source&nbsp;BSP”中选择目前WinCE系统中已经支持的BSP,选择一个和你的平台相近的BSP,也就是被克隆的BSP,在这里我们选择”Device&nbsp;Emulator:&nbsp;ARMV4I”。然后在”Name”输入名字为MyBSP,在”Description”中输入This&nbsp;is&nbsp;my&nbsp;BSP。在”Platform&nbsp;Directory”中输入MyBSP,这里最好和上面的”Name”一致。”Vendor”输入My,”Version”输入1.0。应该是如下图:<br /><br /><br />3.&nbsp;最后点击”Clone”就可以了,如果快的话,稍等几秒就会完成。如果成功了,会弹出一个对话框告诉你BSP已经克隆成功。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;比较简单,BSP已经克隆完成。可以在”WINCE600Platform”下面看到一个MyBSP的文件夹,就是克隆出来的BSP。下面简单介绍一些里面的内容:<br /><br />sources.cmn:该文件是一个BSP的sources的总文件,它会作用于BSP中所有的sources文件,就是说在这里面的设置会被用到BSP所有的sources文件中。<br /><br />MyBSP.bat:这是一个批处理文件,主要完成一些默认的环境变量的设置。他要和文件夹同名,在你以该BSP创建工程或者打开工程的时候,这个批处理会被自动运行.<br /><br />dirs:目录文件,指明要被编译的文件夹,一般都是指向src文件夹。<br /><br />cebasecesysgen.bat:该批处理会被cesysgen.bat调用,主要是设置一些WinCE系统相关的SYSGEN_xxx环境变量。该脚本没有也无所谓,很多BSP中都没有该脚本。<br /><br />CATALOG文件夹:该文件夹里面包含了BSP的工程文件,名为MyBSP.pbcxml。可以使用记事本直接编辑它,这里要注意的是,他的名字要和文件夹名字一致,否则不能被识别出来。<br /><br />CESYSGEN文件夹:该文件夹中包含一个makefile文件,主要是根据环境变量的设置对代码及配置文件进行过滤。<br /><br />FILES文件夹:该文件夹包含了BSP以及WinCE的配置文件,其中包括bib文件,注册表文件,db文件等。<br /><br />SRC文件夹:就是BSP的源代码文件夹,里面包含了BSP的所有源代码。其中应该包括”Bootloader”,”Drivers”,”Inc”,”OAL”和”Kitl”几个文件夹。当然不同的BSP,名字可能略有差别。”Bootloader”是WinCE的bootloader,一般是指EBOOT了。”Drivers”中包含了BSP中所有的驱动。”Inc”是一个头文件文件夹。”OAL”包含了WinCE中OAL部分的代码。”Kitl”是实现基于网络调试的Kilt的代码。<br /><br />&nbsp;&nbsp;&nbsp;大致就介绍这些。上面说得挺多,其实就是介绍了一下BSP的克隆,以及BSP里面都有些什么东西。提到克隆,这里在补充一下,在WinCE6.0中,不光是BSP可以克隆,WinCE中的一些组件也是可以克隆的。当我们创建了一个WinCE的工程以后,我们可以会使用一些WinCE的组建,但是我们想改一下他的源代码,一般这些源代码都是位于Public目录下面的。更改Public目录下的源代码不是一个好的注意,首先你改Public目录下的源代码需要重新编译Public目录,这将用掉几个小时的时间,其次如果微软的补丁更新了你改的代码,那你可能还需要重新修改。<br /><br />所以,在WinCE的工程中,如果你想更改Public目录下的组件的源代码,那么克隆可能是一个更好的选择,来介绍一下:<br /><br />1.&nbsp;假如你已经有了一个工程,在你的工程里面的”Catalog&nbsp;View”中,假如要克隆”Device&nbsp;Drivers”-&gt”USB&nbsp;Function”-&gt”USB&nbsp;Function&nbsp;Client”-&gt”Mass&nbsp;Storage”这个模块,你需要右击,然后弹出如下的窗口:<br /><br /><br />2.然后选择”Clone&nbsp;Catalog&nbsp;Item”,又会弹出一个窗口,如下:<br /><br /><br /><br />3.选择你要克隆的组件,然后点”OK”就可以了。成功以后,会弹出克隆成功的对话框。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;完成了上面的3个步骤,组件的克隆就已经完成,被克隆的组件会被自动的拷贝到你的工程的目录下面,然后你在IDE环境中切换到”Solution&nbsp;Explorer”,你会在”Subprojects”下面看到你所克隆的组件,该组件现在已经作为一个子工程存在了,而且代码也已经拷贝到工程的目录下面。&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后啰嗦两句,关于BSP的克隆应该比较简单,但是有的时候也会出错,一般出错的原因可能是因为被克隆的BSP有问题。关于组件的克隆,是在你需要修改Public目录下源代码的时候采用的,而且不是什么组件都可以克隆的,如果组建不能被克隆,你就需要自己手动去改了<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

52

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部