当前位置: 首页 > news >正文

ARM工作模式

ARM

  • ARM架构
  • ARM七个工作模式
  • 寄存器
  • 异常向量表
  • 存储格式(内存大小端)
  • 汇编指令

ARM架构

在这里插入图片描述
RAM:随机访问存储器
ROM:只读访问存储器
AHB:先进高速总线
APB:先进外设总线
USB:统一串行总线
norflash:可以被寻址
nandflash:不可以被寻址
ALU:算数逻辑单元

ARM七个工作模式

在这里插入图片描述

user:  用户模式(USR):正常程序执行模式,不能直接切换到其他模式
system:系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权
FIQ:   快中断模式(FIQ):支持高速数据传输及通道处理,FIQ异常响应时进入此模式
IRQ:   中断模式(IRQ):用于通用中断处理,IRQ异常响应时进入此模式
Supervisor:管理模式(SVC):操作系统保护模式,系统复位和软件中断响应时进入此模式(由系统调用执行软中断SWI命令触发)
Abort: 中止模式(ABT):用于支持虚拟内存和/或存储器保护,在ARM7TDMI没有大用处
Undef: 未定义模式(UND):支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式

寄存器

ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。
Cortex有40个32位寄存器
r0 - r12:通用寄存器
r13 (sp):栈指针寄存器
r14(lr):链接寄存器
r15(pc):程序计数器:指向程序运行的下一行
cpsr:当前程序状态寄存器
spsr:备份程序状态寄存器
在这里插入图片描述

异常向量表

函数指针的数组

1.拷贝cpsr到spsr上
2.设置
3.保存返回地址到LR_
4.设置pc为相应的异常向量
返回时:
1.从spsr_恢复cpsr
2.从LR_恢复PC

总结:恢复cpsr和pc

在这里插入图片描述

存储格式(内存大小端)

存储器格式:
大端格式:高字节在低地址,低字节在高地址
小端格式:高字节在高地址,低字节在低地址

汇编指令

1.基本框架

	area reset, code, readonlycode32entry           //{end             //}

http://www.mrgr.cn/news/5137.html

相关文章:

  • 细谈LCM驱动电压VGHVGL电路原理
  • Qt Maintenance Tool工具对组件进行更新安装或移除
  • 【python爬虫】邮政包裹物流查询2瑞数6加密
  • 在Windows Server 2012 R2上安装.NET Framework 3.5
  • MySQL:this is incompatible with sql_mode=only_full_group_by
  • 【机器学习】经典CNN架构
  • Scratch的备份与恢复:守护创意的堡垒
  • MySQL索引失效的场景
  • 【图形学】TA之路-基于Unity Shader编程之初体验
  • Linux程序打包解决多平台多版本依赖问题
  • 【C++】字符串操作
  • 回归分析系列15— 贝叶斯回归进阶
  • safari扩展程序开发
  • C++:继承(protected、隐藏、不能被继承的类、)
  • 【HTML】使用Javascript制作网页
  • 【python报错已解决】`Traceback (most recent call last)`
  • 手机麻将APP开发违法吗,有哪些注意的地方呢?
  • 苹果上架没有iphone、没有ipad也可以生成截屏
  • Scratch编程深度探索:解锁递归与分治算法的奥秘
  • 数据库学习