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

来源:https://www.cnblogs.com/henjay724/p/18407449
-Advertisement-
Play Games

大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是在MDK開發環境下自定義安裝與切換不同編譯器版本的方法。 Keil MDK 想必是嵌入式開發者最熟悉的工具之一了,自 2005 年 Arm 公司收購 Keil 公司之後,MDK 就走上了發展快車道,從 v2.50a 一路狂奔到現在最新的 ...



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

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

  伴隨著 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 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元起步)再發。



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • docker安裝普羅米修斯+Granfan並監控容器 一、基本概念 ​ 1、之間的關係 ​ prometheus與grafana之間是相輔相成的關係。作為完美的分散式監控系統的Prometheus,就想布加迪威龍一樣示例和動力強勁。在猛的車也少不了儀錶盤來觀察。於是優雅的可視化平臺Grafana出現 ...
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是JLink命令行以及JFlash對於下載演算法的作用地址範圍認定。 最近痞子衡在給一個 RT1170 客戶定製一個 Infineon MirrorBit 類型 64MB Flash 的 SEGGER 下載演算法,做完之後在 JFlash 下 ...
  • 寫在前面 本隨筆是非常菜的菜雞寫的。如有問題請及時提出。 可以聯繫:[email protected] GitHhub:https://github.com/WindDevil (目前啥也沒有 編程題 第一題 擴展內核,能夠顯示操作系統切換任務的過程。 首先先回憶一下操作系統切換任務的過程. 因此只 ...
  • 【新品發佈】正點原子ZYNQ7015開發板發佈!ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2,性能強悍,資料豐富! 正點原子Z15 ZYNQ開發板,搭載Xilinx Zynq7000系列晶元,核心板主控晶元的型號是XC7Z015CLG485-2。開發板由核心板+底板組成,外設資源豐 ...
  • 編寫樹莓派內核映像的過程可以等同於gcc的編譯過程:預處理、編譯、彙編、鏈接,後面還會加一步:將可執行文件轉換成二進位的鏡像文件。 在MakeFile里的構建過程分為3步: 1.將.c文件經過預處理、編譯、彙編生成.o文件,將.S文件經過彙編生成.o文件。 2.將.o文件經過鏈接生成.elf可執行文 ...
  • 寫在前面 主要使用軟體: VMware Workstation Pro17 Navicat Premium17 Xshell7 Xftp7 1.在虛擬機安裝CentOS7 訪問阿裡雲鏡像站 ,選擇標記鏡像文件下載 打開虛擬機VMware,新建虛擬機 點擊“新CD/DVD”,“使用ISO映像文件”,設 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...