嵌入式系统3(ARM基本编程模型)概要.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统3(ARM基本编程模型)概要

* 西安电子科技大学计算机学院 * 状态切换方法 ARM和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,但ARM微处理器在开始执行代码时,应该处于ARM状态,执行异常时也应处于ARM状态。 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。 西安电子科技大学计算机学院 * 2.1 字的长度 字(Word): 字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。 字必须排成四字节对齐 半字(Half-Word): 半字的长度为16位,与8位/16位处理器体系结构中字的长度一致 半字必须排成两字节对齐 字节(Byte): 在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位 西安电子科技大学计算机学院 * 2.2 指令长度 32位指令-A32(ARM状态下) 16位指令-T16(Thumb状态下) 64位指令-A64(AArch64,64位执行状态) 西安电子科技大学计算机学院 * 3. ARM处理器的运行模式 * 处理器模式 说明 备注 用户 (usr) 正常程序工作模式 不能直接切换到其它模式 系统 (sys) 用于支持操作系统的特权任务等 与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq) 支持高速数据传输及通道处理 FIQ异常响应时进入此模式 中断 (irq) 用于通用中断处理 IRQ异常响应时进入此模式 管理 (svc) 操作系统保护代码 系统复位和软件中断响应时进入此模式 中止 (abt) 用于支持虚拟内存和/或存储器保护 在ARM7TDMI没有多大用处 未定义 (und) 支持硬件协处理器的软件仿真 未定义指令异常响应时进入此模式 西安电子科技大学计算机学院 * 特权模式和异常模式 特权模式: 除了用户模式外,其它模式都是特权模式; 异常模式: 除了系统模式外的特权模式是异常模式。 西安电子科技大学计算机学院 * 系统模式与异常模式 系统模式运行特权操作系统任务。 存在于ARMv4及以上体系结构版本。 与用户模式有完全相同的寄存器组,操作系统任务可访问所有需要的系统资源而不受用户模式限制。 异常模式主要处理中断和异常。 当应用程序发生异常中断时,处理器进入相应的异常模式。 每一种异常模式中都有某些附加的影子寄存器组供相应的异常处理程序使用。 西安电子科技大学计算机学院 * 4. 处理器的寄存器组织 ARM有37个32 位长的寄存器: 1个用作PC(program counter); 30个用作一般通用寄存器; 1个用作CPSR(current program status register); 5个用作SPSR(saved program status registers)。 这些寄存器不能被同时访问;与微处理器的工作状态及具体的运行模式有关。 通用寄存器R0~R14、程序计数器PC、一个或两个状态寄存器通常是可访问的。 * 西安电子科技大学计算机学院 * ARM状态各模式下的寄存器 西安电子科技大学计算机学院 * ARM状态各模式下的寄存器 SPSR_fiq SPSR_irq SPSR_und SPSR_abt SPSR_svc CPSR R15 R14_fiq R14_irq R14_und R14_abt R14_svc R14 R13_fiq R13_irq R13_und R13_abt R13_svc R13 R12_fiq R12 R11_fiq R11 R10_fiq R10 R9_fiq R9 R8_fiq R8 R7 R6 R5 R4 R3 R2 R1 R0 所有的37个寄存器,分成两类: 31个通用32位寄存器; 6个状态寄存器。 西安电子科技大学计算机学院 * 无 CPSR R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 用户 无 CPSR R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 系统 SPSR_svc CPSR R15 R14_svc R13_svc R12 R11 R10 R9 R8 R7 R6 R5 R4

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档