周立功版嵌入式课后习题答案

上传人:大米 文档编号:501182824 上传时间:2024-01-04 格式:DOC 页数:8 大小:71.50KB
返回 下载 相关 举报
周立功版嵌入式课后习题答案_第1页
第1页 / 共8页
周立功版嵌入式课后习题答案_第2页
第2页 / 共8页
周立功版嵌入式课后习题答案_第3页
第3页 / 共8页
周立功版嵌入式课后习题答案_第4页
第4页 / 共8页
周立功版嵌入式课后习题答案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《周立功版嵌入式课后习题答案》由会员分享,可在线阅读,更多相关《周立功版嵌入式课后习题答案(8页珍藏版)》请在金锄头文库上搜索。

1、第一章 嵌入式系统概述一、举出3个课本中未提到的嵌入式系统的例子。红绿灯控制、数字空调、机顶盒二、什么是嵌入式系统?特点是?答:嵌入式系统是嵌入到对象体系中的专用计算机应用系统。英国电机工程师协会定义:嵌入式系统为控制、检测或辅助某个设备、机器或工厂运作的装置。 1以技术角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2从系统角度的定义:嵌入式系统是设计完成复杂功能的硬件和软件.并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是大系统中的一个完整的部分.称为嵌入的系统。嵌入的系统中可以共存多个嵌入式

2、系统。特点:1、嵌入式系统通常应用在为特定用户设计的系统中.具有功耗低、体积小、集成度高等特点。将通用CPU中由板卡完成的任务集成在了嵌入式CPU内部。2、嵌入式系统是将先进的计算机技术、半导体技术和电子技术于各个行业的具体应用相结合的产物。所以是技术密集、资金密集、高度分散、不断创新的知识集成系统。3、嵌入式系统的硬件和软件都必须高效率地设计.量体裁衣.去除冗余。4、为了提高执行速度和系统可靠性.嵌入式系统中的软件一般都固化在存储器芯片或处理器芯片中.而不是存储于磁盘等载体中。由于嵌入式系统必须有较高的时实性.因此对程序的质量.特别是可靠性有较高的要求。5、嵌入式系统本身不具备自举开发能力.

3、必须有一套专用的开发工具和环境才能进行开发。三、什么叫嵌入式处理器?嵌入式处理器分为哪几类?答:嵌入式处理器是嵌入式系统的核心.是控制、辅助系统运行的硬件单元.与普通台式计算机的微处理器相比.其工作稳定性更高.功耗较小.对环境如温度、湿度、电磁场、震动等的适应能力更强.体积更小.且集成的功能较多。嵌入式处理器从应用角度.可以大致分为以下几类:1.注重嵌入式处理器的尺寸、能耗和价格。应用于新型电子娱乐等不注重计算的设备;2.注重嵌入式处理器的性能。应用于路由器等高速计算密集型的设备;3.注重嵌入式处理器的性能、尺寸、能耗和价格。应用于各种工业控制设备;按照结构分类:嵌入式微处理器EMPU;嵌入式

4、微控制器;嵌入式DSP处理器;嵌入式片上系统SOC。嵌入式系统的分类也是以上答案P5。四、什么是嵌入式操作系统?为何要使用嵌入式操作系统?答:操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口.使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。使用嵌入式操作系统原因之一就是因为其具有实时性。使用嵌入式实时操作系统具有以下优点:1. 嵌入式实时操作系统提高了系统的可靠性。2. 嵌入式实时操作系统提高了开发效率.缩短了开发周期。3. 嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。第二章 ARM7

5、体系结构一、基础知识1ARM7TDMI中的T、D、M、I的含义是什么?P19答:T后缀:高密度16位Thumb指令集扩展。 D后缀:支持片上调试。M后缀:64位乘法指令。 I后缀:Embedded ICE硬件仿真功能模块。2ARM7TDMI采用几级流水线?P20使用何种存储器编址方式?答:采用三级流水线.三个阶段分别为:取指、译码、执行。使用了冯诺依曼结构.指令和数据共用一条32位总线。3ARM处理器模式和ARM处理器状态有何区别?P24P26答:处理器模式指的是处理器在执行程序时.在不同时刻所处的不同状态。处理器状态指的是处理器当前所执行的指令集。4分别列举ARM的处理器模式和状态。答:处理

6、器模式:7种.:用户模式usr和特权模式.特权模式包括系统模式sys和异常模式.异常模式包括:管理模式、中止模式、未定义模式und、中断模式、快速中断模式。 处理器状态:ARM状态为32位.这种状态下执行的是字方式ARM指令.具有最完整的功能.处理器在系统上电时默认为ARM状态。Thumb状态为16位.这种状态下执行半字方式的Thumb指令。5PC和LR分别使用哪个寄存器?P31P32答:程序计数器PC使用R15寄存器.链接寄存器LR使用R14寄存器。6R13寄存器的通用功能是什么?P29P30答:ARM处理器通常将寄存器R13作为堆栈指针,用于保存堆栈的出入口处地址。7CPSR寄存器中哪些位

7、用来定义处理器状态?答:程序状态寄存器CPSR,8描述一下如何禁止IRQ和FIQ的中断?答:当控制位I置位时.IRQ中断被禁止.否则允许IRQ中断使能;当控制位F置位时.FIQ中断被禁止.否则允许FIQ中断使能。二.存储器格式定义R0=0x12345678, 假设使用存储指令将R0的值存放在0x4000单元中。如果存储器格式为大端格式.请写出在执行加载指令将存储器0x4000单元的内容取出存放到R2寄存器操作后所得R2的值。如果存储器格式改为小端模式.所得R2值又为多少?低地址0x4000单元的字节内容分别是多少?P49三、处理器异常请描述一下ARM7TDMI产生异常的条件是什么?各种异常会使

8、处理器进入哪种模式?进入异常时内核有何操作?各种异常的返回指令又是什么?答:只要正常的程序被暂时中止.处理器就进入异常模式。地址异常进入时的模式进入时I的状态进入时F的状态返回指令0x0000 0000复位管理禁止禁止无0x0000 0004未定义指令未定义IFMOVS PC,R14_und0x0000 0008软件中断管理禁止FMOVS PC,R14_svc0x0000 000C中止预取中止IFSUBS PC,R14_abt, # 40x0000 0010中止数据中止IFSUBS PC,R14_abt, # 80x0000 0014保留保留0x0000 0018IRQ中断禁止FSUBS PC

9、,R14_irq, # 40x0000 001CFIQ快速中断禁止禁止SUBS PC,R14_fiq, # 4第三章ARM7TDMI指令系统一、基础知识1ARM7TDMI有几种寻址方式P53?LDR R1,R0, #0x08属于哪种寻址方式?答:共有8种寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。LDR R1,R0, #0x08属于基址寻址.意思是读取R0+0x08地址上的存储单元的内容.存入R1。2ARM指令的条件码有多少个P60?默认条件码是什么?答:有16个.EQ、NE、CS/HS、CC/LO、MI、PL、VS、VC、HI、

10、LS、GE、LT、GT、LE、AL、NV, 默认条件码是AL。3ARM指令中第2个操作数有哪几种形式P58?列举5个8位图立即数。答:有3种形式:immed_8r常数表达式。Rm寄存器方式。Rm,shift寄存器移位方式。5个8位图立即数:0x3FC0xFF、0、0xF00000000xF0、200、0xF00000010x1F。4LDR/STR指令的偏移形式有哪4种P62?LDRB指令和LDRSB指令有何区别?答:LDR/STR指令的偏移形式有4种,分别是:零偏移、前索引偏移、程序相对偏移、后索引偏移。LDRB指令是加载无符号字节数据.LDRSB指令则是加载有符号字节数据。LDRB就是读出指

11、定地址的数据并存入指定寄存器.LDRSB读出指定地址的数据.高24位符号位用于扩展.再存入指定寄存器。5请指出MOV指令与LDR加载指令的区别及用途。答:MOV指令的源操作数是常数或带偏移量的寄存器.用于寄存器之间的数据传送;LDR指令的源操作数是地址.用于存储器到寄存器的数据传送。6CMP指令是如何执行的?写一程序.判断R1的值是否大于0x30.是则将R1减去0x30。答:CMP 指令将寄存器Rn 的值减去operand2 的值.根据操作的结果更新CPSR 中的相应条件标志位.以便后面的指令根据相应的条件标志来判断是否执行。CMP指令不保存运算结果.在进行两个数据的大小判断时.常用CMP指令

12、及相应的条码来操作。程序:CMP cond Rn, operand2 CMP R1,#0x30 ;将R1与常数0x30比较 LDRLE PC.LR ;如果小于或等于0x30.则程序返回 SUB R1.R1, #0x30 ;大于0x30.则将R1减去0x30.结果存回R17调用子程序是用B指令还是用BL指令?请写出返回子程序的指令。P73答:BL 指令用于子程序调用。 MOV PC.LR 或者 BX LR8请指出LDR伪指令的用法。P61指令格式与LDR加载指令的区别是什么?答:LDR指令用于从内存中读取数据放入寄存器或者用于加载32位的立即数.还常用于加载芯片外围功能部件的寄存器地址.指令格式

13、与LDR加载指令的区别在于第二个数为地址表达式.伪指令的LDR的参数有=号。9ARM状态与Thumb状态的切换指令是什么?请举例说明。答:切换指令是BX指令。BX指令跳转到Rm指定的地址去执行程序。若Rm的bit0为1.则跳转时自动将CPSR中的标志T置位.即把目标地址的代码解释为Thumb代码;若Rm的bit0为0.则跳转时自动将CPSR中的标志T复位.即把目标地址的代码解释为ARM代码。10Thumb状态与ARM状态寄存器有区别吗P28、P34、P35、P81?Thumb指令对哪些寄存器的访问受到一定限制?答:Thumb状态与ARM状态的寄存器有区别:1、由于Thumb指令集不包含MSR和

14、MRS指令.如果用户需要修改CPSR的任何标志位.必须回到ARM模式。通过BX和BLX指令来改变指令集模式.而且当完成复位Reset或者进入到异常模式时.将会被自动切换到ARM模式。2、访问R8-R15的Thumb数据处理指令不能更新CPSR中的ALU状态标志。Thumb指令对R8-R15寄存器访问受限。11Thumb指令集的堆栈入栈、出栈指令是哪两条?P83入栈指令PUSH.出栈指令POP12Thumb指令集的BL指令转移范围为何能达到4MB? 其指令编码是怎样的?Thumb 采用两条16 位指令组合成22 位半字偏移.使指令转移范围为4MB。BL label。 LRPC-4.PClabel2.有符号和无符号加法下面给出A和B的值.可以先手动计算A+B.并预测N、Z、V和C标志位的值。然后修改程序清单3.1中R0、R1的值.将这两个值装载到这两个寄存器中使用LDR伪指令.如LDR R0,=0xFFFF0000”,使其执行两个寄存器的加法操作。调试程序.每执行一次加法操作就将标志位的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号