程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 認識固件庫(一),認識固件庫

認識固件庫(一),認識固件庫

編輯:關於C語言

認識固件庫(一),認識固件庫


 

我們使用STM32固件庫,就需要了解官方提供的固件庫包結構。

文件夾介紹:

      固件庫包的Libraries下有CMSIS和STM32F10x-StdPeriph-Driver兩個目錄,這其中包含了所以固件庫核心的所有子文件夾河子文件。

STM32F10x-StdPeriph-Driver   //目錄下為固件庫源代碼;
CMSIS //啟動文件,有inc和src兩文件夾,放置stm32f10x-xxx.h和stm32f10x-xxx.c,每個外設對應一個文件;
Project //存放ST官方提供實例源碼;

文件介紹:

core-cm3.c core-cm3.h                     //提供進入Cortex-M3內核接口,Coresupport目錄下
system-stm32f10x.c system-stm32f10x.h     //設置系統以及時鐘總線,DeviceSupport目錄下
stm32f10x.h                               //多結構體以及宏定義,DeviceSupport目錄下
startup-stm32f10x-ld.s
startup-stm32f10x-md.s
startup-stm32f10x-hd.s                    //對於103系列主要有三個啟動文件分別為小、中、大容量

      啟動文件主要是進行堆棧之類的初始化、中斷向量表以及中斷函數定義。啟動文件要引導進入main函數。Rest-Handler中斷函數是唯一實現的中斷處理函數,其他的中斷函數基本是死循環:

Rest handler
Reset-Handler PROC
EXPORT Reset-Handler
IMPORT --main
IMPORT SystemInit
LDR R0,=SystemInit
BLX R0
LDR R0,=--main
BX R0
ENDP

如上這段代碼在系統啟動之後,首先調用SystemInit系統初始化函數,再進入main函數。

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved