新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 在Keil MDK環境下使用STM32固件庫

        在Keil MDK環境下使用STM32固件庫

        作者: 時間:2016-11-25 來源:網絡 收藏

        點擊Utilities,進行公共參數設置

        至此,我們已經完成了一個RVMDK工程參數設置。

        二、介紹MDK工程的文件管理方面的功能。

        我們在使用ST標準的固件庫進行代碼設計時,一個工程內可能會包含很多的庫文件,因此對文件進行管理就非常的必要。

        如下圖所示,右鍵點擊Target1,選擇Manage Components,進入分類文件管理設置。

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

        在完成以上操作后,一個MDK工程就設置完成了,只需要依據實際應用要求編寫相關代碼即可。

        【友情提示:Groups下的文件夾不是實際存在的(如果這里的名字跟實際工程中的文件夾同名也不要以為它是真實的,否則不同名時,你在硬盤中是找不到它們的),只是為了工程管理建立的。】

        我個人覺得標準的庫文件“埋”的太深,使用起來有點不方便,所以我一般對這些文件進行一些整理,把相關文件放在一起,并取上一個標準化的名字,這些文件夾的名字一般和原始固件庫文件夾的名字相同,只是把需要的文件放在一起。一般在工程目錄下面我會建立以下幾個文件夾,如圖所示。當然還會建立前面已經建立的兩個很有用的文件夾(List和Obj)

        自己建立的文件夾和庫文件的對應關系:

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

        現在重新說明一下一個工程建立的文件夾:

        MDK工程:內有List和Obj兩個文件夾

        CMSIS:包含系統的內核文件

        StartUp:包含各種啟動文件

        User:用戶編寫的應用文件

        StdPeriph_Driver:內有src和inc兩個文件夾,是標準庫提供的源文件和頭文件。

        當然也有人直接將List和Obj兩個文件夾放在User文件夾內,然后去掉MDK工程文件夾。這樣也是可以的,看個人愛好了。我習慣將User文件夾獨立出來不放List、Obj和**.uvproj等文件,只放自己編寫的應用文件,這樣當項目有很多應用文件的時候可以在User內建立src和inc兩個文件夾存放源文件和頭文件,使文件結構看起來更加清晰。

        需要說明的是,雖然在有些Group中包含了一些頭文件,但是Keil在編譯連接的時侯卻不知道頭文件在什么地方,所以一定要指定頭文件的路徑。


        重要指定的頭文件為:..CMSIS;..StdPeriph_Driverinc;..User

        重要】兩個重要的宏也一定要指定:USE_STDPERIPH_DRIVER,STM32F10X_MD

        三、J-LINK仿真調試。

        強調】:Debug標簽,使用JLINK V8進行仿真調試,對應的Cortex-M/R J-LINK/J-Trace前的Use要選中,否則J-LINK調試會出問題。

        這部分我就不多說了,在實際硬件平臺上多多練習吧,祝大家在學習過程中不斷提高。

        注:此文檔參考了網上的一篇文章和神舟開發手冊的部分內容。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 泾川县| 贵德县| 满洲里市| 华容县| 乌海市| 竹山县| 张家界市| 临洮县| 奇台县| 宁武县| 东丽区| 汉沽区| 蒲江县| 宝丰县| 伊通| 萨迦县| 黄山市| 浑源县| 晴隆县| 肇源县| 荥经县| 新疆| 略阳县| 婺源县| 曲松县| 安达市| 沙洋县| 丹棱县| 青铜峡市| 赞皇县| 伊金霍洛旗| 万山特区| 阿合奇县| 马边| 元朗区| 文昌市| 富源县| 太仓市| 康平县| 通河县| 武邑县|