什么是寄存器:
* 寄存器属于CPU外设的硬件组成部分。
* CPU可以像访问内存一样访问寄存器。
* 寄存器是CPU的硬件设计者制定的,目的是留作外设被编程控制的“活动开关”。
* 正如汇编指令集是CPU的编程接口API一样,寄存器是外设硬件的软件编程接口API。使用软件编程控制某一硬件,其实就是编程读写硬件的寄存器。
关于寄存器:
* 编程操作寄存器类似于访问内存。
* 寄存器中每个bit位都有特定的含义,因此编程操作时需要位操作。
* 单个寄存器的位宽一般和CPU的位宽一样,以实现最佳访问效率。
两类寄存器:
* Soc中有两类寄存器:通用寄存器和SFR。
* 通用寄存器(ARM中有37个)是CPU的组成部分,CPU的很多活动都需要CPU的支持和参与。
* SFR(Special Function Register,特殊功能寄存器)不在CPU中,而存在CPU的外设中,我们通过访问外设的SFR来编程操控这个外设,这就是硬件编程控制的方法。