网站大量收购独家精品文档,联系QQ:2885784924

嵌入式系统第二章.ppt

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

英国ARM公司——32位RISC结构IP核提供商 2.3.1 ARM微处理器的工作状态 ARM920T 处理器有两种工作状态: ARM工作状态 使用32-bit的ARM指令集 Thumb工作状态 使用16-bit的Thumb指令集 ARM状态和Thumb工作状态可以使用BX指令(分支和交换指令)进行切换 2.3.2 处理器的运行模式 ARM 处理器有7种运行模式: (1)用户模式(usr) - 正常的程序执行模式 (2)中断模式(irq) -用于通用中断处理 (3)快速中断模式(fiq) -用于高速数据传输或通道处理 (4)管理模式(svc) - 操作系统使用的保护模式 (5)数据访问中止模式(abt) – 数据指令预取中止时用 (6)系统模式(sys)- 用于运行具有特权的操作系统 (7)未定义模式(und)- 用于支持硬件协处理器软件仿真 寄存器组:共有37个32位寄存器 程序状态寄存器的格式 N、 Z、 C、 V 条件码标志: N —负数标志 Z—零标志 C—进位标志 V—溢出标志 I and F 位是中断禁止位 M0、 M1、 M2、 M3、 M4 是运行模式标志 T为ARM/Thumb状态标志位 异常——由内部或外部事件引起正常程序流程暂时停止,使处理器处理一个事件称为异常,处理异常之前必须保存处理器的状态。 异常的种类 (1)外部中断请求(IRQ) 该异常由外部通过对处理器上的nIRQ引脚产生。 (2)快速中断请求(FIQ) 该异常由外部通过对处理器上的nFIQ引脚产生, 在ARM状态中快速中断有8个专用寄存器可用于 快速保护现场。 (2)从异常返回的操作 1)将LR寄存器中的值减去相应的偏移量送到 PC中; 2)将 SPSR 复制回 CPSR; 3)清除禁止中断标志。 异常向量 * 第2章 ARM微处理器的体系结构 2.1 ARM微处理器 2.1.1 ARM微处理器概述 ARM——Advanced RISC Machines 精简指令集计算机(Reduced Instruction Set Computer) ARM——32位RISC结构IP(知识产权)核的主要供应商 目前ARM已成为一类嵌入式微处理器的通称 ARM7系列 ARM9系列 例如:S3C2410 ARM10E系列 ARM11系列 Cortex系列 例如:STM32F103 Intel的Xscale系列 Intel的StrongARM 2.1.2 ARM系列微处理器 ARM处理器的主要特点: 采用精简指令集(RISC) 具有16位/32位双指令集 采用多级流水线和缓存技术 大量使用寄存器,大多数数据操作在寄存器中完成 采用加载/存储模式 支持多种运行模式(7种) 2.1.3 ARM系列微处理器的特点 2.2 ARM的体系结构 2.2.1 ARM微处理器的CPU结构 2.2.2 ARM微处理器的精简指令集 采用固定长度的指令格式,指令规整、简单、数量少 使用单周期指令,便于流水线操作 大量使用寄存器,数据处理操作只对寄存器进行(加 载/存储型) 精简指令集的主要特点: 2.3 ARM微处理器的工作状态和运行模式 寄存器 未分组寄存器R0~R7,各模式通用 分组寄存器R8~R14,不同模式专用 程序计数器R15,各模式通用 当前程序状态寄存器CPSR与备份程序状 态寄存器SPSR , SPSR为不同模式专用 2.4 ARM微处理器的寄存器组织 2.4.1 ARM状态下的寄存器组织 (1) 未分组寄存器R0~R7 在7种不同模式下,未分组寄存器都指向同一物理 寄存器。如果从一种模式切换到另一种模式,寄存器 内容没有保护,程序设计时要注意。 (2) 分组寄存器R8~R14 对分组寄存器,每次访问的物理寄存器与处理器当前 操作模式有关。 同一分组寄存器,在不同操作模式下通过加后缀表示 例:R8_fiq表示快速中断模式下R8寄存器。 在分组寄存器中: R13一般用来作为堆栈指针(类似AT89S51的SP) R14(LR)一般用来作为调子程序的链接寄存器,当 执行调子程序指令BL时,将程序计数器R15的内容拷 贝进R14保存,从子程序返回时再将R14的内容送回 到程序计数器R15。 (3) 程序计数器R15(PC) R15一般用来存放下一条将要执行指令的地址(类似 AT89S51的PC) 在ARM状态下R15的最低2位为0,在Thumb状态下 R15的最低位为0 (4)当前程序状态寄存器CPSR与备份程序

文档评论(0)

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

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

1亿VIP精品文档

相关文档