版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
西安文理學院自動化教研室
KeilMDK使用入門本章主要內容7.1MDK-ARM簡介7.2KEIL5的安裝7.3創(chuàng)建庫函數(shù)工程模板7.4KEIL5的使用技巧
7.1MDK-ARM簡介MDK-ARM是比較官方的名字,其實在生活中還有很多工程師習慣用別的名字叫它KeilMDK、RVMDK、ARMMDK等。為何MDK-ARM會有這么多的名字呢?那就要了解一下它的前世今生:2005年10月,ARM公司收購了Keil公司,2006年1月,ARM推出集成KeilμVision3的RealViewMDK開發(fā)環(huán)境,當時叫DK-ARM(大家更喜歡叫KeilforARM),后來經(jīng)過版本的演變,ARM公司最后將其命名為MDK-ARM。MDK-ARM的全稱是MicrocontrollerDevelopmentKitforARM,其集成開發(fā)環(huán)境是KeilμVisionIDE,和KeilC51是同一個集成開發(fā)環(huán)境,因而深得從51單片機向STM32轉型的工程師的喜愛;而且其集成了ARM公司的開發(fā)工具集RealView(包括RVD、RVI、RVT、RVDS等),ARM和STM32的關系就不用多說了,其根正苗紅的特性,也是很多人選擇MDK-ARM的又一個原因。目前,Keil最新版為Version5.33,有關更多MDK-ARM的信息,可以登錄Keil公司的主頁了解。
7.2KEIL5的安裝要在電腦上成功安裝KEIL5,首先必須要有安裝包,我們可以在KEIL的官網(wǎng)上下載:/download/product/。打開界面如圖7.1所示,點擊MDK-Arm即可下載。
圖7.1MDK-ARM下載界面軟件包下載完成之后,雙擊安裝包程序,進入程序安裝的歡迎界面。直接單擊“Next”,進入安裝協(xié)議界面,如圖7.3所示。勾選“IagreetoallthetermsoftheprecedingLicenseAgreement”,單擊“Next”,進入下一步文件夾選擇界面可以安裝在默認路徑下,也可以安裝在其他路徑,自行修改即可,一般選擇好Code路徑,Pack路徑自動就會出現(xiàn)。注意軟件安裝路徑不能出現(xiàn)中文。單擊“Next”,進入用戶信息界面,填寫用戶信息后,繼續(xù)單擊“Next”就開始執(zhí)行安裝了,如下圖所示安裝過程完成后,會顯示如下圖所示界面。最后點擊“Finish”即可完成安裝,隨后,MDK會自動彈出PackInstaller界面,如上圖所示。程序會自動去KEIL的官網(wǎng)下載各種支持包,用戶也可以根據(jù)需要自行去官網(wǎng)下載,下載地址/dd2/pack。以STM32F103ZET6為例,我們需要安裝STM32F103ZET6的器件安裝包Keil.STM32F1xx_DFP.1.0.5.pack。器件安裝包下載好后,可以直接雙擊安裝,也可以通過PackInstaller界面安裝。在PackInstaller程序下選擇菜單“File”->“Import…”,彈出文件選擇對話框,如左圖所示,選擇需要的器件安裝包,單擊“打開”,即可開始安裝該器件包。當需要安裝的器件包成功導入后,PackInstaller界面如右圖所示,可以看到已導入的安裝包以及所支持的器件列表。PackInstaller成功安裝pack后的界面導入器件安裝包KEIL5安裝完成后,可以發(fā)現(xiàn)桌面上生成了名為KeiluVision5的可執(zhí)行文件快捷方式圖標。雙擊該圖標打開KEIL5的開發(fā)環(huán)境,如下圖所示,其主界面主要由菜單欄、工具欄、工程區(qū)、代碼編輯區(qū)、信息區(qū)、狀態(tài)欄等部分組成。接下來通過菜單“File”->“LicenseManagement...”打開“LicenseManagement”對話框,如圖所示。填寫NewLicenseIDCode后,單擊“AddLIC”按鈕,完成注冊。注冊成功時會在“LicenseManagement”對話框中顯示使用期限和“***LICAddedSuccessfully***”提示信息。最后選擇“Close”按鈕關閉“LicenseManagement”對話框,完成注冊。7.3創(chuàng)建庫函數(shù)工程模板本節(jié)主要內容 7.3.1STM32固件庫介紹 7.3.2創(chuàng)建庫函數(shù)工程
7.3.1STM32固件庫介紹要創(chuàng)建庫函數(shù)工程模板,首先需要有固件庫包,讀著可以通過ST官網(wǎng)的下載鏈接進行下載:/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961下載時一定要根據(jù)所使用的芯片型號選擇對應的固件庫(如芯片為STM32F103ZE,則下載對應的STM32F10x_StdPeriph_Lib)。官方固件庫的目錄結構如圖所示。
根目錄中有一個stm32f10x_stdperiph_lib_um.chm文件,這是固件庫的幫助文檔,這個文檔非常有用,在開發(fā)過程中,這個文檔會經(jīng)常被使用到。Project文件夾下面有兩個文件夾。STM32F10x_StdPeriph_Examples文件夾下面存放的ST官方提供的固件實例源碼,在今后的開發(fā)過程中,可以參考修改這個官方提供的實例來快速驅動自己的外設,這些源碼對以后的學習非常重要。STM32F10x_StdPeriph_Template文件夾下面存放的是工程模板。Utilities文件下是ST官方評估板的一些對應源碼。Libraries文件夾下面有CMSIS和STM32F10x_StdPeriph_Driver兩個目錄,這兩個目錄包含固件庫核心的所有子文件夾和文件。其中CMSIS目錄下面是啟動文件,STM32F10x_StdPeriph_Driver存放的是STM32固件庫源碼文件。源文件目錄下面的inc目錄存放的是stm32f10x_xxx.h頭文件,無需改動。src目錄下面放的是stm32f10x_xxx.c格式的固件庫源碼文件。每一個.c文件和一個相應的.h文件對應。這里的文件也是固件庫的核心文件,每個外設對應一組文件。Libraries文件夾里面的文件在我們建立工程的時候都會使用到。core_cm3.c和core_cm3.h文件提供了進入Cortex-M3內核的接口,這是ARM公司提供,我們永遠都不需要修改這兩個文件,它們位于\Libraries\CMSIS\CM3\CoreSupport目錄下。和CoreSupport同一級還有一個DeviceSupport文件夾。DeviceSupport\ST\STM32F10xt文件夾下面主要存放一些啟動文件以及比較基礎的寄存器定義以及中斷向量定義的文件。這個目錄下面有三個文件:system_stm32f10x.c,system_stm32f10x.h以及stm32f10x.h文件。其中system_stm32f10x.c和對應的頭文件system_stm32f10x.h文件的功能是設置系統(tǒng)以及總線時鐘,這個里面有一個非常重要的SystemInit()函數(shù),這個函數(shù)在我們系統(tǒng)啟動的時候都會調用,用來設置系統(tǒng)的整個時鐘系統(tǒng)。stm32f10x.h這個文件就相當重要了,只要是做STM32開發(fā),就幾乎時刻都要查看這個文件相關的定義。這個文件打開可以看到,里面非常多的結構體以及宏定義。這個文件里面主要是系統(tǒng)寄存器定義聲明以及包裝內存操作。在DeviceSupport\ST\STM32F10x同一級還有一個startup文件夾,這個文件夾里面放的文件是啟動文件。在\startup\arm目錄下,我們可以看到8個startup開頭的.s文件,分別為對應于不同容量的芯片啟動文件。對于F103系列,主要是用其中3個啟動文件:startup_stm32f10x_ld.s:適用于小容量產品,F(xiàn)LASH≤32K;startup_stm32f10x_md.s:適用于中等容量產品,64K≤FLASH≤128K;startup_stm32f10x_hd.s:適用于大容量產品,256K≤FLASH。以STM32F103ZET6為例,該芯片屬于大容量產品,其啟動文件選擇startup_stm32f10x_hd.s。啟動文件是用匯編語言編寫的,系統(tǒng)上電后將首先執(zhí)行啟動文件。啟動文件主要執(zhí)行以下工作:(1)初始化堆棧(2)定義中斷向量表以及中斷函數(shù)(3)初始化PC指針,令其=Reset_Handler(4)進入Reset_Handler后,先調用SystemInit系統(tǒng)初始化函數(shù)(5)最終調用main函數(shù)進入C的世界7.3.2創(chuàng)建庫函數(shù)工程
1.整理工程文件夾我們在電腦任意位置創(chuàng)建一個文件夾,命名為“庫函數(shù)模板創(chuàng)建”,然后在其下面新建3個文件夾(文件夾命名可任意,這里根據(jù)文件類型命名),如下:(1)Obj文件夾:用于存放編譯產生的c/匯編/鏈接的列表清單、調試信息、hex文件、預覽信息、封裝庫等文件。(2)User文件夾:用于存放用戶編寫的main.c、stm32f10x.h頭文件、stm32f10x_conf.h配置文件、stm32f10x_it.c和stm32f10x_it.h中斷函數(shù)文件。這些文件都可以從固件庫中復制得到。(3)Libraries文件夾:用于存放CMSIS標準和STM32外設驅動文件。在此文件夾下新建2個文件夾,分別命名為CMSIS和STM32F10x_StdPeriph_Driver,這些文件夾命名都是直接復制固件庫相應的文件夾名。CMSIS文件夾用于存放一些CMSIS標準文件和啟動文件,從固件庫中復制相應的文件放入我們自建的CMSIS文件夾下,所包含的文件如下圖所示。STM32F10x_StdPeriph_Driver可直接將固件庫中相應目錄下的內容復制過來。里面存放的是STM32標準外設驅動文件,src目錄存放的是外設驅動的源文件,inc目錄存放的是對應的頭文件。至此,就已經(jīng)將創(chuàng)建庫函數(shù)模板所需的固件庫文件復制過來了,接下來就可以建立新工程了。2.建立工程打開Keil5軟件,新建一個工程,填寫工程名稱,但是要注意使用英文來命名,這里我們命名為Template,直接保存在最開始創(chuàng)建的“庫函數(shù)模板創(chuàng)建”文件夾下。具體步驟如下圖所示。3.選擇CPU型號根據(jù)所使用的CPU的具體型號來選擇,這里仍以STM32F103ZET6芯片為例,芯片選擇過程如圖所示。選擇完CPU點擊OK后會彈出在線添加固件庫文件的界面,如下圖所示。我們這里手動進行添加,不需要此步,所以直接關閉即可。在線添加固件庫文件的界面4.給工程添加文件給工程添加文件就是將前面創(chuàng)建的“庫函數(shù)模板創(chuàng)建”文件夾下的文件和自己編寫的源代碼添加到工程中。雙擊Group文件夾就會出現(xiàn)添加文件的路徑,然后選擇文件即可。如果我們將“庫函數(shù)模板創(chuàng)建”目錄下的文件都添加到Group這個默認組中,顯然是非?;靵y的,對于我們查找工程文件和工程維護極其不方便,因此這里需要根據(jù)文件類型來構建新的工程組。創(chuàng)建新的工程組的操作步驟如下圖所示??梢赃x擇快捷圖標來進行創(chuàng)建工程組,也可以在工程列表下右鍵“Target1”選擇“ManageProjectItems...”,如左圖所示。為了工程目錄更加清晰及方便文件查找,新建User、Startup、StdPeriph_Driver和CMSIS工程組。User組用于存放User文件夾下的源文件,Startup組用于存放STM32的啟動文件,StdPeriph_Driver組用于存放STM32外設的驅動源文件、CMSIS組用于存放CMSIS標準文件,比如系統(tǒng)總線時鐘等初始化源文件。創(chuàng)建好的工程目錄組如右圖所示。接下來就需要將對應的一些文件添加到工程目錄組中,這樣才能進行程序的開發(fā)。添加工程文件步驟如下圖所示。第1步,點擊圖標,彈出界面。第2步,選擇要添加的工程組。第3步,點擊添加文件,會彈出添加文件對話框。第4步,選擇對應文件夾內的文件。文件類型默認.c文件,如果需要添加其他類型的文件(如啟動文件的類型是.s),則需要進行第5步,更改文件類型。第6步,點擊“Add”按鈕完成文件添加。將所有文件添加至對應工程組后,如圖所示。在StdPeriph_Driver工程組中我們只添加了2個源文件,對于STM32程序開發(fā),通常這2個文件都是需要的。其他的外設源文件根據(jù)是否使用外設而添加,如果把所有的源文件都加進來也是沒有問題的,只不過工程在編譯的時候會比較慢,所以原則是使用到哪個外設就添加哪個外設的源文件。5.配置工程這一步的配置工作非常重要,很多人編寫程序編譯后發(fā)現(xiàn)找不到HEX文件,還有的人后面做printf實驗時打印不出信息,這些問題都是在這個地方?jīng)]有配置好導致的。(1)如圖所示,第1步,點擊“工程目標選項”進入配置(或Project->OptionsforTarget)。第2步,選中Target選項卡。第3步,勾選“UseMicroLib”選項,主要是為了后面printf重定向輸出使用。其他的設置保持默認即可。(2)Output選項卡中把輸出文件夾定位到我們工程目錄下的Obj文件夾,如果想在編譯的過程中生成hex文件,那么需要勾選CreateHEXFile選項。如圖所示。(3)Listing選項卡中把輸出文件夾也定位到我們工程目錄下的Obj文件夾。其他設置默認。如圖7.25所示。(4)C/C++選項卡配置。因為創(chuàng)建的是庫函數(shù)工程模板,所以需要在對處理器類型和庫進行宏定義,在Define這一欄中填寫兩個宏:USE_STDPERIPH_DRIVER,STM32F10X_HD注意它們之間有一個英文符的逗號,如下圖。通過這兩個宏就可以對STM32F10x系列芯片進行庫開發(fā),因為在庫源碼內支持很多F1系列芯片,通過這個宏就可以選擇到底是用哪種芯片的庫驅動。同理USE_STDPERIPH_DRIVER這個宏也是類似的原理。設置好了宏,還需要將我們前面添加到工程組中的文件路徑包括進來,同樣還是在C/C++選項卡中,具體步驟如圖所示。第1步,點擊“…”按鈕,彈出一個添加頭文件路徑的對話框。第2步,然后點擊添加路徑按鈕,新建一個空路徑列表。第3步,點擊“…”按鈕,會彈出瀏覽文件夾對話框。第4步,選擇對應的頭文件路徑,這個頭文件路徑就是工程組中那些文件的頭文件路徑。第5步,選擇好后點擊“確定”按鈕,回到添加頭文件路徑的對話框。重復2、3、4、5步直到所有頭文件路徑添加完成。第6步,點擊“OK”按鈕完成設置。最后添加好的頭文件路徑如圖7.28。(5)選擇下載調試工具。這個選項根據(jù)所使用的下載調試器來選擇,比如:ST-Link,如圖所示。(6)下載復位并運行設置。如圖7.30所示,在Utilities選項卡內點擊“Settings”按鈕,彈出如圖7.31所示對話框,選擇FlashDownload選項卡,勾選“ResetandRun”選項,當程序下載進去后CPU自動復位運行,如果不勾上,程序下載進去后需按下復位鍵才能運行。6.編寫一個簡單的main.c完成工程配置后,雙擊工程組中的main.c文件會發(fā)現(xiàn)里面有很多代碼,這是因為我們直接從ST公司提供的模板上復制過來的,所以我們把main.c文件內的所有內容刪除,寫上一個如下所示的簡單的main程序。#include"stm32f10x.h"intmain(){while(1){}}最后編譯一下工程,編譯后結果0錯誤0警告,表明創(chuàng)建的庫函數(shù)模板完全正確。到這一步庫函數(shù)工程模板創(chuàng)建完成。7.4KEIL5的使用技巧本節(jié)主要內容 7.4.1文本美化 7.4.2語法檢測和代碼提示 7.4.3快速注釋與快速消注釋
西安文理學院自動化教研室7.4.1文本美化文本美化,主要是設置一些關鍵字、注釋、數(shù)字等的顏色和字體。KEIL5提供了自定義字體顏色的功能。可以在工具條上點擊(配置對話框)彈出如圖所示界面。在該對話框中,先設置Encoding為ChineseGB2312(Simplified),以更好的支持簡體中文(否則,拷貝到其他地方的時候,中文可能是一堆的問號)。然后設置Tabsize為4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年風電場35kV輸電線路工程合同3篇
- 2024建筑材料多孔磚買賣協(xié)議版B版
- 2024年運輸合同物流金融產品設計與風險管理3篇
- 中考英語-英語-任務型閱讀理解專題練習(附答案)
- 2025年度土地承包經(jīng)營權終止合同范本3篇
- 2025年度安全生產信息化系統(tǒng)設計與實施協(xié)議2篇
- 2025年度物流保險采購合同執(zhí)行細則3篇
- 湖南工藝美術職業(yè)學院《化妝品化學》2023-2024學年第一學期期末試卷
- 通化師范學院《植物生物技術實驗》2023-2024學年第一學期期末試卷
- 重慶醫(yī)科大學《精細化學品分析檢測技術》2023-2024學年第一學期期末試卷
- 《新媒體運營》高職新媒體運營全套教學課件
- 大學生創(chuàng)新創(chuàng)業(yè)教程 課件全套 王曉明 第1-11章 創(chuàng)新與創(chuàng)新能力 -中國國際大學生創(chuàng)新大賽與“挑戰(zhàn)杯”大學生創(chuàng)業(yè)計劃競賽
- 2024年蘭州大學專業(yè)課《金融學》科目期末試卷B(有答案)
- 初中物理寶典
- 人工智能基礎與應用-課程標準
- 綠化養(yǎng)護工作日記錄表
- 耳尖放血的護理
- 人工智能趣味科普系列
- 中醫(yī)五臟課件
- 安谷鐵龍煤礦整合技改施工組織設計樣本
- 《新概念英語第二冊》電子書、單詞、筆記、練習冊(附答案)匯編
評論
0/150
提交評論