25-ARM-V7架构

运行模式

  • User(USR):用户模式
    linux系统用户进程,资源访问受限
  • System(SYS):系统模式
    linux内核,共用寄存器,资源自由访问
  • IRQ:一般中断模式
    硬件产生中断信号
  • FIQ:快速中断模式
    时间紧急的中断,高速信号的传输、采集
  • Superivisor(SVC):管理模式
    默认模式,系统初始化,软中断
  • Abort(ABT):数据访问终止模式
    非法访问地址或寄存器,段错误
  • Undef(UND):未定义指令模式
    程序跑飞,篡改
  • Monitor:用于用户安全扩展模式
  • Hyp:用于虚拟化扩展

寄存器组

通用寄存器

  • r0~r3:用来传递函数参数、暂存数据
  • r4~r11:用来保存被调用函数的局部变量、暂存数据
  • r12:记录函数调用过程中上一次sp指针(堆栈指针)的值
  • r13(sp):函数堆栈寄存器
  • r14(lr寄存器):记录函数返回地址
  • r15(pc指针):程序计数器

程序状态寄存器

  • cpsr:该寄存器包含运算标志位、中断禁止位、当前运行模式标志等一些状态位以及一些控制位
  • spsr:发生异常切换模式时,将cpsr复制到异常的模式下的spsr

系统寄存器

cp15协处理器:内存、缓存、中断

相关推荐
milk_yan8 分钟前
MinIO的安装与使用
linux·数据仓库·spring boot
胡耀超8 分钟前
CentOS 7.9(linux) 设置 MySQL 8.0.30 开机启动详解
linux·mysql·centos
yyytucj20 分钟前
python--列表list切分(超详细)
linux·开发语言·python
Gemma's diary42 分钟前
Ubuntu开发中的问题
linux·运维·ubuntu
徊忆羽菲1 小时前
Linux下php8安装phpredis扩展的方法
linux·运维·服务器
老薛爱吃大西瓜1 小时前
关于ARM和汇编语言
汇编·arm开发
PH_modest2 小时前
【Linux跬步积累】——thread封装
linux·运维·服务器
秋说2 小时前
本地Ubuntu轻松部署高效性能监控平台SigNoz与远程使用教程
linux·运维·ubuntu
Joeysoda2 小时前
Java数据结构 (从0构建链表(LinkedList))
java·linux·开发语言·数据结构·windows·链表·1024程序员节
一个处女座的暖男程序猿2 小时前
MyBatis Plus 中常用的 Service 功能
linux·windows·mybatis