建设银行个人网上银行网站加载,做民宿推广都有哪些网站,百度助手下载,长春网站制作最专业目录
一、运行模式对比
1、Cortex-M运行模式
2、Cortex-A运行模式
二、寄存器组
1、Cortex-M寄存器组
2、Cortex-A寄存器组 一、运行模式对比
1、Cortex-M运行模式
STM32只有两种运行模式#xff0c;hander模式和线程模式。根据操作权限的不同#xff0c;又分为特权级…目录
一、运行模式对比
1、Cortex-M运行模式
2、Cortex-A运行模式
二、寄存器组
1、Cortex-M寄存器组
2、Cortex-A寄存器组 一、运行模式对比
1、Cortex-M运行模式
STM32只有两种运行模式hander模式和线程模式。根据操作权限的不同又分为特权级和用户级。为了提供一种存储器访问的保护机制使得普通的用户程序代码不能意外地甚至是恶意地执行涉及到要害的操作处理器支持两种特权级特权级hander模式、特权级线程模式 不同级别和操作模式下的转换 2、Cortex-A运行模式
Cortex-A就有9种运行模式 除了 User(USR)用户模式以外其它 8种运行模式都是特权模式。这几个运行模式可以通过软件进行任意切换也可以通过中断或者异常来进行切换。受限的资源就必须进行模式切换。但是用户模式是不能直接进行切换的用户模式下需要借助异常来完成模式切换当要切换模式的时候应用程序可以产生异常在异常的处理过程中完成处理器模式切换。 二、寄存器组
1、Cortex-M寄存器组 R0-R12通用寄存器都是32 位通用寄存器用于数据操作。但是注意绝大多数16 位Thumb 指令只能访问R0‐R7而32 位Thumb‐2 指令可以访问所有寄存器
R13两个堆栈指针因此任一时刻只能使用其中的一个
主堆栈指针MSP复位后缺省使用的堆栈指针用于操作系统内核以及异常处理例程包括中断服务例程
进程堆栈指针PSP由用户的应用程序代码使用。
R14连接寄存器当呼叫一个子程序时由R14 存储返回地址
R15程序计数寄存器指向当前的程序地址。如果修改它的值就能改变程序的执行流
特殊功能寄存器Cortex‐M3 还在内核水平上搭载了若干特殊功能寄存器包括程序状态字寄存器组PSRs、中断屏蔽寄存器组(PRIMASK, FAULTMASK, BASEPRI)、控制寄存器CONTROL 2、Cortex-A寄存器组
Cortex-A架构提供了16个32位的通用寄存器 (R0~R15)供软件使用前 15个 (R0~R14)可以用作通用的数据存储 R15是程序计数器 PC用来保存将要执行的指令。 ARM还提供了一个当前程序状态寄存器 CPSR和一个备份程序状态寄存器 SPSRSPSR寄存器就是 CPSR寄存器的备份。 Cortex-A7 有9 种运行模式每一种运行模式都有一组与之对应的寄存器组。每一种模式可见的寄存器包括15 个通用寄存器(R0~R14)、一两个程序状态寄存器和一个程序计数器PC。在这些寄存器中有些是所有模式所共用的同一个物理寄存器有一些是各模式自己所独立拥有的。浅色字体的是与User 模式所共有的寄存器蓝绿色背景的是各个模式所独有的寄存器。 R0-R7未备份寄存器所有的处理器模式下这 8个寄存器都是同一个物理寄存器在不同的模式下这8个寄存器中的数据就会被破坏。所以没有特殊用途
R8-R12备份寄存器在快速中断模式下 (FIQ)它们对应着 Rx_irq(x8~12)物理寄存器其他模式下对应着 Rx(8~12)物理寄存器。
R13栈指针一共有 8个物理寄存器其中一个是用户模式 (User)和系统模式 (Sys)共用的剩下的 7个分别对应 7种不同的模式。
R14连接寄存器当呼叫一个子程序时由R14 存储返回地址。一共有 7个物理寄存器其中一个是用户模式 (User)、系统模式 (Sys)和超级监视模式 (Hyp)所共有的剩下的 6个分别对应 6种不同的模式。
R15程序计数寄存器指向当前的程序地址。如果修改它的值就能改变程序的执行流
CPSR当前程序状态寄存器。该寄存器包含了条件标志位、中断禁止位、当前处理器模式标志等一些状态位以及一些控制位
总结一下 Cortex-A内核寄存器组成如下
①、 34个通用寄存器包括 R15程序计数器 (PC)这些寄存器都是 32位的。
②、 8个状态寄存器包括 CPSR和 SPSR。
③、 Hyp模式下独有一个 ELR_Hyp寄存器。 参考资料
《Cortex M3权威指南(中文)》
《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.3》
(48条消息) Cortex-M与Cortex-A处理器运行模式与寄存器组对比_hurryddd-CSDN博客_cortexa和m