1引言
我们在学习STM32的时候,把被控单元的 FLASH,RAM,FSMC和AHB 到 APB 的桥(即片上外设),这些功能部件共同排列在一个 4GB 的地址空间内。我们在编程的时候,可以通过他们的地址找到他们,然后来操作他们(通过 C 语言对它们进行数据的读和写)。它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射。我们可以根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器。给已经分配好地址的特定功能的内存单元取别名的过程就叫寄存器映射。
然而笔者这里要讲的寄存器和我们操作STM32的寄存器不是一个东西,这里是CPU中的寄存器,它是一个存储器,其作用是进行数据的临时存储。为了进一步说明,笔者把CPU的寄存器叫做内部寄存器。首先我们来回顾下ARM架构CPU的内部结构。
控制单元是整个CPU的指挥控制中心,由程序计数器PC(Pro