1. 程式人生 > >STM32開發環境--使用MDK建立一個工程

STM32開發環境--使用MDK建立一個工程

roc 並保存 用戶 all jlink 復制 一個 tty get

開發環境的搭建:

MDK下載

首先應該下載到MDK官網:http://www.keil.com/arm/mdk.asp 下載最新版的MDK安裝包,進入MDK官網,點擊download按鈕
技術分享

跳轉到下載界面,填入必要的信息:
技術分享

然後在頁面下方點擊提交按鈕:
技術分享

如果填寫的信息,符合要求,在本頁面將會顯示下載連接:
技術分享

點擊下載MDK(可以看到香農這裏的MDK版本是MDK520,大概有567M的樣子)

MDK安裝

下載完成之後點擊安裝:
技術分享
技術分享
選擇安裝目錄,根據自己的需求定義,
技術分享
隨便填一些用戶信息…
技術分享
安裝程序從當前開始安裝,等待安裝完成.
技術分享
如果提示安裝驅動,如果需要使用到ULink進行程序的燒錄調試,則選擇是,如果不需要選擇否就可以了。
技術分享


MDK安裝完成界面如下所示,點擊finnish:
技術分享
彈出如下界面,取消選擇show the dialog at startup,點擊OK
技術分享
此時在界面左方的樹形列表中,ALL Devices列表下,只有一個ARM選項,等待程序刷新獲取所有的設備列表:
技術分享
展開設備STMicroelectronics選項,將會看到所有類型的STM32系列設備,根據需要選擇對應系列的設備,筆者這裏選擇F103系列,然後可以在右邊的packs下看到對應的驅動包,點擊Install下載安裝當前還未下載安裝的驅動包,直到所有的選項驅動包安裝完成,右邊所有按鈕變成灰色,關閉界面,此時在桌面上可以看到Keil MDK的快捷方式。
技術分享

MDK破解

接下來我們就是要進行軟件的破解了,在網上下載一個破解軟件KEIL_Lic(網上有很多),以管理員身份打開我們剛剛裝好的MDK軟件,File–>License Management
技術分享

復制右邊CID編輯框中的字符串,然後打開下載好的KeiL_Lic
技術分享
將剛剛復制的CID字符串粘貼到Keil_Lic的CID編輯框中,Target選擇ARM,點擊Generate按鈕會在編輯框中生成註冊碼,我們將該註冊碼復制,並粘貼到License Management中的New License ID Code(LIC)中點擊Add LIC,在下方的編輯框中提示添加成功,表示軟件破解成功。
技術分享

技術分享

關閉Keil_Lic和License Management,此時我們已經完成了開發環境的搭建以及破解,

如何建立STM32工程

新建工程

現在我們開始建立STM32工程,點擊打開我們剛剛安裝的Keil MDK軟件,點擊菜單欄Project選擇New uVision Project
技術分享
彈出對話框,選擇存放工程的目錄,並且在輸入框內要建的工程名(指定工程名,不帶後綴),這裏我我輸入Test,點擊保存按鈕將會彈出設備選擇界面。
技術分享

選擇主控

在此界面選擇要使用的STM32主控型號,筆者用的是STM32F103C8T6,就在STMiroelectronics中選擇STM32F1 Series ,接著選擇STM32F103,展開就可以看到我使用的STM32F103C8T6,點擊選擇,會在界面較靠上位置的Device:顯示到我們選擇的設備型號,筆者附上的圖片可以清晰的看到STM32F103C8字樣,點擊OK按鈕,確認選擇。
技術分享

加載外設驅動

確認好要使用的設備後,會彈出Manage Run-Time Environment界面,這裏需要配置我們使用STM32程序開發,需要用到的一些STM32外設功能,首先勾選幾個最基本的選項,展開分支CMSIS勾選CORE和分支Device勾選Startup和GPIO,然後展開分支StdPeriph Driver在該分支下選擇需要使用到的STM32外設,這裏筆者以最常使用到的外設GPIO和USART為例子。
技術分享

當我們選擇了GPIO和USART後,在左下角的Validation Output會出現黃色的感嘆號,提示是需要一些加載RCC驅動和Framework我們在列表中勾選上就好了,如果還有感嘆號,直接雙擊列表上對應的第三級選項,可以在上方驅動列表中直接找到所需的設備驅動,勾選上就好,選擇完成之後,點擊OK,便會在指定目錄下創建工程了。
技術分享

新建文件

我們可以在Project欄中看到我們創建好的工程目錄,要編寫STM32代碼,我們需要新建一個文件,可以直接點擊菜單欄File 選擇New 或者 點擊菜單欄File下類似白紙的圖標(應該是File下第一個圖標)或者直接按下快捷鍵CTRL + N便可以新建一個空白文檔,默認該文檔是在我們的編程區打開的。
技術分享
我們新建完文件之後需要將文件保存到本地文件中,我們點擊菜單欄File 選擇Save as或者 點擊菜單欄File下保存圖標(應該是File下第三個圖標)或者直接按下快捷鍵CTRL + S
技術分享
接下來,我們需要選擇保存文件路徑,這裏直接選擇工程目錄即可(如果不存放在工程目錄下,需要在Options for Target 面板上選擇C/C++選項卡,在Include Paths中將選擇好的目錄添加進去),接下來我們需要修改文件名,這裏我更改為main.c(一定要帶後綴)點擊保存按鈕,那麽在我們工程目錄下便會生成main.c文件。
技術分享

測試代碼

雖然我們雖然新建並保存了可編寫代碼的文件,但是我們的工程目錄下並沒有這個文件,所以最後一步,我們需要將剛剛新建的文件添加到工程中去。右鍵Source Group1選擇Add Existing Files to Group “Source Group1”,在工程目錄下選擇我們剛剛新建的main.c文件。
技術分享
然後在雙擊main.c文件在其中添加測試代碼:

#include "stm32f10x.h"
int main(void){
    return 0;
}

編寫完成後,點擊編譯可以看到Build Output可以看到0 Error,0 Warning表示編譯成功

技術分享

程序燒錄:

STM32燒錄程序目前筆者知道的有三種:JLink ,Ulink和串口燒錄,使用工具分別為:JLink,ULink以及USB轉TTL線。

在安裝MDK過程中,會有提示是否安裝驅動,該驅動就為ULink驅動,如果選擇是就不需要再安裝驅動了,否則就需要自己手動下載驅動並安裝,驅動安裝完畢之後我們需要告訴我們的MDK我們使用的是什麽燒錄工具,右鍵Target目錄選擇Options for Target…..,在彈出的Options for target 選項卡中選擇Debug選項,在其右上方的下拉框中選擇ULink/ME Cortex Debugger 即是選擇了ULink進行程序燒錄。
這裏需要註意的是ULink接上電腦之後不一定能被安裝的MDK正確識別,我們點擊下拉框右邊的Setting按鈕將會彈出Cortex-M Target Driver Setup界面,在該界面下,如果在JTAG Device Chain區域顯示No ULink Device Found 或者就是一片空白都表示我們的MDK沒有識別到你已經接到電腦上的ULink,此時就需要你查找一下ULink端的原因了。

JLink驅動並沒有集成在MDK安裝程序中所以一定需要我們手動下載Jlink驅動並安裝,驅動安裝完畢之後我們需要告訴我們的MDK我們使用的是什麽燒錄工具,右鍵Target目錄選擇Options for Target…..,在彈出的Options for target 選項卡中選擇Debug選項,在其右上方的下拉框中選擇JLink/J-TRACE Cortex 即是選擇了JLink進行程序燒錄。
同樣的,需要註意的是JLink接上電腦之後不一定能被安裝的MDK正確識別,我們點擊下拉框右邊的Setting按鈕將會彈出Cortex JLink/JTrace Target Driver Setup界面,在該界面下,如果在JTAG Device Chain區域顯示Cannot redad JLink version number 或者就是一片空白都表示我們的MDK沒有識別到你已經接到電腦上的JLink,如果右邊J-Link / J-Trace Adaper下方的ort下拉框可選,選擇成為另外一個試試(原本JTAG選為SWD,原本SWD選為JTAG),如果可以識別就代表可以進行程序燒錄了。

串口燒錄程序

我們使用串口燒錄程序,使用USB轉TTL線,USB轉TTL驅動根據我們內部的轉換芯片安裝相應的驅動,常見的有一下幾種:CH340,PL2303,FTDI,CP210x等,驅動完成之後,右鍵Target目錄選擇Options for Target…..,在彈出的Options for target 選項卡中選擇Output選項,勾選上Create Hex File復選框,這樣我們在編譯代碼時,便會在工程目錄下生成Hex文件,我們串口燒錄程序其實就是使用外部工具將該Hex文件中的內容,燒錄到STM32 FLASH中去。需要使用到的燒錄軟件可以使用JLink 官方提供的串口燒錄軟件,也可以使用 mcuisp USB一鍵下載工具也叫作FlyMcu進行燒錄。
使用FlyMCU時,首先需要指定軟件使用的串口號和波特率,在進行程序燒錄之前必須設置我們STM32的燒錄模式,需要將STM32 BOOT0設置為高電平,BOOT1設置為低電平,然後復位STM32,在FlyMcu中首先選擇好要下載的HEX文件(編譯生成的HEX文件在工程目錄下生成),然後選擇STMISP選項卡,點擊開始編程按鈕,便可以進行程序燒錄了。

STM32開發環境--使用MDK建立一個工程