MTK 編譯命令詳解

2021-05-23 07:04:53 字數 3942 閱讀 5222

1、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。

2、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。

3、remake

功能: remake是重新編譯整個工程的arm版,該動作只是簡單的重新編譯鏈結有改動的部分。它不檢查依賴關係.不掃瞄資源,只掃瞄**的改變,有改變的重編,資源和無改變的**不編。

過程簡要說明:remake->mcp_check->cleanlog->cleanbin->genverno->libs->$(btld_bin_fike)->cmmgen->done。

用途:remake是耗時最短的乙個動作,也是最常用的動作。

使用示例:c: bird25_gemini_07brelease>make bird25_gemini_07b gprs remake。

4、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。

5、其他命令介紹

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檔案。

詳解MTK編譯命令及相關檔案

詳解 mtk編譯命令及相關檔案 mtk編譯分資源的編譯和 的編譯 一 資源的編譯 1 在如下的情況下,需要重新編譯資源 1 修改了字串資源檔案 ref list.txt 字型檔檔案 fontres.c,l h mmi配置檔案 mmi featurespluto.h 等,這些檔案位於 plutommi...

MTK 資源編譯

一 編譯前的準備工作 1 編譯相關的工具包 拷貝 mingw msys 兩個目錄到tools 目錄下,拷貝 make.exe 到 tools 目錄下。拷貝 7za.exe 到 plutommi customer resgenerator 目錄下。2 make option.mak 中關於 ads 編...

MTK快速編譯

當修改一些 時,使用什麼編譯命令可以最有效率 solution 1 mk n r kernel mk bootimage 當修改kernel相關 時,要使用此命令,具體如下 alps kernel alps mediatek platform mt65xx kernel alps mediatek ...