電子產業(yè)一站式賦能平臺

PCB聯(lián)盟網

搜索
查看: 55|回復: 0
收起左側

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

[復制鏈接]

315

主題

315

帖子

2615

積分

三級會員

Rank: 3Rank: 3

積分
2615
跳轉到指定樓層
樓主
發(fā)表于 2024-8-30 12:10:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關注+星標公眾,不錯過精彩內容

作者 | strongerHuang
微信公眾號 | strongerHuang

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

因為ARM編譯器下載需要注冊,可能會因為各種原因下載失敗,這里可以參看文章:折騰 Keil 編譯器的經歷

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

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

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

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

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關閉

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


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