【ARMv7-A】——CP15 协处理器

本文介绍了ARMv7-A架构下的CP15协处理器,包括其功能、指令格式如MCR和MRC,以及各寄存器的功能,如C0标识寄存器、C1系统控制寄存器等。MCR用于将ARM寄存器数据传送到协处理器,而MRC则是将协处理器数据传送到ARM寄存器。在用户模式下,通常通过操作系统提供的SWI调用来访问CP15寄存器。
摘要由CSDN通过智能技术生成

CP15 协处理器

Coprocessor 协处理器提供内核的一些系统配置功能,一共有16个32bit的协处理器,简写为C0-15。对CP15的访问受权限控制,并非所有寄存器都在用户模式下可用。 通过协处理器指令 MCR和 MRC 提供具体的寄存器来配置和控制 caches、MMU、保护系统、配置时钟模式(在 bootloader时钟初始化用到)等。

指令格式

访问 CP15 寄存器的指令有下面两种:

  • MCR: ARM 寄存器到协处理寄存器的数据传送指令
  • MRC: 协处理寄存器到 ARM 寄存器的数据传送指令
    MCR 指令和 MRC 指令只能在处理器模式是系统模式时执行,在用户模式下执行 MCR 指令和 MRC 指令将会触发未定义指令的异常中断。
    如果需要在用户模式下访问 CP15 中寄存器,需要采用其他的方法。一种常见的做法是由操作系统定义一些 SWI 调用,这些 SWI 调用完成相应的功能,在用户模式下可以调用这些 SWI 调用。
MRC{
   cond}  p15,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值