目錄
- 實驗平臺
- 環境搭建
- 一、Keil MDK集成開發環境
- 1.MDK簡介
- 2.MDK5安裝
- 3.程序下載與調試
- 二、STM32CubeMX
- 1.STM32CubeMX簡介
- 2.JAVA JRE安裝
- 3.STM32CubeMX安裝
- 4.STM32CubeH7庫安裝
實驗平臺
硬件:銀杏科技GT7000雙核心開發板-ARM-STM32H743XIH6,銀杏科技iToolXE仿真器
軟件:最新版本STM32CubeH7固件庫,STM32CubeMX v6.10.0,開發板環境MDK v5.35
環境搭建
一、Keil MDK集成開發環境
??Keil MDK軟件為基于Cortex-M、Cortex-R4、ARM7、ARM9處理器設備提供了一個完整的開發環境。它專為微控制器應用而設計,不僅易學易用,而且功能強大,能夠滿足大多數苛刻的嵌入式應用。
??本實驗向大家介紹 Keil MDK 集成開發環境,利用 MDK5 軟件可以建立一個基于STM32H7xx 系列的 MDK5 工程,同時還將向大家介紹 MDK5 軟件的一些使用技巧,希望大家在本實驗之后,能夠對 MDK5 這個軟件有個比較全面的了解。
1.MDK簡介
??MDK 源自德國的 KEIL 公司,是 RealView MDK 的簡稱。在全球 MDK 被超過 10 萬的嵌入式開發工程師使用。目前最新版本為:MDK5.40,該版本使用 uVision5 IDE 集成開發環境,是目前針對 ARM 處理器,尤其是 Cortex M 內核處理器的最佳開發工具。
??MDK5 向后兼容 MDK4 和 MDK3 等,以前的項目同樣可以在 MDK5 上進行開發,MDK5同時加強了針對 Cortex-M 微控制器開發的支持,并且對傳統的開發模式和界面進行升級,MDK5 由兩個部分組成:MDK Core 和 Software Packs。其中, Software Packs 可以獨立于工具鏈進行新芯片支持和中間庫的升級。如下圖所示:
??從上圖可以看出,MDKCore又分成四個部分:uVision IDE with Editor(編輯器),ARM C/C++ Compiler(編譯器),Pack Installer(包安裝器),uVision Debugger with Trace(調試跟蹤器)。uVision IDE從MDK4.7版本開始就加入了代碼提示功能和語法動態檢測等實用功能,相對于以往的IDE改進很大。
??Software Packs又分為:Device(芯片支持),CMSIS(ARM Cortex微控制器軟件接口標準)和Middleware(中間庫)三個小部分,通過包安裝器,我們可以安裝最新的組件,從而支持新的器件、新的設備驅動庫以及最新例程等,加速產品開發進度。MDK5安裝包可以在:https://www.keil.com/download/product/下載到。
2.MDK5安裝
(1) 雙擊從官網下載的安裝包MDK536.exe進行安裝:
點擊Next,下一步:
勾選I agree…,然后Next,選擇安裝路徑,這里安裝到D盤:
填寫用戶信息,這里可以隨意填寫:
點擊Next,進入安裝界面:
點擊Finish,安裝完成:
(2) 安裝完成之后,需要安裝適配STM32H743XIH6的Pack包,MDK會自動彈出Pack Installer界面,后面我們手動下載Pack包,這里我們點擊窗口關閉按鈕即可:
點擊菜單欄File,然后點擊License Management選項:
輸入產品的授權ID并添加許可完成激活(具體激活方法與注冊機下載請自行百度):
(3) 要讓MDK5支持STM32H743的開發,還要安裝STM32H7的器件支持包:Keil.STM32H7xx_DFP2.8.0.pack和ARM CMSIS, 也可以到下面的網址去下載:http://www.keil.com/pack/
點擊打開Pack Installer:
點擊菜單欄File,然后點擊Import選項:
選中下載的文件,并點擊打開,耐心等待文件安裝:
3.程序下載與調試
??STM32H7的代碼下載以及調試。這里的調試包括了軟件仿真和硬件調試(在線調試)。
??CMSIS-DAP、JLINK、ULINK、STLINK等工具不僅可以下載代碼還可以實時跟蹤程序,從而找到你程序中的bug,使開發事半功倍,這里我們以CMSIS-DAP為例,講解如何下載程序。
??CMSIS-DAP支持JTAG和SWD,同時STM32也支持JTAG和SWD。所以,我們有2種方式可以用來調試,JTAG調試的時候,占用的IO線比較多,而SW調試的時候占用的IO線很少,只需要兩根即可。這里我們采用SWD調試。
??首先,用CMSIS-DAP進行下載與調試,大家要在硬件上,把CMSIS-DAP用USB線連接到電腦USB和板子的SWD接口上。CMSIS-DAP的驅動安裝比較簡單,安裝驅動可以在網上直接下載。在安裝了CMSIS-DAP的驅動之后,我們接上CMSIS-DAP,并把SWD口插到STM32開發板上,打開工程,點擊打開Options for Target選項卡,在Debug欄選擇仿真工具為CMSIS-DAP Debugger,如下圖所示。
上圖中我們還勾選了Run to main(),該選項選中后,只要點擊仿真就會直接運行到main函數。
然后我們點擊Settings,設置CMSIS-DAP的一些參數,如下圖所示:
我們使用CMSIS-DAP的SW模式調試,設置SWD的調試速度為10MHz或者5MHz,這里,如果你的USB數據線比較差,那么可能會出問題,此時,你可以通過降低這里的速率來試試。單擊確定,完成此部分設置,接下來我們還需要在Utilities選項卡里面設置下載時的目標編程器,如下圖所示:
上圖中,我們直接勾選Use Debug Driver,即和調試一樣,選擇CMSIS-DAP來給目標器件的FLASH編程,然后點擊Settings,這里MDK5會根據我們新建工程時選擇的目標器件,自動設置flash算法。我們使用的是STM32F407IGTx,FLASH容量為1M字節,所以Programming Algorithm里面默認會有1M型號的STM32F4xx FLASH算法。特別提醒:這里的1M flash算法,不僅僅針對1M容量的STM32F4,對于小于1M FLASH的型號,也是采用這個flash算法的。最后,選中Reset and Run選項,以實現在編程后自動運行,其他默認設置即可。設置完成之后,如下圖所示。
在設置完之后,點擊OK,然后再點擊OK,回到IDE界面,編譯一下工程。接下來我們就可以通過CMSIS-DAP下載代碼和調試代碼。配置好CMSIS-DAP之后,使用CMSIS-DAP下載代碼就非常簡單,只需要點擊LOAD按鈕就可以進行程序下載。下載完成之后程序就可以直接在開發板執行。如下圖所示。
注:實驗中采用的仿真器是銀杏科技研發的iTool XE仿真器,程序下載時,在Keil MDK的Debug欄選擇仿真工具為CMSIS-DAP Debugger(如使用其他仿真器請自行更改),如下圖所示。
二、STM32CubeMX
??STM32CubeMX是一個圖形化的軟件配置工具,使用圖形向導可以生成STM32初始化代碼工程。STM32CubeMX這個工具是ST目前重點打造的工具,目的就是為了方便開發者,節約時間,提高開發效率。
??利用STM32CubeMX軟件可以建立一個基于STM32H7系列的工程,同時還介紹STM32CubeMX軟件的一些使用技巧,希望在本實驗之后,能夠對STM32CubeMX這個軟件有個比較全面的了解。
1.STM32CubeMX簡介
??STM32CubeMX是ST意法半導體的一個圖形化的工具,也是配置和初始化C代碼生成器(STM32 configuration and initialization C code generation),也就是自動生成開發初期關于芯片相關的一些初始化代碼。
??從下圖可以看得出,它包含了STM32所有系列的芯片,包含示例和樣本(Examples and demos)、中間組件(Middleware Components)、硬件抽象層(Hardwaree abstraction layer)。
??TM32CubeMX的特性如下:1.直觀的選擇 STM32 微控制器。2.微控制器圖形化配置:自動處理引腳沖突,動態設置確定的時鐘樹,可以動態確定參數設置的外圍和中間件模式和初始化,功耗預測。3.C代碼工程生成器覆蓋了STM32 微控制器初始化編譯軟件,如IAR、KEIL、GCC。4.可獨立使用或作為 Eclipse 插件使用。
??STM32CubeMX集成了一個全面的軟件平臺,支持STM32每一個系列的MCU開發。這個平臺包括 STM32Cube HAL(一個 STM32 的抽象層集成軟件,確保STM32 系列最大的移植性)。再加上兼容的一套中間件(RTOS、USB、TCP/IP 和圖形),所有內嵌軟件組件附帶了全套例程。
STM32CubeMX安裝包可以在:https://www.st.com.cn/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html下載到。
2.JAVA JRE安裝
??由于STM32CubeMX軟件是基于JAVA環境運行的,所以需要安裝JRE才能使用。STM32CubeMX要求JRE最低版本是1.7.0_45,如果你電腦已安裝JRE版本大于1.7.0_45,則可以不用再下載安裝。JAVA JRE安裝包可以在:https://www.java.com/en/download/#xd_co_f=NmY4MDY2ZDAtZGI4Ni00ZWMyLTk1OTMtZTc3NDdlMmJiMTE2~下載到,如下圖所示。
雙擊下載的JAVA JRE文件進行安裝,得到如下對話框,點擊安裝,如下圖示。
進入安裝界面, 等待安裝完成,如下圖所示:
安裝完成,點擊“關閉”,如下圖示:
3.STM32CubeMX安裝
雙擊下載的STM32CubeMX文件進行安裝,點擊”Next”進入下一步,如下圖所示:
選擇”I accept the terms of this license agreement.”,點擊”Next”,如圖下圖所示:
選擇安裝路徑,點擊”Next”,如下圖所示。
提示創建安裝目錄,點擊“確定”,如下圖所示。
等待安裝進度完成,點擊“Next”,如下圖所示。
至此已經完成STM32CubeMX的安裝。
4.STM32CubeH7庫安裝
??STMCube?是意法半導體的獨創計劃,旨在通過減少開發工作量、時間和成本,讓開發人員的工作更輕松。STM32Cube是STMCube的實現,覆蓋了整個STM32產品組合。
??STM32CubeH7將開發STM32H7微控制器應用所需的所有通用嵌入式軟件組件聚集在一個軟件包中。根據STM32Cube計劃,這套組件具有高度可移植性,不僅適用于STM32H7系列包含的微控制器,還適用于其他STM32系列器件。
??STM32的相關庫文件可在https://www.st.com.cn/zh/embedded-software/stm32cubeh7.html下載到,如下圖所示。
下載好需要安裝的離線包,點擊下圖按鈕(Help -> Manage embedded software packages)或按快捷鍵”Alt+U”進入庫文件管理界面,如下圖所示。
選擇下載的離線包文件,點擊“打開”,進入解壓安裝過程,直到安裝完成,如下圖所示。
庫安裝完成,如下圖所示。
注:截圖中的版本號可能不是最新版本,下載最新版本即可。