天天看點

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

前言:

開發過單片機的同學都對keil不陌生,我們知道keil內建了代碼編輯,編譯,和調試的功能,極大的友善了我們的開發。但是keil萬年不變的代碼編輯器對于閱讀源代碼來說是極其不友好,還有那個已經停止維護的Arm Compiler 5不僅編譯慢,還存在隐藏的BUG,都讓人難以忍受。

還對Arm Compiler 5和Arm Compiler 6比較陌生的同學,建議首先百度了解一下。

最新版本的MDK雖然隻支援到了6.14,但是Arm已經釋出了最新版本 6.15,并且在老版本的MDK版本上也可以安裝最新版本,安裝方法參考傻孩子大佬的文章:老MDK也可以使用新編譯器

接下來的内容我們來把VScode編輯代碼的優點和Arm Compiler 6編譯代碼的優點結合到一起,來解決使用MDK開發touchgfx項目編譯慢,閱讀代碼不友好的缺點。

準備工作:

軟體: MDK V5.29以上, Visual Studio Code;TouchGFXDesigner v4.15 ,STM32CubeMX V6.0.1

聯系作者:

加我微信,備注“加群”,加入技術交流群

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

一、使用ARM Compiler 6.15編譯TouchGFX工程

1. 替換freertos的port.c和portmacro.h檔案

由于STM32CubeMX自動生成的freertos工程預設的是使用ARM Compiler 5編譯,是以需要替換可以使用ARM Compiler 6編譯的接口。可以在STM32CubeMX軟體包的安裝目錄中按照自己單片機型号找到對應的檔案,然後替換掉cubemx自動生成的port.c和portmacro.h。

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

由于cubemx每次生成的代碼都會自動覆寫,所有如果想永久使用armclang編譯器,可以直接把下邊目錄的檔案替換掉。

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

2.替換touchgfx_core庫檔案

進入到touchgfx的庫目錄,可以發現有Keil和Keil6.x兩個檔案夾,其中Keil6.x檔案夾下對應的庫便是給AC6用的。可以手動在mdk中把touchgfx_core更換為Keil6.x檔案夾下的touchgfx_core庫。

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

3.在MDK中設定編譯規則

去掉Short enums/Wchar選項

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

去掉Micro LIB選項

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

4. 最後編譯,ac6編譯速度會比ac5有明顯提升

二、使用VScode的keil插件編輯TouchGFX工程

1. 打開VSCODE安裝keil插件

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

設定keil的編譯器路徑

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

2. 打開剛才的touchgfx工程

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

3.集編輯與編譯一體的工具大功告成

擴充閱讀:[小技巧]使用靜态庫提高TouchGFX的編譯速度

關注公衆号,後續有精彩内容會第一時間發送給您!

[小技巧]使用vscode和armclang編譯器改善keil開發效率前言:準備工作:聯系作者:

繼續閱讀