痞子衡嵌入式:在MDK開發環境下自定義安裝與切換不同編譯器版本的方法
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是在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主頁、知乎主頁、微信公眾號 平臺上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

最后歡迎關注痞子衡個人微信公眾號【痞子衡嵌入式】,一個專注嵌入式技術的公眾號,跟著痞子衡一起玩轉嵌入式。
衡杰(痞子衡),目前就職于恩智浦(NXP)半導體MCU系統應用部門,擔任高級嵌入式系統應用工程師。
專欄內所有文章的轉載請注明出處:http://www.rzrgm.cn/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 hengjie1989@foxmail.com
可以關注痞子衡的Github主頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關于專欄文章有任何疑問請直接在博客下面留言,痞子衡會及時回復免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。
浙公網安備 33010602011771號