韌體庫檔案解析及構建工程

2021-10-01 17:48:02 字數 1915 閱讀 2553

一、組合語言編寫的啟動檔案:

stm32f103rbt6使用的是128kb的內建flash,因此,應該使用的檔案是startup_stm32f10x_md.s

主要作用:設定堆疊指標,pc指標,初始化中斷向量表,配置系統時鐘,呼叫c語言的_main前往c語言部分執行。

二、配置系統時鐘的時鐘配置檔案

使用的檔案是system_stm32f10x.c

主要作用:把外部時鐘she的8mhz經pll倍頻為72mhz。

pll:鎖相環時鐘,專門用來倍頻。

三、外設相關

1.實現外設的暫存器對映的檔案使用的檔案是stm32f10x.h

外設一般是由製造商設計,stm32f103rbt6的外設是st公司設計

2.stm32f10x_xx.h外設的初始化結構體,結構體成員的初始化列表,函式的宣告

stm32f10x_xx.c外設的驅動檔案

其中,xx可以是gpio、i²c、uart等等

四、實現核心的暫存器對映的檔案

使用cmsis標準,cortex微控制器軟體介面標準

**core_cm3.h、核心中外設的暫存器對映的檔案

core_cm3.c****核心中外設的驅動程式

核心由ip廠商設計,stm32f103rbt6的ip核由arm公司設計

nvic(巢狀向量中斷控制器)和systick(系統滴答定時器)

misc.h

misc.c

五、標頭檔案的配置檔案

stm32f10x_conf.h標頭檔案的標頭檔案,包含所有的標頭檔案

專門存放中斷服務函式的c檔案

stm32f10x_it.c

stm32f10x_it.h

一、首先,應該建立乙個資料夾,裡面四個資料夾,分別是存放核心和外設檔案的libraries,存放工程的project,存放使用者編寫的檔案的user(main.c和標頭檔案的配置檔案)

二、建立乙個新的工程的方法如下:選擇在project資料夾下建立四個工程目錄(右鍵target1建立),存放啟動檔案(.s)的startup,存放外設檔案的fwlib,存放核心檔案的cmsis,以及存放自己編寫的**的user;也可以再有乙個寫文件的doc目錄

三、配置

1.在魔術棒的c/c++的define裡新增use_stdperiph_driver,stm32f10x_md

2.在魔術棒的c/c++的include paths裡新增所有檔案的目錄。

!!!!檔案必須是在直屬的目錄當中,否則會報錯,如下。可以把需要的.h和,c都放在幾個檔案目錄裡

如此,乙個工程就建立完成了。

構建工具 webpack檔案配置

webpack作為前端構建工具已被廣泛使用,最近在做react reflux webpack的專案,於是在這裡儲存一下webpack的配置,供以後查閱。webpack在開發模式下的配置 webpack development server configuration this file is set...

STM32韌體庫檔案分析

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

STM32新建工程(基於韌體庫)超級不詳細版

小白總結,不是很詳細 自己記性不好,萬一自己忘記了可以直接看自己的總結 新建資料夾 在工程資料夾下新建四個子資料夾名字隨意其中user用來存放工程檔案obj用來存放生成的中間檔案 lib用來存放需要用到的標頭檔案及.c檔案。core用來存放啟動檔案 3.新建工程放在user目錄下,選擇mcu的型號 ...