l 嵌入式系统
一种应用式系统,包含一个可编程的计算机【微处理器(microprocessor unit)MPU,微控制器(microcontrol unit)MCU,数字信号处理芯片DSP,(simple ion chip)SOC片上系统】且使用该系统的人一般为意识到该系统基于计算机。一般由软件,处理器,存储器,输入输出组成。
l ARM
Advance RISC machine特点指令长度固定32位,支持THUMB和ARM2套指令,使用大量寄存器,寄存器和内存打交道唯一通道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状态下【1:0】保存0【31:2】保存PC;THUMB状态下0位是0其他位保存PC;ARM指令PC总指向当前指令的下两条指令,即地址+8
² R16用作CPSR(CURRENT PROGRAM STATUS REGISTER)当前程序状态寄存器
² SPSR 备份程序状态寄存器;当发生异常时SPSR备份CPSR,异常结束放回CPSR。只有异常模式有