【ARM】Cortex-R与Cortex-M的system control寄存器的主要差异

  1. 前言
    我们在分析内核寄存器的时候,经常需要使用到System Control寄存器,那么System Control寄存器在Cortex-M与Cortex-R系列的主要差别是什么呢?本文从总线上进行分析,列举了最主要的一点差异。为了方便理解,下面讨论都是ARMv7架构,含ARMv7-R和ARMv7-M。

  2. Cortex-M4的system control register
    每个system control register都占据总线上一个物理地址。
    System control register自带system tick的中断。也就是内核自带系统定时器。
    在这里插入图片描述

    虽然这里是借用的Cortex-M4的TRM文档,注意这不是M4才拥有,是ARMv7-M全系列适合的。
    在这里插入图片描述
    在这里插入图片描述

  3. Cortex-R5的system control register
    利用协处理器CP15实现system control。
    在这里插入图片描述

  4. ARMv7架构文档
    ARMv7-R是通过CP15实现system control。由此可知Cortex-R 系列可以不占用物理总线地址实现system control。这个地方是Cortex R和M的区别。
    在这里插入图片描述

    提到ARMv7-M最多可拓展16个协处理器,其中CP8-CP15是预留给ARM的,估计CP0-CP7是给原厂使用的。CP10、CP11是用于浮点运算的。
    在这里插入图片描述

    配置CP10和CP11的权限在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值