電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 56|回復(fù): 0
收起左側(cè)

Keil V6編譯器性能優(yōu)化時(shí)的注意事項(xiàng)

[復(fù)制鏈接]

315

主題

315

帖子

2615

積分

三級(jí)會(huì)員

Rank: 3Rank: 3

積分
2615
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-8-30 12:10:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容

作者 | strongerHuang
微信公眾號(hào) | strongerHuang

Keil MDK自 V5.36 版本之后,默認(rèn)就不帶 Arm Compiler V5版本編譯器。如果需要使用 V5 版本編譯器,就需要自己下載并安裝。
注意:這里說的是V6版本編譯器,不是Keil V6集成開發(fā)環(huán)境。
Arm Compiler V6 和 V5兼容性不好,有很多地方都需要注意。這里簡單分享幾點(diǎn)注意事項(xiàng)。
Keil修改ARM編譯器及配置
很多小伙伴可能還不知道怎么修改Keil MDK編譯器,這里可以參看我之前分享的文章:手把手教你修改Keil MDK的ARM編譯器

因?yàn)锳RM編譯器下載需要注冊(cè),可能會(huì)因?yàn)楦鞣N原因下載失敗,這里可以參看文章:折騰 Keil 編譯器的經(jīng)歷

這里再說下配置,Keil MDK 配置 AC6編譯:

配置優(yōu)化選項(xiàng):

優(yōu)化選項(xiàng)描述
AC6默認(rèn),默認(rèn)值為-O0。這種情況下,代碼不做優(yōu)化,適用于在線調(diào)試。
對(duì)于需要優(yōu)化,但不是對(duì)速度和時(shí)間非?量,通常建議使用-Os balanced。
對(duì)于存儲(chǔ)容量小的芯片,可以使用-Oz選項(xiàng)以獲得最佳代碼大小,此優(yōu)化級(jí)別會(huì)降低調(diào)試體驗(yàn)。
對(duì)運(yùn)行效率(時(shí)間)有要求的工程,可以使用-Ofast優(yōu)化代碼。
當(dāng)然,如果使用armlink命令行,還有-Omin,-Omax等選項(xiàng)。
AC6編譯器的優(yōu)化選項(xiàng)(含命令選項(xiàng)很多),這里可以參看我之前的一篇文章:AC5 和 AC6 優(yōu)化選項(xiàng)重要內(nèi)容和區(qū)別
AC6的注意事項(xiàng)
除了在Keil MDK中使用常規(guī)的優(yōu)化選項(xiàng)之外,還有很多選項(xiàng),在使用的時(shí)候需要注意。
比如:-Omin將自動(dòng)啟用armclang -flto選項(xiàng),并且生成的目標(biāo)文件不適合創(chuàng)建靜態(tài)庫。
使用-Omin、-Omax時(shí),Arm 無法保證在所有代碼情況下都能實(shí)現(xiàn)最佳的代碼大小優(yōu)化。
啟用-ffp-mode=fast armclang選項(xiàng)執(zhí)行的積極優(yōu)化可能會(huì)違反嚴(yán)格遵守語言標(biāo)準(zhǔn)的規(guī)定。
------------ END ------------

●專欄《嵌入式工具●專欄《嵌入式開發(fā)》●專欄《Keil教程》●嵌入式專欄精選教程
關(guān)注公眾號(hào)回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。
點(diǎn)擊“閱讀原文”查看更多分享。

發(fā)表回復(fù)

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表