mtk編譯命令

mtk編譯命令
 
目錄
1     目錄………………………………………………………………………………2
2     new ………………………………………………………………………………..3
3     update……………………………………………………………………………..3
4     remake……………………………………………………………………………..3
5     clean………………………………………………………………………………..3
6     其他命令介紹  ……………………………………………………………………..4
 2   new:
功能:全新開始構建整個工程的ARM版,包括圖片、聲音、字符串等資源都要重做。在構建工程過程中,清除所有的目標文件,庫文件,日誌文件等。New指令還會自動創建必要的目錄、移除臨時文件和中間腳本、更新日誌文件。
過程簡要說明:new->cleanall->sysgen->ckscatter->mmi_feature_check->asngen->codegen->asnregen->operator_check_lit->$(BTLD_BIN_FILE)->update。
依賴指令:new依賴的其他指令最多,其中包括cleanall,sysgen,ckscatter,mmi_feature_check,asngen,codegen,asnregen,operator_check_lite,update.
用途:new指令是最徹底也是耗時最長的一個動作,一般得到一個新的MTK發佈版本後由項目負責人要做一次。
使用示例:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs new。
3   update:
       功能:update是重新更新整個工程的ARM版,該動作會掃描工程中文件和庫的依賴關係,若依賴關係有變化會建立新的依賴關係,隨後根據新的依賴關係重新編譯鏈接有改動的部分。Update指令不依賴cleanall指令,所以它不會刪除目標文件和庫文件,也不會去更新日誌文件和創建目標目錄,這一點和remake相像,這也是爲什麼執行時間比new短的原因。
        過程簡要說明:update->cleanlog->cleanbin->mcddll_update->codegen->resgen->cksydrv->remake。
       依賴指令:cleanlog,cleanbin,mcddll_updata,codegen,resgen,cksydrv,remake。
       用途:update是耗時較長的一個指令,一般在增加或刪除一些驅動或應用情況下使用。
       使用示例:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs update。4 remake:
功能: remake是重新編譯整個工程的ARM版,該動作只是簡單的重新編譯鏈接有改動的部分。它不檢查依賴關係.不掃描資源,只掃描代碼的改變,有改變的重編,資源和無改變的代碼不編。
                   過程簡要說明:remake->mcp_check->cleanlog->cleanbin->genverno->libs->$(BTLD_BIN_FIKE)->cmmgen->done。
              依賴指令:mcp_check,cleanlog,cleanbin,genverno,libs,$(BIN_FIKE),cmmgen,done。其中最重要的兩個指令是libs,$(BIN_FIKE)。Libs調用編譯器和連接器將各個模塊目錄下的C文件編譯連接爲獨立的庫。$(BIN_FIKE)是將各個模塊編譯連接的庫和mtk_lib目錄下的庫一起連接起來得到一個映像文件,然後使用ADS的工具fromelf將映像文件生成以變量BIN_FILE命名的二進制文件,該文件可以下載到硬件板上運行。
              用途:remake是耗時最短的一個動作,也是最常用的動作。
              使用示例:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs remake。
5   clean:
       功能:清除所有的目標文件,臨時文件,庫文件,可執行文件,更新日誌文件。還可以用於某個模塊相關的清除工作。
       過程簡要說明:check build root、target folder、comp、lib、comp log folder->clean bin folder、elf、lis、htm、log files、tst database files、obj,lib files。
       依賴指令:cleanlog,cleanbin,cleanmod,cleancodegen等。
       用途:作爲其它命令所依賴的指令,還有就是清除工程或者指定模塊對象的類庫。
       使用示例:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs clean,
             C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs clean Init。
6     其他命令介紹:
new_modis:是全新構建整個工程的PC模擬版,其調用VC的編譯器和鏈接器得到一個可以在windows上運行的PC模擬版。MMI應用軟件工程師可以在沒有硬件板的情況下在PC上檢查和調試自己寫好的應用。
codegen_modis:產生modis需要的trace文件的datebase。
gen_modis:產生vc工程文件。
remake_modis:重新編譯整個工程的PC版。
Codegen:創建TST數據庫。它依賴的指令有:cleancodegen,asngen,[umts_gen],codegen,asnregen,cleanbin,mcddll_update,done。
                    Cleancodegen:刪除codegen.lis。
                    Resgen:生成MMI資源。它依賴的指令有:code_generate,cleancodegen,asngen,codegen,asnregen,cleanbin,mcddll_update,done。
                    Cmmgen:生成CMM文件。
                    Sysgen:生成內存映射文件,並放在CUSTOMER文件夾裏面。
                    Emigen:生成flash_opt.h,custom_EMI.h,custom_EMI.c和custom_switchclock.c文件。
                     Emiclean:清除EMI設置。
                     Mmi_feature_check:根據MMI_features.h和MMI_features_switch.h中宏定義的不同來產生info.log文件。
                     Operator_check:檢查customer的宏是否被修改,如果修改產生相應log文件。
                     Fota:生成FOTA二進制文件。
                     Bootloader:生成bootloader二進制文件。
                     Ckscatter:檢查scatter文件
                     Mmi_obj_check:檢查運行時間值,e.g,聯合體元素的大小等。
                     Med_mem_check:檢查media memory。該指令依賴gencustominfo gen_infolog nvram_auto_gen。
                     Dummy_data_check:檢查虛擬數據。
                     Viewlog:查看日誌文件。
                     Cksysdrv:檢查系統驅動是否爲滿。
                     Genverno:生成verno.c/h。
                     Mcddll_update:生成和更新tst mcddll.dll文件。
                     Gen_bl_verno:生成bootloader版本號。
                     Del_fota:刪除fota二進制文件和elf,lis,sym,htm.*.log文件。

本文來自:天勤手機研發網(mtkmtk.com) -做手機就上這個網站
詳細出處:http://www.mtkmtk.com/html/download/mtkbuild/2010/0107/5155.html

發佈了81 篇原創文章 · 獲贊 6 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章