Windows Mobile 生成镜像大提速

转自:http://www.armce.cn/bbs/thread-75-1-2.html

 

Windows mobile 编译镜像总是让人难以忍受的耗时,当然我们不能每次修改一点东西就build All一次。
下面是自己工作中积累的【不同情况下使用的编译命令】来加速生成镜像的过程,不排除有错的可能,欢迎指正。


对于修改,一般可以分为以下几种类型:
(1)修改public下的东西(一般不会修改这里的东西)
(2)修改了Cesysgen.bat或是会影响到Cesysgen.bat的环境变量,如以SYSGEN或BSP为前缀的变量。
(3)修改platform/%myPlatform%下的东西

其中(3)又可以分为:
(4)只修改reg、bib文件
(5)只修改了%myPlatform%下的源码


一、 blddemo命令
关于blddemo,msdn里有详细介绍,但讲得很不清楚。
如果没记错的话,这是一个批处理(bat)文件,会执行一些列命令,可以根据不同情况使用不同参数,
下面主要是对其加以总结,到底什么时候用什么参数,这正是msdn没有讲清楚却是最重要的部分。

blddemo最常用的有三个参数:clean   -q      -qbsp
(1)clean:如果修改了跟sysgen相关的,也就是说上面的第(2)种情况,那就要加上clean。
(2)-q:如果没有修改public下的东西,则可加上-q,因为public下的东西一般是不会修改的,微软不推荐修改这里的东西,所以一般都会用到-q。
(3)-qbsp:我理解是quick BSP,也就是说只要是只修改了%myPlatform%下的东西,这一个参数便肯定能将修改编入镜像,不管是源码还是reg、bib或者其他。

-qbsp 似乎已包含了-q 功能,没见过二者同时用的情况,也就是说只改动%myPlatform%下的肯定就没改动public下的,所以-qbsp一般单独使用。

对于blddemo命令最常用参数组合整理如下:

若public没改变
(a)blddemo clean -q   :sysgen 改变(build all 就是使用了这个命令)
(b)blddemo -q :sysgen没变
(c)blddemo -qbsp:只改变了%myplatform%下的东西

这里从上到下耗时依次减少。

若public改变,则使用blddemo 或blddemo clean ,这两项很少用到,理论上用法,没验证过。

二、makeimg 命令
以上虽然blddemo -qbsp耗时最少,但耗时还是很长。我平时用的最多的是makeimg命令,这个命令就是生成镜像的意思,也是会执行一系列操作,属于最后一个步骤,所以耗时几乎是最短的了。但有个前提,它的所有操作都是针对release目录下的内容。
makeimg会执行reg、bib等的合并操作,但都是对release目录下的,比如platform.reg common.reg project.reg 三个合并成一个reginit.ini,明白了这一点就好办了。

对于上面所说的第(4)种情况,也就是只改动reg或bib文件,最快速的方法是:
直接修改release目录下的platform.reg、platform.bib,把需要的文件拷贝到release目录下,然后makeimg即可。
如果确定生效了,再到%myplatform%下修改,以防不小心执行了其他操作把release下的修改的东西给覆盖了。

三、最后贴一个公司里其他人用的一个bat文件,用时最少,我看不懂,这里不解释。
适用情况好像是修改%myplatform%下的源码文件,特别是修改了PLATFORM/COMMON/SRC/SOC/的情况。
懂的人请不吝赐教。
(里面的参数需要根据自己的平台设置一下)
call cls
set WMxxx=I:/wm604
set MyPlatform=DracoBSP
set Version=Retail

setlocal

pushd

I:

cd %WMxxx%/BuildScripts/WPC_%MyPlatform%_%Version%/
call baseOSEnv.bat

cd %WMxxx%/PLATFORM/COMMON/SRC/SOC/
call build
cd %WMxxx%/platform/%MyPlatform%
call build

REM %_FLATRELEASEDIR%/%_TGTPLAT%.cfg.xml
REM %_FLATRELEASEDIR%/%_TGTPLAT%.sku.xml

call packagegenerator packages.pkd.xml.merged
call dskimage %MyPlatform%.cfg.xml %MyPlatform%.sku.xml

cd %WMxxx%/PLATFORM/%MyPlatform%/FILES
call postdiskimage

popd

endlocal
pause

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值