幾個(gè)月前剛接觸STM32時(shí),第一感覺就是固件庫里的文件又多又深,還好發(fā)現(xiàn)固件庫里自帶有范例文件,但是它們?nèi)际轻槍?duì)特定的評(píng)估板的,手頭只有一塊STM MCU 3 in 1 MiniKit。雖說作些修改就可為我所用,可對(duì)于像我這樣還沒入門的菜鳥,知道要如何修改,并且編譯通過,卻是非常困難。 昨晚閑暇,在網(wǎng)上找了一些資料,自己也學(xué)著新建了一個(gè)工程。今天寫下來,順帶溫故一遍。
首先介紹一下操作環(huán)境:
Keil版本:μVision 4.1.0
STM32固件庫版本:V3.4.0
第一步,建立工程文件夾,在其子文件夾內(nèi)拷貝并整理好相應(yīng)的文件。
1.1、建立工程文件夾,將它命名為"SysTick"。
1.2、在"SysTick"下分別建立"Lib"、"User"、"List"及"Object"這四個(gè)文件夾。
1.3、將固件庫中"Libraries"文件夾下的"CMSIS"和"STM32F10x_StdPeriph_Driver"這兩個(gè)文件夾拷貝至上一步建立的"Lib"文件夾下。
1.4、將固件庫中"Project"-->"STM32F10x_StdPeriph_Examples"-->"SysTick"內(nèi)的全部文件拷貝至第2步建立的"User"文件夾下。
至此,第一步已經(jīng)完成。
第二步,建立Keil工程。
2.1、"Project"-->"NewμVision Project...",將新建立的工程保存在步驟1.1時(shí)建立的"SysTick"文件夾下,并命名為"SysTick"。
2.2、在彈出的"Select Device for Target1..."對(duì)話框中,選擇相應(yīng)的器件,ST MCU 3 in 1 MiniKit上的芯片是STM32F103C8,所以我選擇STM32F103C8。確定完成后按"OK"。
2.3、在彈出的詢問是否添加啟動(dòng)代碼的對(duì)話框中,選"否"。因?yàn)槲覀兪褂霉碳熘械膯?dòng)代碼。
2.4、點(diǎn)擊按鈕,在Target1下建立四個(gè)Groups: "CMSIS"、"User"、"Lib"、"StartUp"。
在"CMSIS"Grout下添加如下兩個(gè)c文件:"SysTickLibCMSISCM3CoreSupportcore_cm3.c"以及"SysTickUsersystem_stm32f10x.c"。
在"User"Group下添加如下兩個(gè)c文件:"SysTickUsermain.c"和"SysTickUserstm32f10x_it.c"。
在"Lib"Group下添加如下四個(gè)c文件:"SysTickLibSTM32F10x_StdPeriph_Driversrcmisc.c"、
"SysTickLibSTM32F10x_StdPeriph_Driversrcstm32f10x_flash.c"、"SysTickLibSTM32F10x_StdPeriph_Driversrcstm32f10x_gpio.c"
和"SysTickLibSTM32F10x_StdPeriph_Driversrcstm32f10x_rcc.c"。
在 "StartUp"Group下添加"SysTickLibCMSISCM3DeviceSupportSTSTM32F10xstartuparmstartup_stm32f10x_md.s"。
根據(jù)你所使用的不同容量的芯片,選擇對(duì)應(yīng)的啟動(dòng)代碼文件。
添加完所有的文件后,點(diǎn)擊"OK"。
2.5、點(diǎn)擊"Target Options..."按鈕,作如下設(shè)置。
"Output"標(biāo)簽下",Select Folder for Objects..."選擇步驟1.2時(shí)建立的"Object"文件夾作為保存路徑。
"Listing"標(biāo)簽下,"Select Folder for Listings..."選擇步驟1.2時(shí)建立的"List"文件夾作為保存路徑。
"C/C++"標(biāo)簽下,"Define"后填寫"USE_STDPERIPH_DRIVER, STM32F10X_MD";"Include Paths"內(nèi)添加".LibCMSISCM3CoreSupport"、".LibCMSISCM3DeviceSupportSTSTM32F10x"、".LibSTM32F10x_StdPeriph_Driverinc"、".User"。添加完成后點(diǎn)擊"OK"。
完成所有設(shè)置后,點(diǎn)擊"OK"。
到此為止,工程已建立完成。
關(guān)鍵點(diǎn)提示:
1、步驟2.5中"C/C++"中定義的兩個(gè)宏,"USE_STDPERIPH_DRIVER"表示使用固件庫,"STM32F10X_MD"與你所使用的芯片相對(duì)應(yīng),步驟2.4中啟動(dòng)代碼文件的選擇也與此類似。
2、"stm32f10x_conf.h"這個(gè)文件,里面可以選擇你所使用的外設(shè),方法是——將使用的外設(shè)前的注釋去掉即可。
3、步驟2.4,其目的是添加頭文件的路徑,雖然看起來很煩瑣,但理解其目的后就會(huì)顯得清楚多了。
這個(gè)地方講得更清楚跟透徹:http://blog.ednchina.com/xukai871105/1981649/message.aspx
這里的視頻也不錯(cuò):http://v.youku.com/v_show/id_XMjQyMDg1MDMy.html
評(píng)論