windows mobile 編譯(產生鏡像)提速

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.