STM32固件庫說明
l發(fā)布時間:09/22/2008
本文引用地址:http://www.ex-cimer.com/article/201611/317016.html功能::給出了STM32微控制器片內(nèi)所有外設(shè)的驅(qū)動函數(shù),使用戶把更多的時間花在應(yīng)用程序的開發(fā)上,以加快產(chǎn)品上市時間。(實質(zhì)上是將各種寄存器的參數(shù)配置定義成宏,并以結(jié)構(gòu)體的方式給寄存器賦值,這樣既方便又易懂)
l特點:
- 由函數(shù)、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器所有外設(shè)的功能特征,還包括了每個外設(shè)的驅(qū)動描述和應(yīng)用實例
- 按照ANSI-C編寫的,不受開發(fā)環(huán)境的影響,僅啟動文件取決于開發(fā)環(huán)境(即程序和數(shù)據(jù)在寄存器中是如何配置的得根據(jù)所使用的開發(fā)環(huán)境),非常易于移植。
- 每個外設(shè)驅(qū)動都由一組函數(shù)組成,這組函數(shù)覆蓋了該外設(shè)所有功能。函數(shù)和參數(shù)名稱都進行了標準化(函數(shù)名就代表了該函數(shù)的功能,即見名可知其義)
STM32固件庫組成
STM32firmwarelibraryv2.0.3包含如下4個內(nèi)容
resc;stm32lib_contents.htm;version是對庫進行說明的文件
在文件夾STM32F10xFirmwareLibrary(FWLib)下,包含3個文件夾──文件夾examples
對應(yīng)STM32的每個外設(shè),都包含一個文件夾,這些子文件夾包含了整套源文件,來示范如何使用對應(yīng)外設(shè)有:
main.c:例程主函數(shù)
stm32f10x_int.c:包含了所有中斷服務(wù)程序(未使用的中斷,則其函數(shù)體為空)
stm32f10x_int.h:該頭文件包含了所有的中斷服務(wù)程序函數(shù)的原型
stm32f10x_config.h:該頭文件設(shè)置了所有用到的外設(shè),沒有用到的外設(shè)可以將其屏蔽掉,以節(jié)省編譯時間
readme.txt:對該例子進行簡單描述和使用說明
──文件夾library
包含了組成固件函數(shù)庫核心的所有源文件:
※子文件夾inc:包含了固件函數(shù)庫所需的所有頭文件,用戶無需修改該文件夾中的內(nèi)容
stm32f10x_type.h:所有其他文件所使用的數(shù)據(jù)和枚舉類型
stm32f10x_map.h:所有外設(shè)的存儲器映像和寄存器數(shù)據(jù)結(jié)構(gòu)
stm32f10x_lib.h:主頭文件,包含了其他所有頭文件(在源程序中只包含這個文件即可,而其他所需頭文件自動加入)
stm32f10x_ppp.h:每個外設(shè)對應(yīng)一個頭文件,包含了該外設(shè)使用的所用函數(shù)原型,數(shù)據(jù)結(jié)構(gòu)和枚舉(ppp代表某個外設(shè)的名字)
stm32f10x_macro.h:文件cortex3_macro.s對應(yīng)的頭文件(即操作Cortex_M3核所需的頭文件)
※子文件夾src:包含了固件庫所需的所有源文件,用戶無需修改該文件夾中的內(nèi)容
stm32f10x_ppp.c:每個外設(shè)對應(yīng)一個源文件,該源文件包含了該外設(shè)使用的所有函數(shù)體
stm32f10x_lib.c:用于初始化所有外設(shè)的指針
──文件夾project
包含了一個標準的程序項目模板,包括庫文件的編譯和所有用戶可修改的文件,可用以建立新的工程。
stm32f10x_config.h:項目配置頭文件,默認為允許了所有的外設(shè)
stm32f10x_it.c:所有中斷服務(wù)程序函數(shù)體,默認都為空
stm32f10x_it.h:所有中斷服務(wù)程序的原型(不用修改)
main.c:主函數(shù)體,默認為只有一個空的主函數(shù)
評論