第 2 節

ARM Keil MDK(ARM單片機環境搭建)

0瀏覽次數0訪問次數--跳出率--平均停留

介紹以及環境推薦

  1. Keil MDK是ARM公司旗下官方軟件。最主流的單片機開發環境IDE,沒有之一。
  2. 推薦版本:
    1. 新手:無腦 ARM Keil MDK 5 + CubeMX(新手前期只准先安裝ARM Keil MDK 5,不準用CubeMX)
    2. 老鳥:無腦 VScode + CMake + CubeMX

Arm Keil MDK 5 + CubeMX【推薦小鳥(新手)】

簡介

  1. 最主流的開發環境(即便有很多致命缺點),沒有之一。新手無腦用,新手必須用這個方案開發STM32。
  2. 缺點很明顯:上古的界面,上古的代碼補齊,僅支持Windows,且只有X86的32位版本。

Windows

https://www.bilibili.com/video/BV18T411r7Yu

所需文件獲取方式:

  1. 社團的U盤(直接拷貝)
  2. 官網:
    1. MDK5官網:https://www.keil.com/demo/eval/arm.htm
    2. MDK5的FW固件下載鏈接:https://www.keil.arm.com/devices/
    3. ARM編譯器下載鏈接:
      1. ARMCC(AC5)必下:https://developer.arm.com/downloads/view/ACOMP5?revision=r5p6-07rel1
      2. ARMCLANG(AC6)一般MDK5最新版都自帶,不用下https://developer.arm.com/downloads/view/ACOMPE
      3. AC5與AC6對比(一般不用看):https://developer.arm.com/Tools and Software/Arm Compiler for Embedded FuSa#Editions

    4. Keil MDK 5 破解註冊機(請關閉殺毒軟件再下載): keygen.iso or https://www.duote.com/soft/907739.html
    5. Java_JRE下載(一般下載Windows Offline (64-bit),需要安裝JRE才可以打開CubeMX):https://www.java.com/en/download/manual.jsp
    6. CubeMX官網:https://www.st.com.cn/zh/development-tools/stm32cubemx.html
    7. 正點原子配套資料1(A盤資料F1):http://www.openedv.com/docs/boards/stm32/zdyz\_stm32f103\_warshipV4.html
    8. 正點原子配套資料2(A盤資料F4):http://www.openedv.com/docs/boards/stm32/zdyz\_stm32f407\_explorerV3.html

Arm Keil MDK 5 + VScode(Keil Assistant)【不推薦】

簡介

  1. 該方式是折中方案,介於MDK5和MDK6之間的方案,可以規避掉一部分MDK5的缺點。(但是由於C/C++插件過於垃圾,所以不太推薦使用)

Windows

配置教程:

快速配置的視頻:

https://www.bilibili.com/video/BV18e4y1H7xX

如果遇到一些問題,請看下方這個視頻:

https://www.bilibili.com/video/BV19V411g7gD/

  1. 請安裝好MDK5,CubeMX,VScode等軟件
  2. 安裝VScode插件

  1. 配置Keil Assistant
    1. 點擊擴展設置

    1. 找到MDK5的路徑

    1. 複製一下路徑

    1. 填入剛才複製的路徑

  1. 用VScode打開MDK5工程
    1. 打開工程



  2. 然後就可以用VScode編輯源碼了

注意事項(必看):
須知
  1. 該方式僅僅為折中方案,比單用MDK5好用一點,但遠沒有MDK6好用。
  2. VScode只負責代碼編輯(建議別用Keil Assistant的編譯等功能)。
  3. MDK5負責編譯,下載,debug,添加源文件,頭文件等其他一切操作。
  4. 優點:解決了AC6編譯器的go to definition失效的問題(AC6全是優點,這是唯一缺點);解決了MDK5上古界面的不護眼;解決了MDK5代碼提示拉跨;可以使用各種VScode的插件提高編輯效率。
  5. 缺點:需要同時開著VScode和MDK5,各司其職,不統一。C/C++插件的代碼提示雖比mdk5好,但也是過於拉胯。(遠不如MDK6+Clangd)
文字🦟編碼有問題
  1. 問題如下:

  1. 手動改編碼(點右下角的UTF-8,推薦用下方的插件解決,比手改便捷):

  1. 插件(VScode的特點就是插件多,不用插件的vscode失去了靈魂)

該插件會自動提示你當前的編碼有問題,自動猜測正確編碼,點擊yes就可以自動修改。

誤報錯

不用管,只要MDK5編譯不報錯就行。

無法go to definition

(如果有問題才需要做,沒問題就不要管)

在下面框中加上:(加完後可能還會誤報錯,但是已經可以正常go to definition了)

..\**

或者 將Include Path這一欄裡的絕對路徑全改為相對路徑(下方只列舉一部分):

..\applications\Inc
..\bsp\boards\Inc

Arm Keil MDK 6 (基於VScode)【暫不推薦】

簡介

  1. 優點:改善了MDK5的基本所有已知缺點,簡直是開發者福音。
  2. 缺點:學習成本較高,沒有一定的電腦常識駕馭不了。
  3. 目前暫時還不是很推薦單獨使用,因為即便你會用,隊友也不一定會用,這樣工程無法互通。但如果你有能力,就是想用MDK6,那用也無妨,自己用著順手為主。
  4. 但是非常推薦配合使用,MDK6配合MDK5一起使用。使用MDK5添加源文件,添加頭文件等操作(不要忘記添加完源文件和頭文件後,用mdk5編譯一下);使用MDK6轉化剛才的mdk5工程,進行源碼編輯,編譯,debug等等操作。(這樣無論是用mdk5還是mdk6的隊友,都可以打開你的工程直接食用啦)(看不懂這段話問學長)

Windows && Linux

ARM Keil MDK6使用教程

告別Keil MDK : VScode+CMake環境部署【非常推薦老鳥】

(開發起來目前感覺還是挺舒服的,日後電控組組長如果覺得好用,可以統一一下IDE)

主要現在有三個使用比較廣的編譯器.

armclang(AC6):編譯巨快,開銷巨小.(不論是編譯,還是開銷都非常優秀)

armcc(AC5):編譯巨慢,開銷很小.(僅僅只是開銷小)

armgcc:編譯較快,開銷略大.(僅僅只是編譯快)

所以說armgcc並沒有那麼大的優勢,但是也可以接受。

主要是ARMCC和ARMCLANG是商用編譯器,而ARMGCC是開源編譯器,所以可以搭配CMake,Makefile等使用,可以更好管理項目,也可以支持全平臺(Windows,Linux,MacOS等)

詳細教程STM32+CMake工程部署

音乐页