关于对WinCE工程的编译命令使用

来源:互联网 发布:遇到网络诈骗怎么做 编辑:程序博客网 时间:2024/05/22 03:10

刚接触WinCE那会,经常要对BSP包内Drivers文件夹内各驱动、Files文件夹下的配置文件(比如config.bib,platform.reg等)、BSP包内bootloader、WinCE 600路径Public目录下相关的系统UI与驱动进行修改,以及在BSP包根据修改的硬件电路进行相关的驱动增加与配置等等,而修改之后的编译却成了一个比较繁琐的过程,比如修改了PUBLIC目录下shell相关的文件,习惯用Clean或者Rebuilt and Clean Sysgen命令,因为不确定是不是要从头到尾重新编译生成。

         可想而知,对整个CE系统与BSP编译链接生成复制,整个过程一个小时左右,极大浪费时间,影响进度。

         VS2005下对CE系统编译的命令很多,见下图:

关于对WinCE工程的编译命令使用 - 邪佛 - 蓝天碧海...

 

正确认识编译命令的使用,对整个系统的开发也是很重要的。

下面是参考一些信息:

WinCE5.0

              在"Build OS”菜单中,我们会看到不同的编译选项:

 

       "Sysgen","Build and Sysgen"和"Build and Sysgen current BSP"

 

       Sysgen:不用多说,当你在"Catalog"中添加或删除了新的item的时候,就用这个吧。

 

       Build and Sysgen:当你更新了\public目录下的源代码的时候,你就需要用这个了。一般比如在打patch以后,可能就需要进行Build and Sysgen了。

 

              Build and Sysgen current BSP: 当你只改变了你的BSP部分的代码,就可以用这个选项。据说,当你改变了\platform目录下的代码,也可以用这个。

 

WinCE6.0

      在VS2005的"Build"菜单中,有一个“Advanced Build Commands”,其中有很多编译选项(见上图):

 

     "Sysgen":相当于执行命令"blddemo -q”,一般第一次编译或者是改变了"Catalog"中的item的时候,就用这个了。

 

       "Clean Sysgen":相当于执行命令"blddemo clean -q",按照文档上的说明,当修改%_WINCEROOT\Public\CEBASE\OAK\Misc\Cesysgen.bat的时候,或者改变了以SYSGEN,BSP为前缀的环境变量的时候,需要使用这个来编译。

 

       一般只有第一次创建完工程的时候,我会用"Sysgen"命令,以后只要是改变了SYSGEN为前缀的环境变量的设置或者是"Catalog"中的item,我就会使用"Clean Sysgen",而改变了以BSP为前缀的环境变量要看具体情况,也不一定就要用"Clean Sysgen"。继续...

 

       "Build and Sysgen":相当于执行命令"blddemo",当改变了\public目录下的代码,比如你打了WinCE的patch,你就需要用这个了。

 

      "Rebuild and Sysgen Clean":相当于执行命令"blddemo clean cleanplat -c",相当于清除上一次编译生成的文件,然后重新编译\public目录和你的工程。

 

      "Build and Sysgen Current BSP":相当于执行命令"blddemo -qbsp",仅编译\platform目录下的代码。所以当改变了\platform目录下的代码的时候或者说改变了BSP的代码的时候,可以用这个来编译。

 

       "Rebuild and Clean Sysgen Current BSP":相当于执行命令"blddemo -qbsp -c",相当于完全重新编译\platform目录下要编译的代码。

 

另外,其他参考信息:

在WinCE下面,创建工程,然后编译是需要花很长时间的。当我们第一编译完工程以后,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的:

 

  1. 如果更改了driver,以WinCE6.0为例,我们可以在菜单里面选择“build”->“Open ReleaseDirectory in Build Window”,然后在弹出的命令行窗口中,通过dos命令切换到你要编译的driver的目录下面,然后运行“build”就可以了。也可以运行“build -c”会强制把所有的文件都编译一遍。被编译后的driver的dll会被自动拷贝到release目录下面,然后再切换的工程的release目录下面,运行一下“make image”就可以了。

 

  2. 如果改变了OAL部分的代码,同样用上面介绍的方法,需要注意的是,OAL部分可能包含多个文件夹,如果改变了OAL里面的代码,不要进入OAL里面的文件夹去编译,一定要在OAL这层进行编译,这样OAL部分的lib,dll才会被重新编译并拷贝到release目录下面。

 

  3. 如果改变了配置文件,比如config.bib,platform.reg文件,那么直接将这些文件拷贝到你的工程目录下面,然后运行一下“make image”就可以了。

 

       4. 如果改变了eboot部分的代码,那按照步骤1的方法就可以了,可能你都不需要运行“make image”命令,因为可能你只需要eboot.bin或者eboot.nb0。


转自:http://taoqimhw.blog.163.com/blog/static/1155316720109109482134/

原创粉丝点击