點擊上方“小麥大叔”,選擇“置頂/星標公眾號”
福利干貨,第一時間送達
大家好,我是小麥,最近我在進行一個專案的開發,用的IDE是Keil mdk,由于代碼量逐漸增加,發現編譯的速度越來越慢,
構建專案
這個專案基于STM32F407,在此基礎上還添加了FreeRTOS和LWIP TCP/IP 協議堆疊,所以整體的代碼量就被協議堆疊和RTOS弄得很大,每次構建專案或者重新構建專案的時候,都要花很長的時間,如下圖所示;
可以看到,在這里我用了3分鐘,這個時間太長了,會大大影響我的開發效率,所以后面嘗試了幾個方法,提高構建的速度,
解決方案
首先我找到一個解決辦法就是在構建程序中防止生成 Browse Information 檔案,
想要在專案配置中將這個選項勾選去掉即可,最終實踐發現,專案構建時間縮短到 24秒 ,整體還可以接受,
主要原因其實是構建的時候,避免生成 .CRF 檔案,生成這個檔案的主要作用就是我們在進行代碼編輯的時候,宏定義,函式原型,函式宣告可以進行跳轉,
官方檔案中的解釋:
Cross-Reference file containing browse information (definitions, references for identifiers).
如果選擇不生成這個檔案,代價就是犧牲了我們寫代碼的效率,
因為我們寫代碼的時候,會頻繁地進行函式原型和函式宣告直接的跳轉,有時候要跳轉到宏定義,如果無法進行跳轉,使用Keil MDK只能使用全文搜索來替代,因此一定程度上會降低效率,
當我們嘗試跳轉到函式宣告時,最終提示如下:
這時候,我喜歡配合其他編輯器,比如source insight,vs code,代碼編輯的作業放在其他體驗更好的軟體中進行,然后代碼的構建和除錯又重新回到keil mdk,發揮各自的優勢,
之前寫過一篇使用EIDE的插件,在vs code中匯入keil mdk的專案進行開發,在vs code中呼叫arm cc進行專案的構建,
整體的構建時間為 30秒 ,可以接受,然后還能充分發揮vs code在代碼編輯上的優勢,感興趣的可以試一下,
總結
今天的介紹的挺簡單,主要是在keil mdk下開發,構建專案時會產生.CRF檔案,從而使構建速度大大降低,從而影響開發效率,
具體的解決辦法是避免生成.CRF檔案,但是會影響整體函式原型和宣告以及宏定義的跳轉,可以通過全文搜索,或者借助其他編輯器作為輔助手段來解決,
—— The End ——
推薦好文 點擊藍色字體即可跳轉
? 值得學習的單片機選單框架(附原始碼)
? 推薦一個直接用于專案開發的PID庫!很好用,很穩定
? 這14種嵌入式實時系統,你用過哪些?
? 推薦一款我私藏已久的串口示波神器
歡迎轉發、留言、點贊、分享給你的朋友,感謝您的支持!
點擊上方名片關注公眾號
分享 💬 點贊 👍 在看 ??
以“三連”行動支持優質內容!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/304368.html
標籤:其他
下一篇:WiFi 的認證方法
