-庫的初步了解
STM32庫包含大量的函數接口,開發者在編寫程序時在庫的基礎上調用這些函數接口來配置STM32的寄存器,而不是開發者直接接觸底層寄存器,可以玩笑的說初學者接觸寄存器相當于自殺。使用庫進行開發大大的降低了開發難度,開發難度降低就會減少開發的時間和金錢成本。關于庫之前具體介紹過了,這里也就不多重復了,同樣是以STM32的3.5版本的庫為例。 將庫源碼解壓后得到文件夾: 
--庫的修改:
點入文件夾后出現四個文件夾: 
_htmresc:包含兩張和ST公司相關的圖片: 
這些在編程時都沒用,所以將_htmresc文件夾整體刪除。
Libraries:點入文件夾后發現兩個文件夾如下:CMSIS和STM32F10x_Stdperiph_Driver 
這里邊的文件都很重要,其中CMSIS的含義是:cortex microcontroller software interface standard即首字母縮寫成CMSIS標準。ARM公司和芯片廠商為了基于統一內核的芯片能夠兼容建立了CMSIS標準。但這個文件夾分層太多,當我們想把這些庫文件添加到工程中要點入好幾層好幾個文件夾,這樣不但費時而且容易遺漏。 在路徑STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3下有兩個文件夾: 
CoreSupport包含函數如下: 
DeviceSupport包含函數如下: 
在STM32F10x_StdPeriph_Lib_V3.5.0文件夾內新建文件夾,命名為CMSIS,將Release_Notes.html文件刪除,將這兩個文件夾內的剩余的文件剪切到我們新建的CMSIS文件夾內。
STM32F10x_Stdperiph_Driver文件夾,出現inc和src兩個文件夾: 
在STM32F10x_StdPeriph_Lib_V3.5.0文件夾內新建文件夾,命名為lib,將兩個文件夾剪切進這個lib文件夾內。
project:點入文件夾包括STM32F10x_StdPeriph_Examples和STM32F10x_StdPeriph_Template兩個文件夾: 
STM32F10x_StdPeriph_Template內文件: 
在STM32F10x_StdPeriph_Lib_V3.5.0文件夾內新建文件夾,命名為user,將main.c、stm32f10x_it.c、stm32f10x_it.h和stm32f10x_conf.h四個文件剪切到user文件夾內。
這樣我們修改完的的庫就變成了: 在STM32F10x_StdPeriph_Lib_V3.5.0文件夾內: 
CMSIS文件夾內: 
在lib文件夾內: 
在user文件夾內: 
這樣我們就完成了庫文件的修改,在新建工程時添加庫文件會變得很方便。
以下是本系列教程文章列表:歡迎大家踴躍討論,有問題可在51黑論壇回帖提出.
STM32教程(1)-大學里沒碰見像STM32一樣吸引我的姑娘:http://www.raoushi.com/bbs/dpj-41167-1.html STM32教程(2)-各種應用和外設簡單介紹:http://www.raoushi.com/bbs/dpj-41168-1.html STM32教程(3)-芯片引腳性質介紹:http://www.raoushi.com/bbs/dpj-41169-1.html STM32教程(4)-最小系統的設計:http://www.raoushi.com/bbs/dpj-41170-1.html STM32教程(5)-庫:http://www.raoushi.com/bbs/dpj-41171-1.html STM32教程(6)-STM32的流水燈程序:http://www.raoushi.com/bbs/dpj-41162-1.html
STM32編程基礎(1)-Keil編程軟件的安裝:http://www.raoushi.com/bbs/dpj-41163-1.html STM32編程基礎(2)-Keil庫的修改:http://www.raoushi.com/bbs/dpj-41164-1.html STM32編程基礎(3)-Keil建立工程模版:http://www.raoushi.com/bbs/dpj-41165-1.html STM32編程基礎(4)-Keil工程設置http://www.raoushi.com/bbs/dpj-41166-1.html
|