嵌入式实验一.docx

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

计算机与电子信息学院 嵌入式体系结构课程实验报告 专业:计算机科学与技术 班级:计算机12-1 姓名: 学号:120344801 日期:2014-12-12 一、实验题目 ARM920T逻辑功能推导及设计 二、实验目的 三、实验内容 S3C2410典型内核(ARM920T)结构图 处理器工作模式 2.1 概述 S3C2410A 采用了非常先进的 ARM920T 内核,它是由 ARM(Advanced RISC Machines) 公司研制的。 2.2 处理工作状态 从程序员的角度上看, ARM920T 可以工作在下面两种工作状态下的一种: z ARM 状态:执行 32 位字对齐的 ARM 指令; THUMB 状态:执行 16 位半字对齐的 THUMB 指令。在这种状态下, PC 寄存器的第 1 位来选择一个字中的哪个半字。 注意:这两种状态的转换不影响处理模式和寄存器的内容。 2.3 切换状态 进入 Thumb 状态 进入 Thumb 状态,可以通过执行 BX 指令,同时将操作数寄存器的状态位( 0 位)置1 来实现。 当从异常( IRQ, FIQ, UNDEF, ABORT, SWI 等)返回时,只要进入异常处理前处理器处于 Thumb 状态,也会自动进入 Thumb 状态。 进入 ARM 状态 进入 ARM 状态,可以通过执行 BX 指令,并且操作数寄存器的状态位( 0 位)清零来实现。 当处理进入异常( IRQ, FIQ, RESET, UNDEF, ABORT, SWI 等)。这时, PC 值保持在异常模式下的 link 寄存器中,并从异常向量地址处开始执行处理程序。 存储空间的格式 ARM920 将存储器空间视为从 0 开始由字节组成的线性集合,字节 0 到 3 中保存了第一个字节,字节 4 到 7 中保存第二个字,依此类推, ARM920T 对存储的字,可以按照小端( Little endian)或大端( Big endian)的方式对待。 大端格式: 在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中, 如图3-4所示: 图 3- 4 以大端格式存储字数据 小端格式: 与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址 存放的是字数据的高字节。如图3-5所示: 图 3- 5 以小端格式存储字数据 2.4 指令长度 指令可以是 32 位长度(在 ARM 状态下)或 16 位长度(在 THUMB 状态)。 数据类型 ARM920T 支持字节( 8 位),半字( 16 位)和字( 32 位)数据类型。字必须按照 4 字节对齐,半字必须是 2 字节对齐。 2.5 操作模式 ARM920T 支持 7 种操作模式: 用户模式( user 模式),运行应用的普通模式; 快速中断模式( fiq 模式),用于支持数据传输或通道处理; 中断模式( irq 模式),用于普通中断处理。 超级用户模式( svc 模式),操作系统的保护模式 异常中断模式( abt 模式) ,输入数据后登入或预取异常中断指令 系统模式( sys 模式),是操作系统使用的一个有特权的用户模式 未定义模式( und 模式),执行了未定义指令时进入该模式 外部中断,异常操作或软件控制都可以改变中断模式。大多数应用程序都时是在用户模 式下运行。进入特权模式是为了处理中断或异常请求或操作保护资源服务的。 2.6 寄存器 ARM 共有 37 个 32 位的寄存器,其中 31 个是通用寄存器, 6 个是状态寄存器。但在同一时间,对程序员来说并不是所有的寄存器都可见。在某一时刻存储器是否可见(可被访问),是由处理器当前的工作状态和工作模式决定的。 ARM 状态寄存器 在 ARM 状态下,任何时刻都可以看到 16 个通用寄存器, 1 或 2 个状态寄存器。在特权模式(非用户模式)下会切换到具体模式下的寄存器组,其中包括模式专用的私有( banked)寄存器。图 2- 3 显示了在每个模式下哪种寄存器是可见的:私有寄存器上都有一个黑三角标记。 ARM 状态寄存器系列中含有 16 个 直接操作寄存器: R0 到 R15。除了 R15 外其他的都是通用寄存器,可用来存放地址或数据值。除此之外,实际上有 17 个寄存器用来存放状态信息。具体说明如下: 寄存器 14:专职持有返回点的地址,在系统执行一条“跳转并链接( link)”( BL)指 令的时候, R14 将收到一个 R15 的拷贝。其他的时候,它可以用作一个通用寄存器。 相应的它在其他模式下的私有寄存器 R14

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档