痞子衡嵌入式:在MDK開發環境下自定義安裝與切換不同編譯器版本的方法

痞子衡發表於2024-09-10

  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是在MDK開發環境下自定義安裝與切換不同編譯器版本的方法

  Keil MDK 想必是嵌入式開發者最熟悉的工具之一了,自 2005 年 Arm 公司收購 Keil 公司之後,MDK 就走上了發展快車道,從 v2.50a 一路狂奔到現在最新的 v5.40, 累計有 75 個版本。

  • MDK 歷史版本下載地址:https://www.keil.com/update/rvmdk.asp

  伴隨著 IDE 版本迭代,Arm 公司為其搭配的 C/C++ 編譯器也在不斷更新,光型別就有三種:RealView Compilation Tools (簡稱 RVCT)、Arm Compiler 5(即經典的 armcc)、Arm Compiler for Embedded(又稱 Arm Compiler 6 或 armclang),這三個編譯器均各自發展了很多版本。

  • MDK 也支援使用標準 Arm GCC 以及 LLVM for Arm(clang) 編譯器。

  痞子衡之前使用了很長一段時間的 MDK v5.31,這個版本的 IDE 預設同時帶了 Arm Compiler 5 和 Arm Compiler 6,使用者可以按需自由選擇編譯器版本。痞子衡在 MDK v5.31 下(選擇 Arm Compiler 5)設計了很多小工程,功能測試穩定。但是最近新安裝了 MDK v5.38 之後,發現這個版本 IDE 預設僅支援 Arm Compiler 6,而痞子衡之前的小工程在 Arm Compiler 6 下編譯出來功能出現了異常。

  要解決這個因為不同編譯器引起的相容問題,要麼在 Arm Compiler 6 下除錯程式碼找到問題,要麼乾脆切回到 Arm Compiler 5。今天痞子衡就來聊聊如何在 MDK 下安裝自選編譯器版本:

一、切換編譯器方法

  隨便開啟一個 MDK 工程,在工程選項 Target / ARM Compiler 裡能看到當前已安裝的所有編譯器版本,痞子衡當前的 MDK v5.38 裡僅有一個預設的 Arm Compiler 6 (具體版本是 6.19),這裡也同時顯示了 Arm Compiler 5 選項,但是狀態是 Missing,即不可用狀態。

  如果安裝了多個編譯器版本,只需要在這裡切換選項即可。

二、安裝自選編譯器版本

  現在我們嘗試給 MDK v5.38 安裝一個 Arm Compiler 5 版本的編譯器。首先需要在如下 Arm developer 網站下載一個合適的編譯器補丁包。

  • 所有Arm自家編譯器版本下載地址:https://developer.arm.com/documentation/ka005198/latest

  痞子衡選擇了最新的 Arm Compiler 5.06 update 7 (build 960) 版本(Arm 早在 2017 年便宣佈了將停止對 Arm Compiler 5 的維護,該版本應該是最後一個 AC5 版本),下載後得到 ARMCompiler_506_Windows_x86_b960.zip 包。

  解壓 ARMCompiler_506_Windows_x86_b960.zip 包後,雙擊 \Installer\setup.exe 進入安裝介面,將該編譯器版本自定義安裝到 MDK 路徑下(比如 \Keil_v5\ARM\ARM_Compiler_5.06u7),與原預設 \Keil_v5\ARM\ARMCLANG 並列。

  編譯器補丁安裝完成後,開啟 MDK,進入選單欄 Project / Manage / Project Items 配置,切換到 Folders/Extensions 選項卡,按如下操作將 Arm Compiler 5.06u7 加入到編譯器列表(單擊 Add another ARM Compiler Version to List 時選擇 \Keil_v5\ARM\ARM_Compiler_5.06u7 路徑識別)。

  操作完成後,重新開啟 MDK,這時候就能在工程選項編譯器選擇裡看到新安裝的 Arm Compiler 5.06u7 啦。當然你想安裝多個 AC5 或者 AC6 版本也是可以的,方法一樣。

  至此,在MDK開發環境下自定義安裝與切換不同編譯器版本的方法痞子衡便介紹完畢了,掌聲在哪裡~~~

歡迎訂閱

文章會同時釋出到我的 部落格園主頁CSDN主頁知乎主頁微信公眾號 平臺上。

微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

相關文章