ARM开发基本概念

一、ARM内核分为哪几类?他们之间有什么区别?

ARM内核主要分为三类,Cortex-A,Cortex-R,Cortex-M三种,A代表Applications,向用户提供全方位解决方案,主要用于复制的应用场合,比如智能手机、移动计算平台,数字电视、机顶盒、打印机或服务器等。R代表Real-Time Embedded,主要用于实时应用的系统,面向深层嵌入式实时应用,对低功耗、良好的中断行为、卓越性能以及与现有平台的高兼容性这些需求进行了平衡考虑,比如摄像机、智慧汽车等。M代表MCU & FPGA,面向具有确定性的微控制器应用的成本敏感型解决方案,主要是针对微控制器领域开发的,在该领域中,既需进行快速且具有高确定性的中断管理,又需将门数和可能功耗控制在最低,例如玩具,电子手表、音响、游戏手柄等设备。

二、ARM工作模式

用户模式(USR:User)只能执行处理自己的数据,也不能切换到其它模式下,要想访 问硬件资源或切换到其它模式只能通过软中断或产生异常。

系统模式(SYS:System)系统模式是特权模式,不受用户模式的限制。

中止模式(ABT:Abort)当用户程序访问非法地址,没有权限读取的内存 地址时,会进入该模式

未定义模式(UDF:Undifined)CPU在指令的译码阶段不能识别该指令操作时, 会进入未定义模式。

快速中断模式(FIQ:Fast Interrupt Request)它是用来处理对时间要求比较紧急的中断请求, 主要用于高速数据传输及通道处理中。

一般中断模式(IRQ:Interrupt Request)用于处理一般的中断请求,通常在硬件产生中断 信号之后自动进入该模式,该模式为特权模式

管理模式(SVC:Supervisor)说明:系统复位或开机、软中断时进入到SVC模式下

安全监管模式(MON:Monitor)是为了安全而扩展出的用于执行安全监控代码的 模式;也是一种特权模式  Cortex-A特有模式

ARM系列有7个基本工作模式,Cortex-A系列有8种基本工作模式

除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes)

 

三、寄存器

R0~R12、R15、CPSR为通用寄存器,在任意一个模式下内核都可以存取,R13、R14与SPSR为私有寄存器,每个模式都有自己独有的。

R0~R10主要用于存放临时数据

R11(fp)frame pointer        用来记录一个栈空间开始的地址(栈底寄存器)

R12(ip)The Intra- Procedure-call scratch register        用来临时存放sp

R13(sp)        通常用作栈指针。指向当前栈的顶部(栈顶寄存器)

R14(lr)          通常用作连接(或返回地址)寄存器。存储子程序返回地址 (链路寄存器)

R15(pc)        通常用作程序计数器,存储下一条要执行的指令的地址。当执行指令时,CPU自动地修改PC 的内容,即每执行一条指令PC增加一个量,使 PC总是指向正在取指的指令地址

CPSR(Current Program Status Register)状态寄存器,记录当前的算数/逻辑操作结果、记录中断禁止标志位、记录当前的状态(ARM / Thumb)、记录当前的操作模式等

SPSR(Saved Program Status Register)临时保存CPSR,当一个异常发生时保存当前的CPSR 值。结合连接寄存器可使处理器返回先前的状态。

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值