點(diǎn)擊Utilities,進(jìn)行公共參數設置

至此,我們已經(jīng)完成了一個(gè)RVMDK工程參數設置。
二、介紹MDK工程的文件管理方面的功能。
我們在使用ST標準的固件庫進(jìn)行代碼設計時(shí),一個(gè)工程內可能會(huì )包含很多的庫文件,因此對文件進(jìn)行管理就非常的必要。
如下圖所示,右鍵點(diǎn)擊Target1,選擇Manage Components,進(jìn)入分類(lèi)文件管理設置。

在彈出的選擇框中,可以設置工程名,增加、刪減文件夾。以及在某個(gè)文件夾內添加刪除文件。

在完成以上操作后,一個(gè)MDK工程就設置完成了,只需要依據實(shí)際應用要求編寫(xiě)相關(guān)代碼即可。
【友情提示:Groups下的文件夾不是實(shí)際存在的(如果這里的名字跟實(shí)際工程中的文件夾同名也不要以為它是真實(shí)的,否則不同名時(shí),你在硬盤(pán)中是找不到它們的),只是為了工程管理建立的?!?wbr />
我個(gè)人覺(jué)得標準的庫文件“埋”的太深,使用起來(lái)有點(diǎn)不方便,所以我一般對這些文件進(jìn)行一些整理,把相關(guān)文件放在一起,并取上一個(gè)標準化的名字,這些文件夾的名字一般和原始固件庫文件夾的名字相同,只是把需要的文件放在一起。一般在工程目錄下面我會(huì )建立以下幾個(gè)文件夾,如圖所示。當然還會(huì )建立前面已經(jīng)建立的兩個(gè)很有用的文件夾(List和Obj)
自己建立的文件夾和庫文件的對應關(guān)系:
StdPeriph_Driver文件夾內的內容與標準庫保持一致。
STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver
StartUp文件夾內的文件在庫中的位置:
STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xStartUp
CMSIS文件夾內的文件在庫中的位置:
STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x
stm32f10x.h,system_stm32f10x.c, system_stm32f10x.h
STM32F10x_StdPeriph_Lib_V3.5.0ibrariesCMSISCM3CoreSupport
core_cm3.c, core_cm3.h

Groups文件夾的名稱(chēng)和工程文件夾的名稱(chēng)盡量保持一致,如上圖所示。為每個(gè)Group添加同名文件夾下的源文件或者頭文件,為了便于查看代碼,我把源文件和頭文件都添加進(jìn)Group中(除StdPeriph_Driver),在這里注意過(guò)濾文件的類(lèi)型。StdPeriph_Driver中只添加需要的源文件,例如建立一個(gè)LED閃爍的工程,那么這個(gè)工程除了進(jìn)行必要的初始化之外,只需要包含GPIO的操作函數,當然需要使用GPIO就必須要使能GPIO的時(shí)鐘,RCC是絕對少不了的。所以只需要包含misc.c,stm32f10x_gpio.c和stm32f10x_rcc.c。添加需要的文件之后,工程目錄如圖所示。

現在重新說(shuō)明一下一個(gè)工程建立的文件夾:
MDK工程:內有List和Obj兩個(gè)文件夾
CMSIS:包含系統的內核文件
StartUp:包含各種啟動(dòng)文件
User:用戶(hù)編寫(xiě)的應用文件
StdPeriph_Driver:內有src和inc兩個(gè)文件夾,是標準庫提供的源文件和頭文件。
當然也有人直接將List和Obj兩個(gè)文件夾放在User文件夾內,然后去掉MDK工程文件夾。這樣也是可以的,看個(gè)人愛(ài)好了。我習慣將User文件夾獨立出來(lái)不放List、Obj和**.uvproj等文件,只放自己編寫(xiě)的應用文件,這樣當項目有很多應用文件的時(shí)候可以在User內建立src和inc兩個(gè)文件夾存放源文件和頭文件,使文件結構看起來(lái)更加清晰。
需要說(shuō)明的是,雖然在有些Group中包含了一些頭文件,但是Keil在編譯連接的時(shí)侯卻不知道頭文件在什么地方,所以一定要指定頭文件的路徑。

【重要】指定的頭文件為:..CMSIS;..StdPeriph_Driverinc;..User
【重要】?jì)蓚€(gè)重要的宏也一定要指定:USE_STDPERIPH_DRIVER,STM32F10X_MD
三、J-LINK仿真調試。
【強調】:Debug標簽,使用JLINK V8進(jìn)行仿真調試,對應的Cortex-M/R J-LINK/J-Trace前的Use要選中,否則J-LINK調試會(huì )出問(wèn)題。
這部分我就不多說(shuō)了,在實(shí)際硬件平臺上多多練習吧,祝大家在學(xué)習過(guò)程中不斷提高。
注:此文檔參考了網(wǎng)上的一篇文章和神舟開(kāi)發(fā)手冊的部分內容。
評論