DSP

ARM 实践

2019-07-13 18:31发布

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。只有异常模式有