CP15—系统控制协处理器(the system control coprocessor)他通过协处理器指令MCR和MRC提供具体的寄存器来配置和控制caches、MMU、保护系统、配置时钟模式(在bootloader时钟初始化用到)……

CP15的寄存器只能被MRC和MCR(Move to Coprocessor from ARMRegister )指令访问

他包括15个具体的寄存器如下:-R0:ID号寄存器 这是一个只读寄存器,返回一个32位的设备ID号,32具体功能参考2410 datesheet的 table 2-5

-R0:缓存类型寄存器(CACHE TYPE REGISTER),注意有2个R0,根据MCR操作数的不同传送不同的值,这也一个只读寄存器,包含了caches的信息。读这个寄存器的方式是通过设置协处理操作码为1.

如:

MRC p15,0,Rd,c0,c0,1; 返回caches的详细信息

详见:table 2-6

-R1:控制寄存器 2-10

-R2:转换表基址寄存器(Translation Table Base --TTB) 2-12

-R3:域访问控制寄存器(Domain access control )2-13

-R4:保留 2-14

-R5:异常状态寄存器(fault status -FSR)2-14

-R6:异常地址寄存器(fault address -FAR)2-15

-R7:缓存操作寄存器 2-15

-R8:TLB操作寄存器 2-18

-R9:缓存锁定寄存器 2-19

-R10:TLB 锁定寄存器 2-21

-R11-12&14:保留

-R13:处理器ID 2-22

-R15:测试配置寄存器 2-24

推荐内容