• 246.26 KB
  • 2022-04-22 11:39:00 发布

《嵌入式ARM系统原理与实例开发》(杨宗德 著)课后习题答案 北京大学出版社

  • 9页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'土星答案网您最真诚的朋友www.txdaan.com土星答案网团队竭诚为您服务免费提供大学课后答案|考研答案|高考答案|资格考试答案下载 第1章(1)嵌入式系统的定义是什么?嵌入式系统具有哪些主要特点?目前最通用的定义为:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”答:更为广泛的概念:“除通用计算机系统外,一切智能的电子设备都属于嵌入式设备”。主要特点如下:?在硬件上,嵌入式系统至少拥有一个高性能处理器作为硬件平台(目前以32位处理器为主流),如ARM、MIPS等处理器。?在软件上,嵌入式系统拥有一个多任务操作系统为软件系统平台,如Linux、WinCE、Symbian、μc/osII、VxWork等。(2)嵌入式系统与传统的单片机系统在软件和硬件上有哪些主要的不同?答:(1)在硬件上,嵌入式系统至少拥有一个高性能处理器作为硬件平台,而单片机系统一般为8位处理器和16位处理器。(2)在软件上,嵌入式系统拥有一个多任务操作系统为软件系统平台,单片机系统则一般为单任务软件。(3)常见的处理器有哪些类型,各有什么特点。各类处理器主要应用在哪些领域?答:微控制器:微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器的片上外设资源一般比较丰富,适合于控制。数字信号处理器:在系统结构和指令算法方面进行了特殊设计,数字信息信号处理器在数字滤波、FFT、谱分析等各种仪器上获得了大规模的应用。微处理器:以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入土星答案网式微处理器具有体积小、重量轻、成本低、低功耗、可靠性高的优点。片上系统:主要特点包括(1)改变内部工作电压,降低芯片功耗。(2)减少芯片对外管脚数,简化制造过程。(3)减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度。(4)内嵌的线路可以避免外部电路板在信号传递时所造成干扰信号。(4)在嵌入式系统中,操作系统具有怎样主要功能和特点?www.txdaan.com答:?方便用户使用,OS应该使计算机系统使用起来十分方便。?扩展机器功能,OS应该对系统硬件功能进行充分融合利用,扩充机器功能。?管理系统资源,OS应该管理好系统中的所有硬件软件资源。?提高系统效率,OS应该充分利用计算机系统的资源,提高计算机系统的效率。?构筑开放环境,OS应该构筑出一个开放环境。?支持体系结构的可伸缩性和可扩展性,支持应用程序在不同平台上的可移植性。(5)常见的实时操作系统有哪些,各有什么特点,具体应用在哪些领域?答:Vxworks操作系统WinCE操作系统 Symbian操作系统Linux操作系统μC/OS(6)在设计嵌入式系统时,在选择嵌入式处理器和实时操作系统时,分别考虑哪些主要因素?答:在嵌入式系统设计时,以满足系统要求为依据。在选择处理器时,主要考虑功能、功耗、体积、可靠性等因素,在选择操作系统时,主要考虑操作系统的实时性,可靠性,可裁剪性等。第2章(1)以ARM为内核的32位微处理器主要有哪些特点,在ARM内核处理器命名上,T、D、M、I、E、S和J各代表什么意义?答:T表示支持16位Thumb指令集;D表示支持在线Debug;M表示内嵌乘法器Multiplier;I表示嵌入式ICE,支持在线断点和调试;E表示DSP指令,支持DSP的特定指令,主要是16bit;S表示具有可综合功能,提供VHDL或者Verilog语言设计,可以实现自己特定的硬件;J表示支持新的JAVA功能。(2)通用计算机与嵌入式处理器各采用哪种CPU架构,这两类在CPU架构主要有哪些不同?土星答案网答:通用计算机:采用冯诺依曼结构的微处理器的程序空间和数据是合在一起的,即取指令和取操作数都是在同一条总线上,通过时分复用的方式进行的。大多数嵌入式处理器:采用哈佛总线结构的芯片内部程序空间和地址空间是分开的,这就允许同时取指令(来自程序空间)和同时取操作数(来自数据空间)。www.txdaan.com(3)通用计算机与嵌入式处理器各采用哪种指令集,这两类指令集有哪些不同?答:通用计算机:复杂指令系统计算机(CISC)包含一个丰富的微代码系统,简化了处理器上运行程序的编制.主要有以下几个特点:?具有大量的指令和寻址方式;?大多数程序只使用少量的指令就能够运行。绝大多数嵌入式处理器:精简指令系统计算机(RISC)有一个精简的指令系统。从而提高了微理器的效率,但需要更复杂的外部程序,也就是把在处理器层没有完成的工作放到了上层进行,而处理器层少的这些成本可以用对物理器件速度的提高上去。RISC有下特点:?8/2原则:80%的程序只使用20%的指令;?采用Load/store指令模式,凡数据由外存到内存、内存到寄存器方向的流动统一用Load指令,而对于反方向的操作,都用store; ?用小指令集、多寄存器、指令执行简单快速;?统一用单周期指令,从根本上克服了CISC指令周期数有长有短、偶发性不确定、运行失常的缺点。(4)ARM7、ARM9内核处理器各采用几级流水线,分别是哪几级流水线结构?答:ARM7TDMI采用三级流水线,分另为取指令、解码指令和执行操作。ARM9TDMI采用5级流水线结构,分别为取指令、译码、执行、存储、写操作五级。(5)从内部结构及功能来看,ARM7、ARM9、Xscal内核处理器各自有哪些不同,主要应用在哪些领域?答:ARM7内部结构框图,包括AddressRegister(地址寄存器)、AddressIncrementer(地址累加器)、ResisterBank(寄存器块)、Booth’sMultiplier(乘法器)、32位ALU单元、Write/ReadDataRegister(读/写数据寄存器)、逻辑控制单元等部分。没有内存管理单片。ARM9TDMI处理器内核采用ARMV4T架构,增加了可用的存储器宽度、指令存储器接口以及数据存储器接口,可以支持16bitThumb指令集和32btiARM指令,ARM9作为高性能的32位RISC处理器内核,可以实现对指令和数据存储器的同时访问。如图2-9所示为ARM9功能结构图。主要包含以下结构:?16KB指令和16KB数据缓存;?存储管理单元MMU,这有别于ARM7TDMI;?一个AMBA?(AdvancedMicroprocessorBusArchitecture)总线接口;?一个EmbeddedTraceMacrocell(ETM)接口。有内存管理单元,便于移植操作系统。土星答案网第3章(1)试列举ARM处理器工作模式,各工作模式主要完成怎么样的功能?答:User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。FIQ:快速中断模式。当一个高优先级中断产生时,系统将会进入这种操作模式,用于高速www.txdaan.com数据传输和通道处理,由FIQ请求位发出请求信号。IRQ:普通中断模式。当一个低优先级中断产生时将会进入这种操作模式,本模式用于通常的中断处理,由IRQ请求位发出请求信号。Supervisor:管理模式。当复位或软中断指令执行时将会进入这种操作模式,是一种可以供操作系统使用的保护模式。Abort:中止模式。当存取异常时将会进入这种操作模式,此模式可以被用作虚拟存储及存储保护,可由ABORT请求位发出请求信号。Undef:未定义模式。当执行未定义指令时会进入这种操作模式,多被用于软件仿真硬件协处理器时。(2)试列举ARM处理器各寄存器功能,在不同的模式下可以访问哪些寄存器?答:1个寄存器用作PC(ProgramCounter),即程序寄存器,指向程序执行位置。 1个寄存器用作CPSR(CurrentProgramStatusRegister),即当前状态寄存器,保存当前CPU状态。5个寄存器用作SPSR(SavedProgramStatusRegisters),备份不同模式下CPSR的值。30个寄存器作为通用寄存器,存储数据使用。(3)试说明CPSR寄存器各位功能。答:标志位含义NN=1表示运算的结果为负数;N=0表示运算的结果为正数或零ZZ=1表示运算的结果为零;Z=0表示运算的结果为非零CC=1表示有进位,C=0表示没有进位VV=1表示符号位溢出,V=0表示结果没有溢出Q在ARMvTE/J架构支持,指示DSP指令是否溢出J仅ARM5TE/J架构支持,J=1表示处理器处于Jazelle状态II=1表示禁止IRQFF=1表示禁止FIQT仅ARMxT架构支持,T=0表示处理器处于ARM状态,T=1表示处理器处于Thumb状态(4)试列出ARM处理器常见中断方式,并说明ARM处理器在响应这些中断时要经历哪些主要步骤?答:异常类型具体含义FIQ当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常IRQ当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常异常中断当外部的ABORT输入产生时,发生异常断土星答案网软件中断该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令,可使用该异常机制实现系统功能调用复位当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行未定义指令当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真www.txdaan.comARM处理异常时,将立即通过备份寄存器保存当前CPU的状态。PC和CPSR寄存器中的内容被分别拷贝到R14和SPSR中,PC和CPSR中的模式位M[0:4]根据异常类型被强制改变。在异常中断处理中,如果要禁止其它难以管理异常的嵌套,可以置位中断标志位禁止再次中断请求。在需要重复进入中断处理程序的情况下,R14和SPSR应该在中断被使能之前保存到主存储的堆栈中;当传送SPSR寄存器到堆栈或者从堆栈传送时,需要注意的是必须传送整个字(32位)。当多个异常同时产生时,优先级决定异常响应的顺序。异常处理完毕之后,ARM微处理器将连接寄存器LR的值减去相应的偏移量后送到PC中,同时将SPSR复制回CPSR中,若在进入异常处理时设置了中断禁止位,要在此清除。(5)为什么说ARM处理器是32位处理器,主要体现在哪些方面,其汇编采用怎样的指令编码格式?答:数据线32位,寄存器32位,编码32位。 (6)试列出16类指令条件域所对应的CPSR寄存器相应位状态。答:条件码助记符后缀标志含义0000EQZ置位相等0001NEZ清零不相等0010CSC置位无符号数大于或等于0011CCC清零无符号数小于0100MIN置位负数0101PLN清零正数或零0110VSV置位溢出0111VCV清零未溢出1000HIC置位Z清零无符号数大于1001LSC清零Z置位无符号数小于或等于1010GEN等于V带符号数大于或等于1011LTN不等于V带符号数小于1100GTZ清零且(N等于V)带符号数大于1101LEZ置位或(N不等于V)带符号数小于或等于1110AL忽略无条件执行(7)ARM处理器主要有哪些类型的寻址方式,各有什么特点?答:立即寻址寄存器寻址基地址变址寻址寄存器偏移寻址寄存器间接寻址土星答案网多寄存器寻址(8)ARM指令和伪指令主要功能是什么?在ARM处理器中,有哪些类型的ARM指令,试举例说明相应指令编码格式,在ARM汇编程序设计时,有哪些主要类型的伪指令,试举例说明各类伪指令功能。www.txdaan.com答:ARM指令:指示处理器如何工作。伪指令:协助编译器。指令略。(9)试用汇编程序实现求两个数中最大数。答:(10)试用汇编程序实现1~100的加法运算。答:(11)试用汇编程序实现10的阶乘运算。答: (12)完成本章中所有源代码编写及调试。答:第4章(1)试列举在进行嵌入式软件开发时,ARM汇编语言多用来开发哪些类型的程序。答:Bootloader程序中多采用汇编程序和C语言汇合编程。操作系统中有少部分是汇编程序,绝大部分采用C语言编写,例如Linux内核。(2)在使用ADS平台进行嵌入式应用程序开发时,armasm、armcc、armcpp、armlink主要功能是什么,如果要编译Thumb指令集程序,需要使用哪些命令。答:armasm:此命令用来编译汇编程序。armcc:用来编译C程序。armcpp:用来编译C++程序。armlink:此命令用来链接目标文件。(3)试编写一段汇编程序,实现64位加法运算,并使用(2)中所列工具进行编译链接,生成可执行二进制代码。答:(4)在ARM应用程序中,在存储时可执行文件主要分为哪几个部分,在运行时又分成哪几个主要部分,各部分主要存储形式和存储内容是什么?答:土星答案网?图4-3存储态和运行态代码分布(5)使用ADS1.2平台创建工程项目文件过程是什么,试安装ADS1.2平台创建一个工程项目,然后添加相应源代码,使用www.txdaan.comAXD调试,写出详细操作步骤。答:(6)试编写一段C语言与汇编程序的混合程序,在此汇编程序中,实现输入的任意两个数的整数除法运算,在C文件中实现测试。答:(7)试编写一段C语言与汇编程序的混合程序,在此汇编程序中,实现两个64位数的乘法运算,在C文件中调用该函数实现测试,要求明确函数参数传递及返回。答: (8)为什么要尽可能的遵循APCS标准,有什么好处,在APCS中,函数调用及返回遵循哪些规则。答:第5章(1)从硬件和软件两个方面分析一个嵌入式系统主要具备哪些显著特点?答:(2)试列出一个嵌入式设备在硬件常见的外围接口及主要功能?答:(3)试列出一个嵌入式设备在所具备的层次结构以及各层主要功能?答:(4)试指出嵌入式软件开发和传统的X86平台软件开发的差异,常见的嵌入式开发工具和开发平台有哪些?答:(5)什么是嵌入式交叉编译环境,这种开发模式有哪些主要特点?答:第六章(1)ARM处理器有哪几种主要的中断异常,如果进入这些中断异常,如何从这些中断异常服务程序中恢复。答:(2)为什么要设置中断优先级,其主要功能是什么?答:(3)什么是中断向量表地址值,主要在什么时候需要使用它们?土星答案网答:(4)有哪几种加载中断服务子程序地址的方式?使用直接跳转方式有哪些限制?答:(5)使用C语言程序获得中断处理程序地址有哪两种方式,请写出步骤?答:www.txdaan.com(6)试分析SWI中断处理原理及过程。答:第七章(1)试列举S3C2410处理器的常用外围接口及主要功能;答:(2)根据通信方向和时间可以将通信分为哪几类,各有什么特点?答:(3)试说出串行通信协议的基本原理及数据帧格式?答:(4)试列出RS232C串行接口标准的基本特点?答:(5)试分析S3C2410芯片的UART单元各部分主要功能以及主要寄存器功能? 答:(6)在进行外围接口电路设计时,驱动芯片的主要功能是什么,为什么要设计驱动电路?答:(7)试分析说明ZLG7290芯片的工作原理?答:(8)试说明IIC通信协议的基本原理?答:(9)试说明触摸屏的工作原理以及ADS7843的驱动原理?答:(10)试说明SPI通信协议的基本原理?答:(11)试列出常见的AD转换器类型及工作原理?答:(12)试说明LCD的工作原理及常见类型?答:第8章(1)试分析实时操作系统的基本特点?答:(2)试说明实时操作系统在嵌入式系统中的地位?答:(3)什么是程序、任务、进程、调度、调度算法、优先级,它们之间有什么区别和联系?答:(4)μC/OS-II提供了哪些任务管理功能?各任务之间是通过什么调度算法来实现任务调度的,μC/OS-II是抢占式还是非抢占式操作系统?答:土星答案网(5)μC/OS-II提供了哪几类任务间通信方式,各应用在哪些方面?答:(6)为什么说μC/OS-II具有很好的可移植性?答:(7)μC/OS-II有哪两种上下文切换方式的,各自切换过程是什么,有什么区别?www.txdaan.com答:(8)μC/OS-II在ARM处理器中是怎样实现FIQ和IRQ的,试分析处理过程?答:'