0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣去解決Keil編譯的速度越來越慢的問題呢

冬至配餃子 ? 來源:小麥大叔 ? 作者:小麥大叔 ? 2022-08-15 11:20 ? 次閱讀

最近我在進(jìn)行一個項目的開發(fā),用的IDE是Keil mdk,由于代碼量逐漸增加,發(fā)現(xiàn)編譯的速度越來越慢。

構(gòu)建項目

這個項目基于STM32F407,在此基礎(chǔ)上還添加了FreeRTOS和LWIP TCP/IP 協(xié)議棧,所以整體的代碼量就被協(xié)議棧和RTOS弄得很大,每次構(gòu)建項目或者重新構(gòu)建項目的時候,都要花很長的時間,如下圖所示;

pYYBAGL5up6ACXu3AACHEAkEdas828.png

可以看到,在這里我用了3分鐘。這個時間太長了,會大大影響我的開發(fā)效率,所以后面嘗試了幾個方法,提高構(gòu)建的速度。

解決方案

首先我找到一個解決辦法就是在構(gòu)建過程中防止生成 Browse Information 文件。

pYYBAGL5uq-AXLF5AACodZZC9NI351.png

配置

想要在項目配置中將這個選項勾選去掉即可,最終實踐發(fā)現(xiàn),項目構(gòu)建時間縮短到 24秒 ,整體還可以接受。

pYYBAGL5usGAB-4NAACXN8JTRt0159.png

優(yōu)化后的時間

主要原因其實是構(gòu)建的時候,避免生成 .CRF 文件,生成這個文件的主要作用就是我們在進(jìn)行代碼編輯的時候,宏定義,函數(shù)原型,函數(shù)聲明可以進(jìn)行跳轉(zhuǎn)。

pYYBAGL5utCAbiaPAAEG1ZmWWzU106.png

CRF

官方文檔中的解釋:Cross-Reference file containing browse information (definitions, references for identifiers).

如果選擇不生成這個文件,代價就是犧牲了我們寫代碼的效率

因為我們寫代碼的時候,會頻繁地進(jìn)行函數(shù)原型和函數(shù)聲明直接的跳轉(zhuǎn),有時候要跳轉(zhuǎn)到宏定義,如果無法進(jìn)行跳轉(zhuǎn),使用Keil MDK只能使用全文搜索來替代,因此一定程度上會降低效率。

pYYBAGL5uuOAXkgtAACCE8WlPgo114.png

進(jìn)行跳轉(zhuǎn)

當(dāng)我們嘗試跳轉(zhuǎn)到函數(shù)聲明時,最終提示如下:

poYBAGL5uvOAEPjVAAAvGI1HDyo691.png

錯誤提示

這時候,我喜歡配合其他編輯器,比如source insight,vs code,代碼編輯的工作放在其他體驗更好的軟件中進(jìn)行,然后代碼的構(gòu)建和調(diào)試又重新回到keil mdk,發(fā)揮各自的優(yōu)勢。

之前寫過一篇使用EIDE的插件,在vs code中導(dǎo)入keil mdk的項目進(jìn)行開發(fā),在vs code中調(diào)用arm cc進(jìn)行項目的構(gòu)建。

poYBAGL5uweAISNDAADQXrG_zq4409.png

EIDE在VSCODE中的構(gòu)建時間

整體的構(gòu)建時間為 30秒 ,可以接受,然后還能充分發(fā)揮vs code在代碼編輯上的優(yōu)勢,感興趣的可以試一下。

總結(jié)

今天的介紹的挺簡單,主要是在keil mdk下開發(fā),構(gòu)建項目時會產(chǎn)生.CRF文件,從而使構(gòu)建速度大大降低,從而影響開發(fā)效率。

具體的解決辦法是避免生成.CRF文件,但是會影響整體函數(shù)原型和聲明以及宏定義的跳轉(zhuǎn),可以通過全文搜索,或者借助其他編輯器作為輔助手段來解決。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9164

    瀏覽量

    368857
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    819

    瀏覽量

    119854
  • LwIP協(xié)議棧
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    7409
  • STM32F407
    +關(guān)注

    關(guān)注

    15

    文章

    188

    瀏覽量

    29618
收藏 人收藏

    評論

    相關(guān)推薦

    手機(jī)充電速度為什么越來越慢?

    `見鬼了,手機(jī)充電越來越慢,以前本來2個多小時能充滿手機(jī)電量,現(xiàn)在過去5個小時了才80%。然道是手機(jī)壞了,其實這有可能是其他原因?qū)е碌??! ?.充電線/插頭沒選對  在收納充電線時,我們習(xí)慣將它團(tuán)
    發(fā)表于 11-27 22:43

    matlab串口接收數(shù)據(jù)實時畫圖延遲為什么越來越大?

    非常好,但是慢慢的曲線的延遲越來越大,以至于后面速度越來越慢,我在想這個跟我的這些矩陣有關(guān)系嘛?需要釋放內(nèi)存啥的嗎?有遇到過這種問題的網(wǎng)友沒?
    發(fā)表于 03-18 21:20

    怎樣解決keil編譯發(fā)生錯誤的問題

    為什么keil編譯會發(fā)生錯誤?怎樣解決keil編譯
    發(fā)表于 02-14 06:11

    Ubuntu固件的編譯怎樣使用

    怎樣編譯Ubuntu固件?Ubuntu固件的編譯怎樣
    發(fā)表于 02-15 06:18

    MDK是什么?怎樣安裝MDK軟件

    MDK是什么?怎樣安裝MDK軟件?如何對Keil環(huán)境進(jìn)行編譯并配置
    發(fā)表于 03-01 07:02

    怎樣解決用Keil編譯STM32F207進(jìn)入Debug模式直接閃退的問題

    使用Keil編譯STM32F207進(jìn)入Debug模式直接閃退是什么原因?怎樣解決用Keil
    發(fā)表于 03-01 07:50

    怎樣編譯Linux內(nèi)核

    怎樣編譯Linux內(nèi)核?有哪些編譯步驟?
    發(fā)表于 03-03 13:04

    用CH554時,個別鼠標(biāo)在電腦上滑動會越來越慢是為什么?

    你好,在用CH554時,個別鼠標(biāo)在電腦上滑動會越來越慢,比如以同樣的幅度和速度讓鼠標(biāo)在電腦屏幕上轉(zhuǎn)圈時,屏幕上的圈會越來越小,速度也感覺在變慢。目前發(fā)現(xiàn)用浪派和雷蛇鼠標(biāo)會這樣,但用其它
    發(fā)表于 10-11 08:02

    S32G RTC時鐘越來越慢的原因是什么?

    你好 在我設(shè)置系統(tǒng)時鐘并將其同步到 RTC 時鐘后,我發(fā)現(xiàn)RTC時鐘會越來越慢。你能告訴我原因嗎?硬件好像是rtc-pcf85063。環(huán)境。中央處理器:S32G274A英國央行:33.0Yocto
    發(fā)表于 04-10 08:57

    請問rt-thread中有用flashdb保存參數(shù)的嗎?為什么kv越多越慢

    flashdb來保存參數(shù)和日志。 但是實際使用中發(fā)現(xiàn)flashdb隨著參數(shù)寫入的增多,寫入速度越來越慢,讀取速度越來越慢。 不知道大家遇到過沒有,如何解決這個問題
    發(fā)表于 09-03 10:40

    如何使越來越慢的筆記本更快

    如何使越來越慢的筆記本更快 問題:你好,我的筆記本是Acer的353te(p800 128m內(nèi)存)。購買時間已經(jīng)三年了 ,現(xiàn)在感覺使用這臺筆記本
    發(fā)表于 01-25 10:50 ?1579次閱讀

    智能電視為什么開機(jī)變得越來越慢

    智能電視用久了開機(jī)總會變得越來越慢,這時我們應(yīng)該怎么辦?別急,教你幾招,輕松搞定開機(jī)慢的問題。
    發(fā)表于 08-01 10:15 ?5482次閱讀

    電腦越來越慢 你知道原因嗎?

    你的電腦是不是越來越慢了,你知道原因嗎?那你有經(jīng)常清理你電腦上的灰塵嗎?你知道電腦灰塵多了,會影響你電腦運行速度嗎?如果給你的電腦主機(jī)機(jī)箱清掃灰塵一定要注意,如果灰塵較多,可以把主板等零件卸下,逐一
    的頭像 發(fā)表于 06-19 09:56 ?2445次閱讀

    為什么4G網(wǎng)絡(luò)越來越慢

    在5G網(wǎng)絡(luò)還沒全面開展的時候,4G網(wǎng)絡(luò)仍然是我們的主要網(wǎng)絡(luò)頻段。但最近不少用戶反應(yīng)4G網(wǎng)絡(luò)越來越慢,為啥會有這樣的現(xiàn)象出現(xiàn)?以下三大原因用戶看完:原來是這三大原因,瞬間明白了!
    發(fā)表于 05-10 13:58 ?1.3w次閱讀

    影響SaberRD仿真速度的因素有哪些

    目前,專業(yè)仿真軟件的功能不斷增加,仿真領(lǐng)域不斷擴(kuò)大,處理的對象越來越復(fù)雜,這一切都使得軟件自身顯得越來越龐大,而硬件的更新速度也往往慢于軟件更新的速度,這就造成了我們的仿真工作感覺
    的頭像 發(fā)表于 12-06 11:30 ?727次閱讀