寄存器

来源:互联网 发布:手机画中画软件 编辑:程序博客网 时间:2024/06/06 09:10

stm32由cortex-M3内核和外设构成
1.ICode是用来取指令(指令存于flash),内核取指令来执行程序
2.DCode取数据,常量放于flash,变量放于SRAM
3.系统总线访问外设的寄存器
4.DMA总线传输数据,DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作
5.flash:存放程序
6.内部的 SRAM,即我们通常说的 RAM,程序的变量,堆栈等的开销都是基于内部的SRAM。内核通过 DCode总线来访问它
7.在存储器 Block2这块区域,设计的是片上外设,它们以四个字节为一个单元,共 32bit,每一个单元对应不同的功能,当我们控制这些单元时就可以驱动外设工作。我们可以找到每个单元的起始地址,然后通过 C 语言指针的操作方式来访问这些单元

根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器

给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。

8.偏移地址是指本寄存器相对于这个外设的基地址的偏移
9.位功能是寄存器说明中最重要的部分,它详细介绍了寄存器每一个位的功能,例如BRy引脚说明为1时,用于复位(置0),BSy引脚为1,用于置位(置1)

地址

1.外设基地址:其中 APB1 总线的地址最低,片上外设从这里开始,也叫外设基地址
2.总线基地址:片上外设区分为三条总线,根据外设速度的不同,不同总线挂载着不同的外设,APB1挂载低速外设,APB2 和 AHB 挂载高速外设。相应总线的最低地址为总线基地址