1、安裝MDK環(huán)境,下載程序的第三方軟件mcuisp。
BOOT0開關(guān)撥到VCC、自動(dòng)搜索串口、開始編程按鈕,如果程序下載成功后則會(huì)打印出下面紅色框中的信息、程序下載成功之后,需要將BOOT0開關(guān)撥
到GND,然后按下我們的復(fù)位按鍵就可以看到實(shí)驗(yàn)想象了(也可以通過如下設(shè)置)。
開始編程按鈕時(shí),還會(huì)出現(xiàn)mcuisp一直處于連接的狀態(tài),導(dǎo)致程序下載不了,如下截圖所示。解決的方法是只需我們按一下開發(fā)板中的復(fù)位按鍵即可。
2.在線調(diào)試器、JLINK 驅(qū)動(dòng)安裝與MDK環(huán)境搭建。
3.如何新建工程模板。
新建工程,選擇芯片型號(hào)、接下來的窗口問我們是否需要拷貝STM32的啟動(dòng)代碼到工程文件中,這份啟動(dòng)代碼在M3系列中都是適用的,一般情況下我們都點(diǎn)擊是,但我們這里用的是ST的庫,庫文件里面也自帶了這一份啟動(dòng)代碼,所以為了保持庫的完整性,我們就不需要開發(fā)環(huán)境為我們自帶的啟動(dòng)代碼了。
在文件夾建立五個(gè)子文件夾,F(xiàn)Wlib(用于存放STM32庫文件)、CMSIS(ARM_C處理器軟件接口)、output(用來保存軟件編譯后輸出的文件)、Listing(存放一些編譯過程中產(chǎn)生的文件)、USER(用來存放工程文件和用戶代碼)。main.c、stm32f10x_conf.h、stm32f10x_it.h、 stm32f10x_it.c 、system_stm32f10x.c 到USER目錄下。stm32f10x_it.h、和stm32f10x_it.c這兩個(gè)文件里面是中斷函數(shù),里面為空,并沒有寫任何的中斷服務(wù)程序。stm32f10x_conf.h是用戶需要配置的頭文件,當(dāng)我們需要用到芯片中的某部分外設(shè)的驅(qū)動(dòng)時(shí),我們只需要在該文件下將該驅(qū)動(dòng)的頭文件包含進(jìn)來即可,片上外設(shè)的驅(qū)動(dòng)在src文件夾中,inc文件夾里面是它們的頭文件。這三個(gè)文件是用戶在編程時(shí)需要修改的文件,其他庫文件一般不需要修改。system_stm32f10x.c是ARM公司提供的符合CMSIS標(biāo)準(zhǔn)的庫文件,等下我們把這個(gè)文件移動(dòng)到CMSIS這個(gè)文件夾中。需先在CMSIS新建好startup文件夾,用于存放這些是用匯編寫的啟動(dòng)文件。core_cm3.c和core_cm3.h也拷貝到CMSIS文件夾下。stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h拷貝到CMSIS文件夾下。(這些均是STM32的庫函數(shù),啟動(dòng)代碼等)
基本完成了,右鍵單擊工程名稱,打開“Manage Components”窗口,或點(diǎn)擊工具欄上的品字圖標(biāo)。將Project Targets下的Target改名為自己想要的,即可。
然后就是需要建立用戶組了,右鍵選中Add Group……,建立我們所需的四個(gè)用戶組。
再來給每個(gè)用戶組添加文件。
最后設(shè)置軟件:工程已經(jīng)基本建好,下面來配置一下MDK的配置選項(xiàng),點(diǎn)擊工具欄中的魔術(shù)棒按鈕 ,在彈出來的窗口中選中Output。然后點(diǎn)擊Select Folder for Objects... 設(shè)置編譯后輸出文件保存的位置。同時(shí)把 Create HEX File 和 Browse information這兩個(gè)選項(xiàng)框也選上。(我們曾經(jīng)設(shè)定的路徑文件夾)
選中“C++”選項(xiàng)卡,在Define里面輸入添加USE_STDPERIPH_DRIVER,STM3210X_HD。添加USE_STDPERIPH_DRIVER是為了屏蔽編譯器的默認(rèn)搜索路徑,轉(zhuǎn)而使用我們添加到工程中的ST的庫,添加STM32F10X_HD是因?yàn)槲覀冇玫男酒谴笕萘康?,添加了STM32F10X_HD這個(gè)宏之后,庫文件里面為大容量定義的寄存器我們就可以用了。添加USE_STDPERIPH_DRIVER是為了屏蔽編譯器的默認(rèn)搜索路徑,轉(zhuǎn)而使用我們添加到工程中的ST的庫,添加STM32F10X_HD是因?yàn)槲覀冇玫男酒谴笕萘康?,添加了STM32F10X_HD這個(gè)宏之后,庫文件里面為大容量定義的寄存器我們就可以用了。
在Include Paths欄點(diǎn)擊,在這里添加庫文件的搜索路徑,這樣就可以屏蔽掉默認(rèn)的搜索路徑。但當(dāng)編譯器在我們指定的路徑下 搜索不到的話還是會(huì)回到標(biāo)準(zhǔn)目錄去搜索,就像有些ANSIC C 的庫文件,如 stdin.h 、stdio.h。但當(dāng)編譯器在我們指定的路徑下 搜索不到的話還是會(huì)回到標(biāo)準(zhǔn)目錄去搜索,就像有些ANSIC C 的庫文件,如 stdin.h 、stdio.h。
最后一步,就是修改main.c文件。
#include "stm32f10x.h"
int main(void)
? {
? while(1);
? // add your code here ^_^。
? }至此,我們的工程模板就建成了。