|
關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容
cs4agy3xehv6403003933.gif (429.76 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
cs4agy3xehv6403003933.gif
2024-9-6 19:25 上傳
作者 | 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編譯:
tyfpkpx1qqa6403004033.png (53.79 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
tyfpkpx1qqa6403004033.png
2024-9-6 19:25 上傳
配置優(yōu)化選項(xiàng):
jhesksjei3j6403004133.png (58.73 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
jhesksjei3j6403004133.png
2024-9-6 19:25 上傳
優(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 ------------
nxluxo3jald6403004233.gif (71.87 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
nxluxo3jald6403004233.gif
2024-9-6 19:25 上傳
●專欄《嵌入式工具》●專欄《嵌入式開發(fā)》●專欄《Keil教程》●嵌入式專欄精選教程
關(guān)注公眾號(hào)回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。
點(diǎn)擊“閱讀原文”查看更多分享。 |
|