-
硬件模块与总线连接:各种硬件模块(如 GPIO 控制器)与 CPU(或内核)通过总线进行连接。这个总线负责数据和指令的传输。
-
特殊功能寄存器(SFRs)的角色:每个硬件模块内部都有一组特殊功能寄存器(SFRs)。这些寄存器是硬件模块的一部分,用于存储该模块的当前状态和配置信息。它们在特定的内存地址中有其对应的位置。
-
使用
LDR
读取当前配置:当 CPU(或内核)需要更改硬件模块(如 GPIO 控制器)的某些配置时,它首先使用LDR
指令从相应的特殊功能寄存器地址读取当前的配置或状态。 -
在内核中进行位操作:读取到的值通常会在 CPU 内部进行某种形式的位操作(例如,位偏移、位设置或位清除)以生成新的配置值。
-
使用
STR
写回新配置:完成位操作后,CPU 会使用STR
指令将新的配置值写回到相应的特殊功能寄存器。 -
硬件模块的响应:一旦新的配置值被写入特殊功能寄存器,硬件模块(如 GPIO 控制器)会立即根据这些新设置进行操作。
-
执行操作:现在,当 CPU 通过总线发送指令给这个硬件模块时(例如,改变一个 GPIO 引脚的状态),该硬件模块会根据特殊功能寄存器中的新配置执行相应的操作。