日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 小麥大叔
[導(dǎo)讀]點(diǎn)擊上方“小麥大叔”,選擇“置頂/星標(biāo)公眾號(hào)”福利干貨,第一時(shí)間送達(dá)大家好,我是小麥,上次寫(xiě)過(guò)一篇文章《Keil編譯太慢怎么辦?教你一招,提速10倍?》,減少了中間文件的生成,確實(shí)把編譯速度提高了很多,其實(shí)沒(méi)有從根本上解決問(wèn)題,有大佬提出用直接上AC6。于是我就切換到AC6上嘗試...

點(diǎn)擊上方“小麥大叔”,選擇“置頂/星標(biāo)公眾號(hào)”

福利干貨,第一時(shí)間送達(dá)

大家好,我是小麥,上次寫(xiě)過(guò)一篇文章 《Keil 編譯太慢怎么辦?教你一招,提速10倍?》,減少了中間文件的生成,確實(shí)把編譯速度提高了很多,其實(shí)沒(méi)有從根本上解決問(wèn)題,有大佬提出用直接上AC6。



于是我就切換到AC6上嘗試了一下,效果還是不錯(cuò)的,我就分享一下,感興趣的小伙伴們可以看一下,希望對(duì)你有所幫助。

AC6有何不同?

ARM Compiler 5(及更早版本)使用 armcc 編譯器。而AC6(ARM Compiler 6) 用 armclang 替換了 armcc,因此是一個(gè)新的編譯器。七年前就有人問(wèn)了這樣的問(wèn)題。

AC6和AC5具體有哪些差異呢?

參考鏈接:https://developer.arm.com/documentation/100068/0612/migrating-from-arm-compiler-5-to-arm-compiler-6/migration-overview

Arm Compiler 6 基于現(xiàn)代 LLVM 編譯器框架。Arm Compiler 5 不是基于 LLVM 編譯器框架。因此,將您的項(xiàng)目和源文件從 Arm Compiler 5 遷移到 Arm Compiler 6 ,我們需要注意幾點(diǎn):

  • 調(diào)用編譯器時(shí)命令行選項(xiàng)的差異。
  • 遵守語(yǔ)言標(biāo)準(zhǔn)的差異。
  • 編譯器特定關(guān)鍵字、屬性和編譯指示的差異。
  • 編譯器優(yōu)化和診斷行為的差異。
下面是AC6和AC5的工具鏈差異:

工具鏈差異
從這里我們可以看到,出了C編譯器和預(yù)處理器不同以外,其他基本上都是相同的。

除了工具鏈的差異,優(yōu)化也有差異,還有一些默認(rèn)的差異,包括編譯選項(xiàng),生成的固件命后綴不同等等,詳細(xì)可以參考上述的鏈接。至于強(qiáng)不強(qiáng),用了才知道嘛。

Keil中切換編譯器

Keil MDK 5.27中,我們打開(kāi)項(xiàng)目選項(xiàng),就可以切換編譯器了,這里包括了AC5和AC6,具體如下圖所示;

為了測(cè)試,我用CubeMX生成了一個(gè)STM32F103CB基于HAL庫(kù)的Keil MDK工程,使用AC5編譯器進(jìn)行構(gòu)建;

總共耗時(shí) 10 秒;

后面我切換成AC6編譯器,進(jìn)行重新構(gòu)建;

總共耗時(shí) 5 秒;

如果單純基于HAL庫(kù),沒(méi)有加入其他第三方庫(kù)的話,直接在項(xiàng)目選項(xiàng)中的編譯器選項(xiàng)中,選擇AC5和AC6就可以實(shí)現(xiàn)無(wú)縫切換,這是因?yàn)樵贑MSIS中已經(jīng)幫你做好了兼容性的處理,在cmsis_compiler.h中,這里的條件編譯選項(xiàng),我們可以發(fā)現(xiàn)已經(jīng)通過(guò)判斷不同的編譯器版本,而包含了不同的頭文件,分別是對(duì)應(yīng)armccarmclag的;如下圖所示;

項(xiàng)目已經(jīng)根據(jù)系統(tǒng)進(jìn)行了選擇;

#elif?defined?(__ARMCC_VERSION)?
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

在資源受限的嵌入式系統(tǒng)中,代碼空間優(yōu)化直接影響產(chǎn)品成本與可靠性。通過(guò)編譯器選項(xiàng)調(diào)優(yōu)、鏈接腳本定制及代碼結(jié)構(gòu)重構(gòu)的組合策略,可在保持功能完整性的前提下,將Flash占用降低30%-60%。

關(guān)鍵字: 嵌入式代碼 編譯器 鏈接腳本

在之前的文章中,我們已經(jīng)了解到如何在 AMD Versal AIE-ML 架構(gòu)上創(chuàng)建一個(gè) FFT 應(yīng)用程序,而無(wú)需進(jìn)行任何 AIE-ML 內(nèi)核編碼,只需使用 AMD DSP 庫(kù)即可實(shí)現(xiàn)。然后,我們還看到了如何利用 Vit...

關(guān)鍵字: 傅里葉變換 人工智能 編譯器 MATLAB

在高性能計(jì)算領(lǐng)域,循環(huán)優(yōu)化是提升代碼執(zhí)行效率的核心手段。循環(huán)展開(kāi)(Loop Unrolling)通過(guò)減少循環(huán)控制開(kāi)銷和增加指令級(jí)并行性提升性能,而編譯器優(yōu)化選項(xiàng)則通過(guò)靜態(tài)分析自動(dòng)應(yīng)用多種優(yōu)化技術(shù)。二者協(xié)同使用可產(chǎn)生超越單...

關(guān)鍵字: 編譯器 循環(huán)展開(kāi)

結(jié)構(gòu)體作為C/C++中組織異構(gòu)數(shù)據(jù)的核心方式,其內(nèi)存布局直接影響程序性能。本文通過(guò)量化實(shí)驗(yàn)對(duì)比不同對(duì)齊策略的內(nèi)存占用差異,結(jié)合編譯器指令實(shí)現(xiàn)精準(zhǔn)優(yōu)化。

關(guān)鍵字: 結(jié)構(gòu)體 C語(yǔ)言 編譯器

本文將介紹新開(kāi)發(fā)的自動(dòng)化Vitis工作區(qū)流。原始的KRS流自動(dòng)將內(nèi)核生成到配置在ROS 2包的CMakeLists.txt中的xclbin中,但目前未使用。雖然原始流程允許在ROS 2中直接生成內(nèi)核,但在開(kāi)發(fā)新內(nèi)核時(shí),該...

關(guān)鍵字: ROS 2 編譯器 vitis

新竹2025年10月2日 /美通社/ -- 全球硅智財(cái)(IP)領(lǐng)先供應(yīng)商円星科技(M31 Technology Corporation,下稱 M31)今日于臺(tái)積公司北美開(kāi)放創(chuàng)...

關(guān)鍵字: 臺(tái)積電 存儲(chǔ)器 編譯器 超低功耗

在C語(yǔ)言編程中,結(jié)構(gòu)體內(nèi)存對(duì)齊是一個(gè)容易被忽視卻影響深遠(yuǎn)的關(guān)鍵問(wèn)題。它不僅關(guān)乎程序性能,更直接影響到內(nèi)存占用效率,尤其在嵌入式系統(tǒng)等資源受限環(huán)境中顯得尤為重要。本文將深入探討結(jié)構(gòu)體內(nèi)存對(duì)齊的原理,并分享手動(dòng)調(diào)整與編譯器優(yōu)...

關(guān)鍵字: C語(yǔ)言 內(nèi)存對(duì)齊 編譯器

編譯器不僅是連接硬件與軟件的橋梁,還直接影響MCU的性能優(yōu)化與功能安全。面對(duì)汽車行業(yè)對(duì)高可靠性、低功耗和高算力的需求,編譯器需在確保ASIL-D等嚴(yán)格標(biāo)準(zhǔn)的同時(shí),最大化發(fā)揮RISC-V芯片的潛力。

關(guān)鍵字: 車規(guī)MCU RISC-V 編譯器 HighTec

國(guó)內(nèi)電子信息產(chǎn)業(yè)內(nèi)的廠商正在全球嵌入式系統(tǒng)的發(fā)展浪潮中扮演著越來(lái)越重要的角色,但隨之而來(lái)的是國(guó)內(nèi)嵌入式系統(tǒng)和相關(guān)芯片企業(yè)在出海時(shí)也面臨越來(lái)越多的合規(guī)要求,尤其是在保障用戶、設(shè)備和周邊人與物安全的功能安全領(lǐng)域內(nèi)的合規(guī)要求。...

關(guān)鍵字: 嵌入式系統(tǒng) 智能網(wǎng)聯(lián) 編譯器

【2025年4月11日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)推出用于AURIX?、TRAVEO?和PSOC?的可擴(kuò)展軟件包產(chǎn)品組合...

關(guān)鍵字: PSOC 物聯(lián)網(wǎng) 編譯器
關(guān)閉