一、組合語言編寫的啟動檔案:
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的型號 ...