大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是在MDK開發(fā)環(huán)境下自定義安裝與切換不同編譯器版本的方法。
Keil MDK 想必是嵌入式開發(fā)者最熟悉的工具之一了,自 2005 年 Arm 公司收購 Keil 公司之后,MDK 就走上了發(fā)展快車道,從 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),這三個編譯器均各自發(fā)展了很多版本。
- MDK 也支持使用標準 Arm GCC 以及 LLVM for Arm(clang) 編譯器。
痞子衡之前使用了很長一段時間的 MDK v5.31,這個版本的 IDE 默認同時帶了 Arm Compiler 5 和 Arm Compiler 6,用戶可以按需自由選擇編譯器版本。痞子衡在 MDK v5.31 下(選擇 Arm Compiler 5)設計了很多小工程,功能測試穩(wěn)定。但是最近新安裝了 MDK v5.38 之后,發(fā)現這個版本 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 選項,但是狀態(tài)是 Missing,即不可用狀態(tài)。
如果安裝了多個編譯器版本,只需要在這里切換選項即可。
二、安裝自選編譯器版本
現在我們嘗試給 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 包后,雙擊 Installersetup.exe 進入安裝界面,將該編譯器版本自定義安裝到 MDK 路徑下(比如 Keil_v5ARMARM_Compiler_5.06u7),與原默認 Keil_v5ARMARMCLANG 并列。
編譯器補丁安裝完成后,打開 MDK,進入菜單欄 Project / Manage / Project Items 配置,切換到 Folders/Extensions 選項卡,按如下操作將 Arm Compiler 5.06u7 加入到編譯器列表(單擊 Add another ARM Compiler Version to List 時選擇 Keil_v5ARMARM_Compiler_5.06u7 路徑識別)。
操作完成后,重新打開 MDK,這時候就能在工程選項編譯器選擇里看到新安裝的 Arm Compiler 5.06u7 啦。當然你想安裝多個 AC5 或者 AC6 版本也是可以的,方法一樣。
至此,在MDK開發(fā)環(huán)境下自定義安裝與切換不同編譯器版本的方法痞子衡便介紹完畢了,掌聲在哪里~~~