-
前言
我们在分析内核寄存器的时候,经常需要使用到System Control寄存器,那么System Control寄存器在Cortex-M与Cortex-R系列的主要差别是什么呢?本文从总线上进行分析,列举了最主要的一点差异。为了方便理解,下面讨论都是ARMv7架构,含ARMv7-R和ARMv7-M。 -
Cortex-M4的system control register
每个system control register都占据总线上一个物理地址。
System control register自带system tick的中断。也就是内核自带系统定时器。
虽然这里是借用的Cortex-M4的TRM文档,注意这不是M4才拥有,是ARMv7-M全系列适合的。
-
Cortex-R5的system control register
利用协处理器CP15实现system control。
-
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的权限
【ARM】Cortex-R与Cortex-M的system control寄存器的主要差异
于 2022-08-20 15:33:34 首次发布