在車載嵌入式開發(fā)過程中,除了常用tasking作為編輯器,hightec也是常用的之一,在之前分享過一份tasking提高編譯速度的文章(回送門:TASKING TriCore如何提高編譯速度)。下面根據(jù)使用經(jīng)驗(yàn)整理了一些hightec方法。
優(yōu)化方法1:?jiǎn)⒂闷叫芯幾g并將CPU核數(shù)設(shè)置為電腦的CPU核數(shù)量
1、 進(jìn)入激活項(xiàng)目屬性設(shè)置,進(jìn)入 c/c++Build,按照下面的圖設(shè)置:
如果默認(rèn) build command 不是 make –j4,那么取消 Use default build command 選項(xiàng),直接按照下面配置:
然后配置 Behaviour 項(xiàng),這里以電腦的核心為4來配置,如果電腦的核心為8個(gè),則Use parallel jobs設(shè)置為8,
另外選項(xiàng)“Stop on first build error”默認(rèn)是選中狀態(tài),這樣在編譯時(shí)一旦出錯(cuò)就會(huì)停止繼續(xù)編譯;如果未選中,即使出現(xiàn)編譯錯(cuò)誤也會(huì)繼續(xù)向下編譯其它c(diǎn)文件直到編譯結(jié)束。
優(yōu)化方法2:避免每次都生成makefile文件以及臨時(shí)文件
HighTec在編譯時(shí)默認(rèn)是根據(jù)工程源文件文件架構(gòu)首先生成makefile文件,然后執(zhí)行“make makefile”指令來編譯工程。
需要注意的是這樣每次在你每次單擊“編譯”按鈕時(shí)每次都會(huì)生成makefile文件。假如工程中沒有增加或刪除c/h文件,每次生成的makefile是一樣的,也就是生成makefile步驟是重復(fù)執(zhí)行的,因此我們可以按照下圖將“Generate Makefiles automatically”取消掉。
另外進(jìn)入激活項(xiàng)目屬性設(shè)置->Setting->Tricore c Compiler->Output,按照下面圖片要求進(jìn)行設(shè)置,取消編譯過程的臨時(shí)文件。
優(yōu)化方法3:手寫makefile,通過編譯命令優(yōu)化
如果自己寫的 makefile 文件,需要在編譯選項(xiàng)里面添加-pipe,去掉-Wa,-ahlms=${OutputFileBaseName}.lst,-save-temps 選項(xiàng)。比如在 BaseFrameWork 項(xiàng)目里面的 CfgCompiler_Gnuc.mk 文件需要修改
# Compiler options
CC_OPTIONS_MAIN = -DGNU -msmall-const=8 -Wall -g -O2
-fno-common -fno-short-enums -mtc161 -fsingle-precision-constant
-fstrict-volatile-bitfields -g –c
-pipe
里面添加-pipe,不能包含-Wa,-ahlms=${OutputFileBaseName}.lst, -save-temps 選項(xiàng)。
優(yōu)化方法4:將程序模塊編譯成靜態(tài)庫
將代碼工程按模塊化劃分,將部分模塊拆分成一個(gè)工程,編譯成靜態(tài)庫,然后再在大工程編譯的時(shí)候link該庫,這樣可以減少編譯時(shí)間,工程設(shè)置為生成靜態(tài)庫文件而不是可執(zhí)行elf文件。
優(yōu)化方法5:釋放電腦資源
最后就是干掉殺毒軟件等耗CPU和內(nèi)存的軟件,釋放電腦資源。
審核編輯:黃飛
-
cpu
+關(guān)注
關(guān)注
68文章
10772瀏覽量
210438 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
2947瀏覽量
73729 -
嵌入式開發(fā)
+關(guān)注
關(guān)注
18文章
1012瀏覽量
47430 -
編輯器
+關(guān)注
關(guān)注
1文章
798瀏覽量
31011
原文標(biāo)題:HighTec Tricore如何提高編譯速度
文章出處:【微信號(hào):eng2mot,微信公眾號(hào):汽車ECU開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論