STM32F103系列芯片的系統架構如下:
STM32芯片基于ARM公司的Cortex-M3內核,由ST公司設計生產,內核與總線矩陣之間有I(指令)、S(系統)、D(數據)三條信號線。內核通過總線矩陣與FLASH、SRAM、外設連接。而外設包括GPIO、USART、I2C、SPI等。
STM32芯片系統結構
STM32F103 系列芯片(不包含互聯網型)的系統結構如下:
從上圖可以看出,在小容量、中容量和大容量產品中,主系統由以下部分構
成:
四個驅動單元:
Cortex-M3 內核 DCode 總線(D-bus)
Cortex-M3 內核系統總線(S-bus)
通用 DMA1
通用 DMA2
四個被動單元:
內部 SRAM
內部閃存存儲器FLASH
FSMC
AHB 到 APB 的橋(AHB2APBx),它連接所有的 APB 設備
這些都是通過一個多級的 AHB 總線構架相互連接的。下面我們看看它們各自的功能:
ICode 總線
該總線將 Cortex-M3 內核的指令總線與閃存指令接口相連接。指令預取在此
總線上完成。
DCode 總線
該總線將 Cortex-M3 內核的 DCode 總線與閃存存儲器的數據接口相連接(常量加載和調試訪問)。
系統總線
此總線連接 Cortex-M3 內核的系統總線(外設總線)到總線矩陣, 總線矩陣協調內核和 DMA 間的訪問。
DMA 總線
此總線將DMA的AHB主控接口與總線矩陣相聯, 總線矩陣協調著CPU的DCode和 DMA 到 SRAM、閃存和外設的訪問。
總線矩陣
總線矩陣協調內核系統總線和 DMA 主控總線之間的訪問仲裁, 仲裁利用輪換算法。在互聯型產品中,總線矩陣包含 5 個驅動部件(CPU 的 DCode、系統總線、以太網 DMA、 DMA1 總線和 DMA2 總線)和 3 個從部件(閃存存儲器接口(FLITF)、SRAM 和 AHB2APB 橋)。AHB 外設通過總線矩陣與系統總線相連,允許 DMA訪問。
AHB/APB橋(APB)
兩個 AHB/APB 橋在 AHB 和 2 個 APB 總線間提供同步連接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有關連接到每個橋的不同外設的地址映射請參考《STM32F1xx 中文參考手冊》存儲器映像章節。在每一次復位以后,所有除 SRAM 和 FLITF 以外的外設都被關閉,在使用一個外設之前,必須設置寄存器 RCC_AHBENR 來打開該外設的時鐘。
STM32F1 的時鐘系統相對復雜,在后續文章中再介紹。
STM32學習進階路徑
基本外設:
GPIO 輸入輸出,外部中斷,定時器,串口。理解了這四個外設,基本就入門一款MCU了。
基本外設接口:
SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。這些外設接口功能原理對每個芯片幾乎都是一樣。對芯片而言就是多和少而已。
高級功能:
UCOS,FATFS,EMWIN 等。以及一些應用。
另外值得一提的是,C 語言是嵌入式開發的基礎中的基礎。如果 C 語言不過關,很大程度限制嵌入式學習的進度與深度。在這里推薦3本書學習C語言,剛開始可以參看譚浩強的《C程序設計 第四版》,入門之后看一下關于C指針的書《C 與指針》《C 指針編程之道》。學習嵌入式開發要多動手編程、多調試,遇到問題也可以向本公眾號留言提問,作為一個入坑不久的STM32嵌入式開發者,在力所能及的范圍內會抽時間與大家交流、反饋,與君共勉!
-
STM32
+關注
關注
2270文章
10904瀏覽量
356323 -
STM32F103
+關注
關注
33文章
477瀏覽量
63688
原文標題:STM32入門系列-學習STM32要掌握的內容
文章出處:【微信號:單片機與嵌入式,微信公眾號:單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論