欢迎来到天天文库
浏览记录
ID:47492235
大小:181.50 KB
页数:4页
时间:2020-01-12
《嵌入式系统课后习题部分答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章1-1.简述嵌入式系统的定义。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。1-2.简述嵌入式系统的组成。从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。嵌入式系
2、统硬件平台为各种嵌入式器件、设备(如ARM、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。1-3.ARM7处理器使用的是(ARMv4)指令集。ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。1-6.ARM9采用的是(5)级流水线设计。存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。第二章2-1.简述ARM可以工作在几种模式。ARM处理器共有7种工
3、作模式:用户模式(User)、快速终端模式(FIQ)、外部中断模式(IRQ)、特权模式(svc)、数据访问中止模式(Abort)、未定义指令中止模式(Undef)、系统模式(System)。除用户模式外其他6种模式称为特权模式。在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换。再除去系统模式,其余5种模式又称为异常模式。2-2.ARM核有多少个寄存器?ARM处理器有如下37个32位长的寄存器:(1)30个通用寄存器;(2)6个状态寄存器:1个CPSR(CurrentProgramStat
4、usRegister,当前程序状态寄存器),5个SPSR(SavedProgramStatusRegister,备份程序状态寄存器);(3)1个PC(ProgramCounter,程序计数器)。2-3.什么寄存器用于存储PC和LR寄存器?寄存器R15称为程序计数器(ProgramCounter,PC),寄存器R14又被称为连接寄存器(LinkRegister,LR)。2-4.R13通常用来存储什么?R13(theStackPoint,SP,栈指向),用于存储堆栈指针。2-5.系统模式使用的寄存器最少。(不确定)
5、2-6.CPSR的(第5位T位)反映了处理器的状态。P152-7.ARM有哪几个异常类型?P20ARM体系结构中,存在7种异常处理。复位异常、未定义指令异常、软中断、预取指令异常、数据访问中止异常、外部中断请求、快速中断请求。2-8.复位后,ARM处理器处于何种模式、何种状态?ARM状态?!(不清楚)2-9.BIC指令有什么作用?BIC(BitClear)位清零指令,将寄存器Rn的值与第2个源操作数shifter_operand的值的反码按位做“逻辑与”操作,结果保存到Rd中。指令的语法格式BIC{
6、}{S},,2-10.当指令SWI指令时,会发生什么?软件中断指令(SoftwareInterrupt,SWI)用于产生软中断,从而实现从用户模式变换到管理模式,CPSR保存到管理模式的SPSR中,执行转移到SWI向量,在其他模式下也可以使用SWI指令,处理器同样切换到管理模式。第三章3-2.如何从ARM状态切换到Thumb状态?P54对于汇编程序来说,可以有两种方法来实现程序状态的切换。第一种方法是利用连接器提供的交互子程序Veneer来实现程序状态的切换,这
7、时用户可以使用指令BL来调用子程序;第二种方法是用户自己编写状态切换的程序。BX指令ARM状态下的BX指令,使程序跳转到指令中指定的参数Rm所指定的地址执行程序,Rm的第0位复制到CPSR中的T位,bits[31∶1]移入PC。指令的语法格式如下:BX{}3-3.在ARM汇编中如何定义一个全局的数字变量?P61GBLA、GBLL和GBLS伪操作用于定义一个ARM程序中的全局变量并将其初始化。其中GBLA伪操作用于定义一个全局的数字变量并初始化为0。格式为:GBLA3-5.
8、AAPCS过程调用标准的内容是什么?(书上没有,一下为网上收集的内容,如果有听课的同学,请更正并通知大家)过程调用标准ATPCS(ARM-ThumbProduceCallStandard)规定了子程序间相互调用的基本规则,ATPCS规定子程序调用过程中寄存器的使用规则、数据栈的使用规则及参数的传递规则。l寄存器使用规则(1)子程序间通过寄存器R0~R3传递参数,寄存器R0~R3可记作A
此文档下载收益归作者所有