STM32内部结构.docSTM32系统结构
要想深刻理解STM32勺存储器,需要首先知道STM32勺系统结构 如Figure 1,是STM32系统结构框图。
Figure 1. System architecture
iCoOfl
Rash
FLITF
DCode
DM Al
FSMC
!2U窑
DhK R沖j电st
□r/A2
DMA request
ADCf ADC2 A0C3 USftATl SPI1 TM
TfH0 GPiOA
GPIOB
GP'OC GP!OD GPOE GPOF GP X
EXT: AFlO
Reset a cioch
GQrtroi tRCU)
SDIO
IF
日rdg自2
S/&:epn
DMAf^
―
CM
—►
V
f
|AP82
DAC SP 3 2S
P\¥R SP Z/i2S
BKP
WDG
toxCA--. WEDG
USB
PTC
i?C2
TSM7
!2C1
TfMc
UART5
TIM0
UAR*4
tlMd
USAP73
T:M3
US^R72
TIME
根据 STM32 Referenee manual (RM0008)中的描述,如图:
Ll low-. medium-, ldgh- ainl XL -density devices, tli? mam system consists of
Four masters:
-Coitex™-AB <01 e ICode bus(Lbp^)
■ DCode bits (D-bus)
-System bus iS-busl
-GP-I>LLX1 & 2 (genei^l-puipose I)1\LX}
Four slaves:
-Internal SRAM
- Iiiteiual Flash memoiv
-FSMC
-AHB to APBx <APB1 or APE2 h whifh romiect ill the APB peiipliei als
可以得知STM32系统结构的组成,每一个模块更为详细的内容,请参考相关文档 RM0008文档中可以看出,
STM32采用的是Cortex-M3内核,因此,有必要了解 Cortex-M3的存储器结构。
图中还可以看出,Cortex-M3是通过各个总线和Flash、SROMi连接的。
STM32内核(Cortex-M3)的结构 以下是Cortex-M3模块框图:
sv\
Cortex-M3
'SMI
01 Fliiu PIN 切'门
CX13M^
-F八仃
st i: rrtE r
T卩L
A RGM
.-■..'lLc ,Uj.
Dwk £■
藍化L :
4 AHB^A 卩
CorRx-M3 ttifelEffl
宙行 二黑'i
JTAG-DP
注二ETM和MPU&可选的*您的系统实规中可以不具有这两个畑初1。4疥门乩UMMU「血。
该 Cortex-M3 内核通过 l-Code、D-Code System 总线与 STM32内部的 Flash、 SRO相连接的,该种连接情况直接关系到STM32存储器的结构组织;也就是说, Cortex-M3的存储器结构决定了 STM32勺存储器结构。
这里可能说的比较笼统,可以这 样理解:Cortex-M3是一个内核,自身定义了一 个存储器结构,ST公司按照Cortex-M3的这个存储器定 义,设计出了自己的存 储器结构;但是ST公司的STM32勺存储器结构必 须按照Cortex-M3这个定义的 存储器结构来进行设计。
举个例子:
我买了一个做饭的调料盒子,有三块区域(假设存储器分为3块),上面分别标 有盐(Flash )、糖(SROM、味精(Peripheral );此时,该调料盒子并没 有 任何意义(对应Cortex-M3内核);我按照标签放入特 定品牌、特定分量的盐
(Flash )、糖(SROM、味精(Peripheral ),产生一个有实际意义的调料盒 (各类Cortex-M3内核的芯片,如STM32 。
期间,调料位置不能放错,但可以不放。由上面的例子可以看出,空的调料盒子 决定了有意义的调料盒子存放调料的结构。因此,只要了解空盒子的存储结构, 就可以很清楚的明白当有调料时的用法了。
STM32内核(Cortex-M3)的存储器映射
存储器映射是指把芯片中或芯片外的FLASH RAM外设,BOOTBLOCK进行统一 编址。即用地址来表示对象。这个地址绝大多数是由厂家规定好的,用户只能用 而不能改。用户只
STM32内部结构 来自淘豆网m.daumloan.com转载请标明出处.