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协处理器:内存、缓存、中断

相关推荐
金色熊族8 分钟前
在Qt中使用asan检测内存泄漏(一)
linux·qt·asan
第404号工位17 分钟前
“已彻底删除”的照片与文件到底去哪了?我用底层扇区扫描,扒出手机和电脑的幽灵数据
linux·python·架构
硅基手札1 小时前
SPI技术系列 12 · SPI 设备驱动实战
linux·驱动开发·单片机·嵌入式硬件·mcu·性能优化·系统架构
不悔哥1 小时前
ESP32上跑 Linux: 乐鑫给 ESP32-S31开放了官方 BSP
linux·嵌入式硬件·开源
syagain_zsx2 小时前
WebSocket 教程:websocketpp 写 echo 服务端
linux·网络·c++·websocket·网络协议·工具库
无足鸟ICT2 小时前
【RHCA+】_etc_yum.repos.d_文件名.repo
linux·运维·centos
骑着蜗牛撵大象3272 小时前
字节序、TLV 到 netlink:Linux 网络消息的编解码全链路
linux·网络·php·etl·序列化·字节序·tlv
tianyuanwo2 小时前
RPM Spec中Name: %{?scl_prefix}xxx中增加宏定义的设计原理
linux·服务器·rpm·scl
张小姐的猫2 小时前
【MySQL】数据类型
android·linux·数据库·c++·mysql·adb·php
金色熊族3 小时前
ebpf程序开发(一)--ubuntu20.04
linux·ebpf