MDK建立STM32F103*開發模板


一、整體流程

1、獲取ST庫--STM32F10x_StdPeriph_Lib_V3.5.0

2、新建文件夾並加載文件

3、新建工程

4、給工程添加組

5、設置"Target Option"

6、設置J-link選項

二、獲取ST庫

  這里用野火光盤提供的"ST庫3.5.0源碼"--STM32F10x_StdPeriph_Lib_V3.5.0,也可以從ST公司的官網下載,下載地址是“http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890”。

三、新建文件夾並添加文件

  先新建一個頂層文件夾Template,然后依次建立以下子文件夾。

1、DOC

  此目錄存放說明文檔,對程序的一些簡要說明、用法之類,通常放readme.txt。

2、Include

  該目錄集中存放頭文件,將下面列出的庫中的頭文件拷貝到這個文件夾下。

   STM32F10x_StdPeriph_Lib_V3.5.0/Librarys/CMSIS/CM3/CoreSupport/core_cm3.h

     STM32F10x_StdPeriph_Lib_V3.5.0/Librarys/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h以及該目錄下的system_stm32f10x.h。

   STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc下的所有頭文件,比如說misc.h、stm32f10x_adc.h等。

   STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h以及該目錄下的stm32f10x_it.h。  

3、Libraries

  再新建兩個子目錄:CMSIS和FWLIB

①CMSIS

 存放ARM公司為cm3內核專一定制的內核文件接口,將下面列出的庫中的文件拷貝到這個文件夾下。

  STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c

  STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c

  再在CMSIS中新建一個子文件夾startup,將下面列出的庫中的文件拷貝到這個文件夾下。

  STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm所有文件拷到該目錄。

②FWLIB

  存放STM32的外設庫,將下面列出的庫中的文件拷貝到這個文件夾下。

  STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src所有文件。

4、Listing

  該目錄是MDK生成信息輸出目錄,存放代碼分布(.map和.lst)。

5、Output

  該目錄是MDK生成信息輸出目錄,存放目標文件(.o)、調試文件(.axf)、下載文件(.hex)、依賴文件(.d)等。

6、Project

  再新建一個子目錄RVMDK(uv4),將來MDK的工程就建在這個目錄中。之所以這樣處理,是因為可能將來我們會在IAR環境下編譯程序,這個時候只需要在Project目錄下新建一個針對IAR的目錄,就可以方便的切換開發環境。

7、User

  存放用戶程序,以后寫程序的文件存放在該目錄,先把庫中的用戶程序添加進來,建立一個完整模板。

  STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\main.c和stm32f10x_it.c。

8、keilkill.bat

  在頂層目錄中,添加MS-DOS批處理文件keilkill.bat。當雙擊這個工具的時候,會將Output目錄中生成的中間目標文件全部刪除,只留下hex文件。

四、新建工程

1、點擊MDK圖標打開軟件

2、Project->New uVision Project,將工程目錄選擇在Template\Project\RVMDK(uv4)

3、選擇芯片為ST公司的STM32F103VE。

4、在新彈出的對話框--詢問是否添加啟動代碼,我們選擇"否"。

五、給工程添加組

1、建立5個分組,分別為STARTUP、SMSIS、USER、DOC、FWLIB。

2、對每個分組雙擊,然后添加文件。

  這里只需要添加C文件和匯編文件(其中DOC目錄除外),頭文件不需要添加。通過“六、設置Target Option”,我們可以指定頭文件搜索路徑,來解決這個問題。而且,編譯器會根據*.C文件生成對應的依賴文件。

六、設置Target Option

  依次選擇Project->Options for Target ‘Template’

1、Device

  Device選擇100腳的STM32F103VE

2、Target

晶振頻率:8 MHz

Use MicroLIB: 使用微庫

片內Flash起始地址:0x8000000

片內Flash大小:0x80000

片內RAM起始地址:0x20000000

片內RAM大小:0x10000

3、Output

Select Folder for Objects: 可以選擇輸出文件夾

Name of Executable:  可執行文件的名字

4、Listing

Select Folder for Listing: 可以選擇生成Lst的文件夾

5、User

  如果想生成bin格式的可執行文件,可以在User欄子選項中添加如下語句:

C:/Keil/ARM/BIN40/fromelf.exe --bin -o ../../Output/Template.bin ../../Output/Template.axf

6、C/C++

Define:  預處理宏

  STM32F10X_HD  使用的芯片是大容量的

  USE_STDPERIPH_DRIVE 為了使用ST庫

Optimization  優化等級

Warngings  警告等級

Include Paths   添加頭文件目錄

compiler control string  可以查看編譯命令

  可見頭文件搜索目錄除了系統默認的C:\Keil\ARM\INC\ST\STM32F10x,還包括我們添加的..\..\Include

7、ASM

  與C/C++選項配置類似

8、Linker

R/O Base  代碼段和只讀數據段起始地址

R/W Base  數據段起始地址

Linker control string 可以查看連接命令

Don't Search Standard Libraries 完全不使用系統默認提供的庫

9、Debug

Use simulator  軟件仿真

Use cortex-M3 J-LINK 用J-link硬件仿真

10、Utilities(工具)

七、設置J-link選項

  在步驟六的第8小步--Debug界面,按下settings,進入J-link配置界面。以下是開發板上電后正常連通時的配置信息。

1、Debug

2、Flash Download

  其中Programming Algorithm的Description中需要添加芯片的Flash型號,這樣下載的時候才知道是什么存儲器,下載到哪里,大小多少。

Erase Full Chip 擦除整個Flash

Program  使能編程

Verify   使能核查

Reset and Run  編程完畢后,復位並且運行

 

參考資料:《STM32庫開發實戰指南》

附:Template.zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM