ARM 实践

来源:互联网 发布:linux 增加物理内存 编辑:程序博客网 时间:2024/05/20 10:23

l       嵌入式系统

 一种应用式系统,包含一个可编程的计算机【微处理器(microprocessor unit)MPU,微控制器(microcontrol unit)MCU,数字信号处理芯片DSP(simple ion chip)SOC片上系统】且使用该系统的人一般为意识到该系统基于计算机。一般由软件,处理器,存储器,输入输出组成。

l       ARM

Advance RISC machine特点指令长度固定32位,支持THUMBARM2套指令,使用大量寄存器,寄存器和内存打交道唯一通道LOAD/STORE的体系结构

 

 

 

处理器模式

描述

用户模式(usr,user)

正常程序执行模式

快速中断模式(fiq,FIQ)

高速数据传输和通道处理

外部中断模式(irq,IRQ)

通常中断处理

特权模式(sve,SUPERVISOR)

操作系统使用保护模式

数据访问终止模式(abt,Abort)

虚拟存储和存储保护

未定义 指令终止模式(und,undifine

软件仿真硬件的协处理器

系统模式(sys,systerm)

特权级操作系统任务

除用户模式其他6种模式也叫特权模式,在这些模式下可以访问系统所有资源,也可以任意进行处理器模式切换,除系统模式外其他5个模式又叫异常模式。用户模式通过应用程序的异常处理切换到其他模式,保护应用程序数据。

寄存器分类

²        未分组寄存器R0-r7(所有模式下寄存器都指向同一物理寄存器,模式切换可能造成数据破坏

²        分组寄存器R8-r14(模式访问寄存器和处理器当前模式有关,r8~r12每个寄存器对应2个物理寄存器当使用fiq模式,访问寄存器r8_fiq~r12_fiq,其他模式访问寄存器r8_usr~r12_usr;对于r13,r14每个对应6个不同的寄存器,其中一个是系统模式和用户模式公用,另外5个寄存器对应5个不同模式。R13通常用作堆栈指针(用户应用程序初始化,一般都初始化每种模式的R13,使其指向该模式的栈空间,当应用程序进入异常模式下,将需要保护的寄存器存放在R13,当程序返回再从R13回复)r14子程序连接寄存器或连接寄存器LR,当执行BL子程序调用R14得到R15的备份,其他情况R14用作通用寄存器。寄存器R14通常用在如下情况:

在每种模式下,都可以用R14保存子程序的返回地址,当用BL或者BLX指令调用子程序时,将PC当前值拷贝给R14,执行完子程序又将R14的值返回给PC,即完成子程序调用过程。

²        程序计数器R15(pc) ARM状态下【10】保存0312】保存PCTHUMB状态下0位是0其他位保存PCARM指令PC总指向当前指令的下两条指令,即地址+8

²        R16用作CPSRCURRENT PROGRAM STATUS REGISTER)当前程序状态寄存器

²        SPSR 备份程序状态寄存器;当发生异常时SPSR备份CPSR,异常结束放回CPSR。只有异常模式有

原创粉丝点击