STM32的系统结构
ICode总线
内核必须通过ICode读取flash程序,几乎每时每刻都在执行。
DCode总线。
读取数据专用,可以读取flash里面的常量,或者读取SRAM里面的变量数据。
DMA总线
最主要的作用是帮助外设内存间搬运数据,同时cpu可以空闲做其他事情,可以理解为就是个搬运数据的工具人。
System总线
也可以进行读取数据,但最主要是用来读取寄存器的数据。
STM 32为32位的系统,他们访问4GB的内存地址,它会开辟4GB的内存,并分成八块。(block0——block7)每块大小为512M.
举例f10xxx系列来说:
block0被flash占用,占用大小为512KB。
block1被SARM占用,大小为64kb。
block2被外设所占用。
block3和block4被FSMC所占用。
block5被FSMC的寄存器所占用。
block6空闲。
block7被内核所占用,内核里面也有寄存器等。
寄存器:STM32里面具有特定功能的内存单元。
寄存器映射:给寄存器分配地址的过程叫做映射。
寄存器重映射:给寄存器再分配一个地址的过程叫做重映射。