stm32固件库(STM32F10x标准外设库)V3.5简介
? ? ? STM32F固件庫(kù)是根據(jù)CMSIS(ARM Cortex微控制器軟件接口標(biāo)準(zhǔn))而設(shè)計(jì)的。CMSIS標(biāo)準(zhǔn)由ARM和芯片生產(chǎn)商共同提出,讓不同的芯片公司生產(chǎn)的Cortex M3微控制器能在軟件上基本兼容。
? ? STM32F10x的固件庫(kù)是一個(gè)完整的軟件(稱固件包),包括所有的標(biāo)準(zhǔn)外設(shè)的設(shè)備驅(qū)動(dòng)程序,其本質(zhì)是一個(gè)固件函數(shù)包(庫(kù)),它由程序、數(shù)據(jù)結(jié)構(gòu)和各種宏組成,包括了微控制器所有外設(shè)的性能特征。
? ? 此函數(shù)庫(kù)還包括每一個(gè)外設(shè)的驅(qū)動(dòng)描述和應(yīng)用實(shí)例,為開發(fā)者訪問底層硬件提供了一個(gè)中間API(APPlication Programming Interface,應(yīng)用編程接口)。通過使用固件函數(shù)庫(kù),無(wú)須深入掌握底層硬件細(xì)節(jié),開發(fā)者就可輕松應(yīng)用每一個(gè)外設(shè)。每個(gè)外設(shè)都由一組函數(shù)組成,這組函數(shù)覆蓋了此外設(shè)的所有功能 。每個(gè)器件的開發(fā)都由一個(gè)通用API驅(qū)動(dòng),API對(duì)此驅(qū)動(dòng)程序的結(jié)構(gòu)、函數(shù)和參數(shù)外稱都進(jìn)行了標(biāo)準(zhǔn)化。
? ??STM32F10x標(biāo)準(zhǔn)外設(shè)庫(kù)--目錄結(jié)構(gòu)
? ?
(1)、LOGO圖標(biāo);(2)、庫(kù)函數(shù)與啟動(dòng)文件;(3)、驅(qū)動(dòng)示例和工程模板;(4)、ST官方開發(fā)板實(shí)例;(5)、更新說(shuō)明;(6)、庫(kù)使用幫助文件。
? ? 主要介紹2、3、4目錄:
? ? (2)、Librarier目錄
? ? ?此目錄含2個(gè)目錄(CMSIS、STM32F10x_StdPeriph_Driver),見下圖:
?
? ? 一、CMSIS子目錄
? ? CMSIS子目錄是STM32F10x的內(nèi)核庫(kù)目錄,核心子目錄為CM3,其余目錄可忽略。
? ? CM3目錄下有2個(gè)子目錄,如下圖:
? ??
? ?1)CoreSupport子目錄
? ? 內(nèi)有2個(gè)重要文件,一個(gè)是core_cm3.c(內(nèi)核通用源文件),另一個(gè)是core_cm3.h(內(nèi)核通用頭文件)。上述文件位于CMSIS核心層的核內(nèi)外設(shè)訪問層,由ARM公司提供,包含用于訪問內(nèi)核寄存器的名稱、地址定義等內(nèi)容。
? ?2)、DeviceSupport子目錄
? ??
1)、stm32f10x.h:STM32F10x頭文件;
2)、system_stm32f10x.c:系統(tǒng)初始化源文件;
3)、ststem_stm32f10x.h:?系統(tǒng)初始化頭文件;
4)、startup:啟動(dòng)文件子目錄,內(nèi)包含4個(gè)子目錄,其中arm子目錄內(nèi)存的都是根據(jù)FLASH容量大小所對(duì)應(yīng)的啟動(dòng)文件(見下圖)。
? ? 上述文件位于CMSIS核心層的設(shè)備外設(shè)訪問層,由ST公司提供,包含片上核外設(shè)寄存器外稱、地址定義、中斷向量定義等。
?二、STM32F10x_StdPeriph_Driver目錄
? ? 此目錄是STM32F10x標(biāo)準(zhǔn)外設(shè)驅(qū)動(dòng)庫(kù)函數(shù)目錄,包括了所有STM32F10x微控制器的外設(shè)驅(qū)動(dòng),如GPIO、TIMER、SysTick、ADC、DMA、USART、SPI、I2C等。
? ? 內(nèi)有2個(gè)子目錄(inc、src)見下圖:
1)、inc子目錄: include的縮寫,存放的是每個(gè)外設(shè)庫(kù)函數(shù)的頭文件。
2)、src子目錄:source的縮寫,存放的是每個(gè)外設(shè)庫(kù)函數(shù)的源文件。
(3)、Project目錄
? ? 此目錄對(duì)應(yīng)標(biāo)準(zhǔn)外設(shè)庫(kù)體系架構(gòu)的用戶層,存放ST公司官方提供的STM32F10x外設(shè)驅(qū)動(dòng)示例(STM32F10x_StdPeriph_Example)和工程模板(STM32F10x_StdPeriph_Template)。
內(nèi)有2個(gè)目錄,見下圖
?
?1)、STM32F10x_StdPeriph_Example子目錄
2)、?STM32F10x_StdPeriph_Template子目錄
上圖5個(gè)子目錄是開發(fā)工具,每個(gè)目錄下存放的STM32F10x的工程文件。
用戶相關(guān)應(yīng)用文件5個(gè)(main.c、stm32f10x.conf.h、stm32f10x_it.c、stm32f10x_it.h、system_stm32f10x.c),無(wú)論是哪種開發(fā)工具構(gòu)建的STM32F10x工程,用戶的具體應(yīng)用都只與這5個(gè)文件有關(guān)。這樣,在同一型號(hào)的微控制器上開發(fā)不同應(yīng)用時(shí),不須修改相關(guān)開發(fā)工具目錄下的工程文件,只需要用新寫的應(yīng)用程序文件替換這5個(gè)文件即可。
(4)、Utilities子目錄
? ? 此目錄存放ST公司官方評(píng)估板的BSB(Board Support Package,板級(jí)支持包)和第三方固件
?
?
?
?
? ??
? ??
總結(jié)
以上是生活随笔為你收集整理的stm32固件库(STM32F10x标准外设库)V3.5简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity Joystick手势操作
- 下一篇: html拖拽手势,h5实现手势操作放大缩