2016东师春季《嵌入式系统》期末考核答案_第1页
2016东师春季《嵌入式系统》期末考核答案_第2页
2016东师春季《嵌入式系统》期末考核答案_第3页
2016东师春季《嵌入式系统》期末考核答案_第4页
2016东师春季《嵌入式系统》期末考核答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.期末作业考核嵌入式系统满分 100 分一、判断题(每题3 分,共 30 分)1.以 32 位 RISC 嵌入式处理器加嵌入式操作系统为标志的嵌入式系统为其发展的第三个阶段。( 对 )2.嵌入式系统的硬件一般包括嵌入式微处理器、外围电路和嵌入式外围设备等组成。(对)3. CodeWarrior具有很多功能,但不具备对文本文件进行比较的功能。(错)4. 一般情况下, GNU交叉工具链包括若干个工具软件。 (对)5. Linux内核的主要功能仅包括内存管理、任务调试、进度间通信和网络接口。(错)6. Linux采用的是树型目录结构,其中,最上层是根目录,其他的目录都是从根目录出发而生成的。(对)7

2、. 当程序状态寄存器 CPSR的 I 位置 1 时,允许 IRQ 中断。(错)8.所谓大端序 (也称为大端模式)是指字数据的高位字节存储在高地址中,而字数据的低字节则存放在低地址中。(错)9. DCW 用于分配一段半字对齐的内存单元,DCWU分配的内存单元并不严格半字对齐。 (对)10. 一个程序 (可以包含多个源文件)中至少要有一个ENTRY(可以有多个ENTRY),但一个源文件中最多只能有一个ENTRY(可以没有ENTRY)。(对)二、简答题(每题10 分, 50 分)1.比较 Nor Flash和 Nand Flash有相同和不同之处?1) 相同点:同属于非易失型存储器;可对存储器单元块

3、进行擦写和再编程;写入前必须先执行擦除操作;在进行写入和擦除操作时都需要MTD。2) 不同点:a)性能: Nor-Flash 的读取速度比Nand-Flash 稍快; Nand-Flash 的写入速度比Nor-Flash 快很多;Nand-Flash 的 4ms 擦除速度远比Nor-Flash 的 5s 快; Nand-Flash 的擦除单元更小,擦除电路更少。b) 接口差别: Nor-Flash 带有 SRAM 接口; Nand-Flash 使用复杂的 I/O 口来串行地存取数据。c) 容量和成本: Nand-Flash 的单元尺寸几乎是 Nor-Flash 器件的一半; Nand-Flas

4、h 的成本低于Nor-Flash; Nand-Flash 的容量大于Nor-Flash。d)研发公司: Nand-Flash 由日本东芝公司研发,Nor-Flash 由 Intel 公司研发。e)用途: Nand-Flash 相当于硬盘,用于存放数据,使用时要MTD;Nor-Flash 存入程序,执行程序,且不需要任何软件支持。2. 什么是源程序模拟器?它有哪些功能?答:源程序模拟器也称为指令集模拟器,它是用来在一台计算机上模拟另一台计算机上目标程序;.(机器指令)运行过程的软件工具,有时也叫做软仿真器。它是一个纯软件系统,在内部有一个反映目标处理器硬件的数据结构, 它以时序状态机的方式工作,

5、 可以根据目标机指令集定义执行目标指令。指令集模拟器的操作界面与集成开发环境类似。运行时,它接受目标代码的机器指令输入、模仿目标机的取指、译码和执行操作,并且将中间执行结果或者最终执行结果存入目标机映像数据结构中。3通常 Linux 内核移植有哪些基本过程?答:1)安装内核。2)清除从前编译内核时残留的.o 文件和不必要的关联。Make mrproper3)配置内核,修改相关参数。make menuconfig或 make xconfig4)正确设置关联文件。Make dep5)编译内核。make bzImage 或 make zImage6)编译模块。Make modules7)安装模块。M

6、ake moudes_install4假设 R0 的内容为 0x8000 ,寄存器 R1、R2内容分别为0x01 与 0x10 ,存储器内容为空,执行下述指令后,说明PC如何变化?存储器及寄存器的内容如何变化?STMIBR0!, R1, R2LDMIA R0!, R1, R2答:执行 STMIB 时, PC 最开始的值为 LDMIA指令下一条指令的地址,执行完STMIB 后PC=PC+4, 执行完 LDMIA指令后, PC=PC+4 。 执行指令 STMIB 时,寄存器 R0 的值变化过程如下: 0X8004 0X8008 ,存储器从地址 0X8004开始的连续四个单元存放R1 寄存器的值 0

7、X01 ,从地址0X8008 开始的连续的四个单元存放R2 寄存器的值 0X10,R1 和 R2 寄存器的内容保持不变。执行指令 LDMIA时,寄存器 R0 的值变化过程如下:0X8008 0X800C 0X8010 ,存储器的内容不变化,寄存器 R1的值为0X10 ,寄存器 R2 的值为 0X800C 开始的四个字节的内容。5在 ARM汇编语言程序编写规范中有哪些规则?答: 1在 ARM 汇编语言中,指令不能从一行的行头开始。在一行语句中,指令的前面必须有空格或者符号。2在 ARM 汇编语言中,符号必须从一行的行头开始,并且符号中不能包含空格,符号后面不能跟“:”。3ARM汇编器对标识符大小

8、写敏感(即区分大小写字母),书写标号及指令时字母大小写要一致。4在 ARM汇编程序中, ARM指令、伪指令、寄存器名可以全部为大写字母,也可以全部为小写字母,但不要大小写混合使用。5源程序中,语句之间可以插入空行,以使得源代码的可读性更好。6在 ARM 汇编语言中注释以分号“ ; ”开头。注释的结尾即为一行的结尾。注释也可以单独占用一行。7如果单行代码太长,可以使用字符“ ”将其分行。 “ ”后不能有任何字符,包括空格和制表符等。三、问答及应用题(每小题10 分,共 20 分);.1ARM处理器总共有多少个寄存器,这些寄存器按其在用户编程中的功能是如何划分的?这些寄存器在使用中各有何特殊之处?

9、答: ARM处理器总共有37 个寄存器。1、一般的通用寄存器在汇编语言中,寄存器R0 R13 为保存数据或地址值的通用寄存器。其中:?R0 R7 为未分组寄存器。在所有模式下对应相同的32 位物理寄存器。?R8 R14 为分组寄存器, 它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器。?寄存器 R8 R12 有两个分组的物理寄存器,一个用于除FIQ 模式之外的所有寄存器模式,另一个用于FIQ 模式。?寄存器 R13 和 R14 分别有 6 个分组的物理寄存器。一个用于用户和系统模式,其余 5个分别用于5 种异常模式。2、堆栈指针R13寄存器 R

10、13 通常作为堆栈指针SP。在 ARM指令集中,由于没有以特殊方式使用R13 的指令或其他功能,只是习惯上都这样用。每个异常模式都有其自身的R13 分组版本, 它通常指向由异常模式所专用的堆栈。在入口处, 异常处理程序通常将其他要使用的寄存器值保存到这个堆栈。通过返回时将这些值重新装到寄存器中,异常处理程序可确保异常发生时的程序状态不会被破坏。3、连接寄存器R14:在每种模式下,模式自身的R14 版本用于保存子程序的返回地址。当使用BL 或 BLX 指令调用子程序时, R14 设置为子程序返回地址。 寄存器 R14 在其他任何时候都可以作为一个通用寄存器。4、程序计数器R15:寄存器R15 保

11、存程序计数器PC 总是用于特殊用途。对其读写都有一定的限制和规则。在ARM 状态,位 1:0 为 0,位 31:2 保存 PC ,在 Thumb 状态,位 0 为 1, 15:1 保存PC。5、程序状态寄存器CPSR :所有模式共享一个程序状态寄存器。在异常模式中,另外一个寄存器程序状态保存寄存器SPSR 可以被访问。每种异常具有自己的SPSR,在进入异常时,它保存CPSR 的当前值;在异常退出时,可通过它恢复CPSR 。2假设变量 STR1中保存了一个以 0 终结的字符串, 试编写一个 ARM汇编子程序 STRCOPY实现将 STR1 中内容的逆序存入到 STR2开始的存储单元中。 STR1和 STR2的地址作为参数传递给汇编子程序。EXPORTSTRCOPY;.A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论