大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是在MDK開發環境下自定義安裝與切換不同編譯器版本的方法。 Keil MDK 想必是嵌入式開發者最熟悉的工具之一了,自 2005 年 Arm 公司收購 Keil 公司之後,MDK 就走上了發展快車道,從 v2.50a 一路狂奔到現在最新的 ...
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是在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主頁、知乎主頁、微信公眾號 平臺上。
微信搜索"痞子衡嵌入式"或者掃描下麵二維碼,就可以在手機上第一時間看了哦。
最後歡迎關註痞子衡個人微信公眾號【痞子衡嵌入式】,一個專註嵌入式技術的公眾號,跟著痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職於某全球頂級半導體原廠MCU系統部門,擔任高級嵌入式系統應用工程師。
專欄內所有文章的轉載請註明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]
可以關註痞子衡的Github主頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關於專欄文章有任何疑問請直接在博客下麵留言,痞子衡會及時回覆免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。