初始STM32標準庫

2021-09-25 23:21:35 字數 1918 閱讀 9742

庫檔案一開始包含五個檔案:

- _htmresc

- libraries

- project

- utilities

- stm32f10x_stdperiph_lib_um.chm

下面一一介紹

裡邊只有兩張,一張cmsis的logo,另一張是st的logo

裡邊是st官方實驗板的例程,目前不會用到。

這個是庫幫助文件,我們可以在裡面查到所有關於庫的資訊,解釋十分詳細,要學會使用。

在這個資料夾下我們要介紹的東西比較多,驅動庫的源**以及啟動檔案,還有我們要使用的韌體庫都在裡邊。

在這個資料夾下又有兩個資料夾:

- cmsis

- stm32f10x_stdperiph_driver

下面簡單介紹幾個檔案,都在cm3中

首先是核心相關檔案在coresupport中,core_cm3.c,core_cm3.h

.**件中實現了核心暫存器的重對映,.c檔案中定義了一些操作核心外設的函式。

啟動檔案

下面說一說啟動檔案,位置:cmsis\cm3\devicesupport\st\stm32f10x\startup\arm

檔名的格式均為: startup_stm32f10x_size.s

啟動檔案

區別startup_stm32f10x_ld.s

ld: low-density 小容量, flash 容量在 16-32k 之間

startup_stm32f10x_md.s

md: medium-density 中容量, flash 容量在 64-128k 之間

startup_stm32f10x_hd.s

hd: high-density 中容量, flash 容量在 256-512k 之間

startup_stm32f10x_xl.s

xl: 超大容量, flash 容量在 512-1024k 之間

以上四種都屬於基本型,包括 stm32f101xx、 stm32f102xx、 stm32f103xx 系列

startup_stm32f10x_cl.s cl:connectivity line devices 互聯型,特指 stm32f105xx 和

stm32f107xx 系列

startup_stm32f10x_ld_vl.s

startup_stm32f10x_md_vl.s vl:value line devices 超值型系列,特指 stm32f100xx 系列

startup_stm32f10x_hd_vl.s

stm32f10x.h

這個檔案實現了片上外設的重對映。對於核心相當於core_cm3.h

system_stm32f10x.c

這個檔案實現了stm32的時鐘配置,操作片上的rcc外設,系統上電之後,顯示執行啟動檔案,啟動檔案的system_init函式就在這個檔案中,呼叫完之後時鐘就會配置成72m。如果我們需要重新配置時鐘,就可以對照這個函式來寫。

可以看到由inc和src兩個資料夾組成,分別為外設的標頭檔案和對應的驅動檔案。

其中還有乙個比較獨特的檔案misc.c和misc.h,這個檔案提供了對外設對核心中的nvic(中斷向量控制器)的訪問函式,在配置中斷時我們必須把這個新增到檔案中。

這裡我們要說的是幾個當我們用庫建立工程時還要新增的幾個檔案,stm32f10x_it.c、 stm32f10x_conf.h 和 system_stm32f10x.c 檔案。

檔案目錄: stm32f10x_stdperiph_lib_v3.5.0\project\stm32f10x_stdperiph_template

stm32f10_it.c:這個檔案是用來編寫中斷函式的,這個函式中還定義了一些系統異常的介面。

stm32f10_conf.h:這個檔案中包含了外設的標頭檔案,

STM32 標準韌體庫檔案分析

1 彙編編寫的啟動檔案 startup stm32f10x hd.s 設定堆疊指標 設定pc指標 初始化中斷向量表 配置系統時鐘 對用c庫函式 main最終去到c的世界 2 時鐘配置檔案 system stm32f10x.c 把外部時鐘hse 8m,經過pll倍頻為72m。3 外設相關的 stm32...

STM32的標準庫使用學習

用乙個led的輸出配置,和按鍵的輸入配置來進行記錄。初始化配置 void bspledinit 常用api gpio resetbits gpioc,gpio pin 13 gpio setbits gpioc,gpio pin 13 初始化配置 void bspkeyinit 常用api gpio...

STM32標準庫的介紹以及使用

因為基於cortex系列晶元採用的核心都是相同的,區別主要為核外的片上的差異 片上外設主要有晶元生產商來定 這些差異卻導致軟體在同核心,不同外設的晶元上移植困難。為了解決不同晶元廠商生產的cortex微控制器軟體的相容性問題,arm與晶元廠商建立了cmsis標準。cmsis層位於硬體層和使用者層之間...