


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.嵌入式系统开发习题 11. 什么是嵌入式系统?有何特点?答:嵌入式系统的概念有很多种,在嵌入式系统领域中比较认同的嵌入式系统的概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的特点: 嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 系统内核小。由于嵌入式系统一般是应用于小型电子装置中,系统资源相对有限,所以内核较之传统的操作系统要小得多。 专用性强。 系统精简。 系
2、统软件( OS )要求具有高实时性。 嵌入式软件开发要走向标准化,需要使用多任务的操作系统。 嵌入式系统本身并不具备在其上进行进一步开发的能力。2. 嵌入式系统可以分为几层?每一层各完成哪些功能?答:嵌入式系统由硬件层、中间层、软件层和功能层组成。.硬件层:以嵌入式微处理器为核心,存储器用以存储数据和执行代码,相关的设备接口和 I/O 接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。中间层: 将系统上层软件和底层硬件进行分离, 封装成标准的接口, 在上层软件开发人员无需知道底层硬件的具体情况, 完成的任务是底层硬件的初始化、 数据的输入 / 输出操作、硬件的配置等功能。软件层:
3、主要由RTOS、文件系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。功能层:用来完成被控对象的控制功能。3. 嵌入式系统中硬件抽象层有什么特点?答:硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,具有以下两个特点: 硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,硬件抽象层需要为操作系统提供操作和控制具体硬件的方法。 操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。4. 简述嵌入式处理器的硬件组成?答:随着集成电路集成度的不断提高,嵌入式系统板级的硬
4、件电路模块也越来越多的集成到芯片内部,目前处理器芯片内部的电路模块组成如下: 处理器内核,以CPU 为核心,有的还包含MMU (存储器管理单元)、 Cache (高速缓存)、 ICE(在线仿真)等电路模块。 DSP/ 协处理器,对于多媒体处理的处理器,内部一般有DSP (数字信号处理)、浮点运算、图像加速等协处理器。. RAM/ROM,在单片机处理器中,处理器芯片内部一般集成了ROM(只读存储器)和 RAM (可读可写存储器)。 处理器内部控制电路,如 PLL(锁相环)、复位、 DMA (直接存储器存取)、中断控制器、低功耗控制、看门狗等电路。 芯片内部接口电路,如GPIO (通用输入、输出)
5、接口、I2C(双向两线制的串行总线)接口、 IIS(音频总线) 接口、 SPI(串行外设接口)、 USB(通用串行总线)接口、 LCD(液晶显示)接口、ADC/DAC (模数 / 数模转换)、 UART (通用异步收发器)、IrDA (红外接口) 、CAN (控制器局域网络)总线接口、以太网接口、Timer/RTC (定时器 / 计数器)接口等电路模块。5. 嵌入式处理器分那几类?它们有何特点?答:嵌入式微处理器。特点:处理能力强,具有较高的性能,价格也相应较高。 嵌入式微控制器。特点:主要用于嵌入式体统工业的主流,跟嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成
6、本下降,可靠性提高。并且价格低廉,功能优良,拥有的品种和数量最多。 嵌入式DSP 处理器。特点:DSP 处理器是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。 SoC 片上系统。特点:实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块具有极高的综合性,在一个硅片内部运用VHDL 等硬件描述语言,实现一个复杂的系统绝大部分系统构件在系统内部,系统简洁,减少了系统的体积和功耗,提高了系统的可靠性跟设计生产效率。.6. 分析目前市场上常用的几种嵌入式处理器,说明不同嵌入式处理器的各自特点?答:目前市场上常用的嵌入式处理器有MCS5
7、1单片机, ARM处理器, MIPS 处理器, PowerPC处理器, MC68000处理器, X86 处理器等。MCS51的特点是, 8 位 CPU ,片内振荡器,4KB ROM,128KB RAM,21个特殊功能寄存器, 32 根 I/O 总线,片外可寻找范围分别为64KB 的外部程序和数据,两个16 位的定时 / 计数器,一个全双工串口接口,中断结构分为两级优先级,5 个中断源,适于按位逻辑运算的处理器。ARM 处理器的特点是,体积小,功耗低,成本低,高性能,支持16/32位双指令集,在全球有众多合作伙伴。MIPS 处理器的特点是,高性能,高档次的处理器,有32 位和 64 位的处理器,
8、简化硬件设计,强调软硬件协同提高性能。PowerPC处理器特点,具有优异的性能,低能量消耗,低散热量。MC68000处理器,是一个16/32位的 CISC 处理器,采用32 位总线和寄存器,这个结构对之后的32 为产品保持兼容。X86 处理器的特点,可变指令长度的CISC 处理器,允许不对齐访问存储器。7. 举例说明嵌入式处理器的性能指标?并分析对嵌入式系统的影响?答:性能指标主要有主频,处理器字长,数据通路速度,运算速度,高速缓存和处理器的系统架构。 主频,执行每条指令的时钟周期数一定,主频越高单位时间内执行的指令越多。处理器字长,处理器内部数据运算的基本位数,反映的是计算精度,以及单次处理
9、数据的总长度; 数据通路速度,读取指令数据传输计算数据的速度越高,处理器性能越好。运算速度,用MIPS (每秒执行多少百万条指令)表示,MIPS 越大,说明运算速度越快;高速缓存,突破主存访问速度的瓶颈,提高处理器的综合性能。.8. 简述你对嵌入式操作系统的认识,分析嵌入式操作系统有哪些特点?答:嵌入式操作系统EOS 是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括软硬件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。EOS 是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、
10、中断处理、文件功能等之外,还有以下特点: 可装卸性,开放性、可伸缩性的体系结构。 强实时性, EOS 实时性一般较强,可用于各种控制系统中。 统一的接口,提供各种设备驱动接口。 操作方便、简单,提供友好的图形GUI ,追求易学易用。 提供强大的网络功能,支持TCP/IP 协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC 访问层接口,为各种移动计算设备预留接口。 强稳定性,弱交互性。 固化代码。 更好地硬件适应性,也就是良好的移植性。9. 试分析实时操作系统中可抢占型和不可抢占型有何区别?并举例说明。答:实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,
11、可抢占型的实时操作系统是指内核可以抢占正在运行任务的CPU 使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了CPU 让别的任务运行。不可抢占型实时操作系统使用某种算法以决定让某个任务运行后,就把CPU 的控制权完全交给该任务,直到它主动将 CPU 控制权还回来。比如嵌入式操作系统uC/OS ,可以根据优先级进行抢占使用CPU ,优先级高的任务可.以比优先级低的任务优先使用CPU 。10. 简述嵌入式系统的开发过程?答:嵌入式系统的开发过程可以分为需求分析、建立开发环境、体系结构设计、软件/ 硬件设计、系统集成和系统优化与测试 6 个阶段。如果设计的流程是从需求分析开始,然后是建立开
12、发环境,依次进行,最后是系统优化与测试,那么就叫做自上而下的设计流程;反之就叫做自下而上的设计流程。所有的嵌入式系统设计不可避免的设计这六个阶段,更重要的是找到一个好的设计方法,目前一种比较好的设计方法是采用计算机辅助设计工具。11. 简述在线仿真器 ICE 和在线调试器 ICD 有何区别?答:在线仿真器ICE 是一种模拟CPU 的设备,能执行CPU 的全部动作。采用该方式调试时,利用仿真头代替目标板上的CPU ,可以完全仿真CPU 的行为。在线调试器ICD 是将 CPU 的调试功能的引脚引出来,让外部的硬件直接连接到这些引脚上去监控整个CPU 的动作。12. 试分析嵌入式系统测试中的纯软件测
13、试过程,举例说明实现方法。答:纯软件测试过程是指用工具采用软件打点技术,在被测试代码中加入一些函数,这些函数用来完成数据的生成,并将数据送往目标机系统的共享内存中,同时,在目标机系统中运行一个与处理任务,用于完成这些数据的预处理,然后将处理过的数据通过目标机的串口,网口或者USB 口送往宿主机测试平台。举例,可以在程序中间插入函数,读出当前所有寄存器内容,发送至目标机系统,测试者可以根据这些数据了解系统执行情况。习题 21.按照 ARM处理器的命名规则,说明ARM7TDMI中 T、 D、 M 、 I 的含义。.答: T:支持16 位的Thumb指令集;D :支持JTAG片上调试;M :支持长乘
14、法操作( 64位结果)的ARM指令,包含快速乘法器;I :带有嵌入式追踪宏单元ETM( Embedded Trace Macro),用来设置断点和观察点。2. 什么是哈佛结构?与普林斯顿结构有何区别?答:哈佛结构是一种将程序中指令和数据分开存储的存储器结构。即哈佛结构中程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。普林斯顿结构(冯·诺伊曼结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。这便是。这便是两种结构的区别。3. 什么是 RSIC ?什么是 CSIC ?简述他们的特点与差别。
15、答: RSIC 是精简指令集计算机,CISC 是复杂指令集计算机。两者的区别在于不同的CPU 设计理念和方法。对于 CISC : 在 CSIC 结构的指令系统中,各种指令的使用频率相差悬殊。有80% 的指令只在 20% 的运行时间内才会用到。 CISC 结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 在 CISC 结构指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术来提高系统的性能。对于 RISC: 简化指令集,只保留常用的基本指令; 设计大量的通用存储器,减少访存的次数; 采用装载 / 保存结构,支持流水线技术
16、,使每个周期时间相等; 采用简单的指令格式、规整的指令字长和简单的寻址方式;. 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。4. ARM7 处理器是几级流水线?在 ARM7 处理器中,“ PC 指向的是下一条要执行的指令”,这句话对吗?为什么?答: ARM7处理器采用三级流水线。“ PC指向的是下一条要执行的指令”,这句话不对。在ARM处理器中将PC程序计数器定义到R15寄存器,无论处理器处于何种状态,PC总是指向“正在取值”指令的地址,一般来说,人们习惯性的约定将“正在执行的指令作为参考点”,成为当前第一条指令,那么 PC 总是指向随
17、后的第三条指令,或者说PC 总是指向当前正在执行的指令地址再加上2 条指令的地址,即指向正在执行指令的下下一条指令,而不是指向下一条要执行的指令。5.简述ARM处理器中在线仿真器模块EmbeddedICE-RT的作用。答: ARM处理器中的在线仿真器模块EmbeddedICE-RT,一般还带有嵌入式宏跟踪单元模块ETM ,实现ARM处理器的在线调试和运行过程的跟踪功能;并且具有诸多ICE功能,例如实时寻址、断点、单步、对ARMCPU 的完全控制、对ASIC 系统其余部分的访问,以及对主机显示器外设访问、键盘输入和磁盘存储。6. ARM 处理器的工作状态分为哪二种?ARM 处理器又是怎么定义和标
18、志的?答: ARM 处理器的工作状态分为ARM 状态和 Thumb状态,这两种状态有程序状态字CPSR 中 T 标志位确定,为0 时处理器工作在ARM 状态,为 1 时处理器工作在Thumb状态。7.ARM7TDMI支持哪几种指令集,各有什么特点?答: ARM7TDMI处理器内核包含2 套指令系统,分别为ARM指令集和Thumb指令.集,两种指令集的特点是:ARM 指令集:处理器执行32 位字对齐方式的ARM 指令,每条ARM 指令长度为32位,指令的功能强大。Thumb指令集:处理器执行16 位字对齐方式的Thumb指令,每条Thumb指令长度为 16 位,是 ARM 指令功能的子集。8.
19、ARM7 处理器有哪些工作模式?如何实现不同模式之间的切换?举例说明。答: ARM 处理器供支持7 种工作模式,分别为:用户模式( usr );快速中断模式 ( fiq );外部中断模式(irq );管理模式(svc);数据访问终止模式(abt );系统模式(sys);未定义指令中止模式(und )。在 7 中模式中,除用户模式外,其他的6 种模式称为特权模式,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。特权模式下通过修改当前程序状态寄存器CPSR 中控制位M4:0 的值,来改变处理器的运行模式。例如MSRCPSR_c, # (NoInt |SVC32Mode) / 从
20、系统模式切换到管理模式MSRCPSR_c, # (NoInt |SYS32Mode) / 从管理模式切换到系统模式9.描述 ARM7处理器的内部寄存器结构,并分别说明快速中断FIQ 有何特点?答: ARM7 微处理器共有37 个 32 位寄存器,其中31 个为通用寄存器,6 个为状态寄存器。 37 个寄存器定义如下:31个 通 用 寄 存 器 : R0R15、 R8_fiq 、R9_fiq 、R10_fiq 、R11_fiq、R12_fiq 、R13_fiq 、R14_fiq 、 R13_svc 、 R14_svc 、 R13_abt 、 R14_abt 、 R13_und 、R14_und
21、、 R13_irq 、R14_irq 。6个状态寄存器:CPSR 、 SPSR_abt、 SPSR_svc、 SPSR_irq、 SPSR_fiq 、.SPSR_und 。快速中断 FIQ ,适用于对一个突发事件的快速响应,在ARM 状态中,快中断有8 个专用的寄存器, 可以缩短状态切换时需要的时间。当 CPSR 中相应的 F 位清零, 快速中断被使能。10. 什么是中断延时?在实时系统中如何计算中断延时时间?答:中断延时是系统响应一个中断所需要的时间,即从外部中断请求信号发出到执行对应的中断服务程序ISR 的第 1 条指令所需要的时间。FIQ 的中断延时计算,当FIQ 使能时,最坏的延时包括
22、:a) Tsyncmax: 请求通过同步器的最长时间,为两个处理器周期。b)Tldm :最长执行时间,最长为20 个周期。c) Texc:数据中止异常进入时间,为三个周期。d) Tfiq : FIQ 进入时间,为两个周期总的延时可为 27 个周期。11. 在内存的数据存储过程中,什么是“字对齐”和“半字对齐”?答:在内存数据存储过程中,一般分为小端存储格式和大端存储格式。下面以小端存储格式为例来说明字对齐和半字对齐:在小端存储格式中,对于地址为A 的字单元,其中字节的低位字节到高位字节地址顺序为 A ,A+1, A+2 , A+3 ;对于地址为A 的半字单元,其中字节的低位字节到高位字节地址顺
23、序为A , A+1 。12. 简述程序计数器( PC)在处理器工作中的作用。答:在 ARM 处理器中将PC 程序计数器定义到R15 寄存器,无论处理器处于何种状态,PC 总是指向“正在取值”指令的地址。.13. 简述 ARM 处理器中的返回链接寄存器( LR )在处理器工作中的作用。答:链接寄存器LR 用于保存子程序返回地址或者异常处理程序的返回地址,LR 寄存器一共有 6 个,其中子程序的返回地址使用一个R14 ,每种异常模式各自有一个专用的LR 寄存器用于保存异常处理程序的返回地址,它们分别为R14_fiq 、 R14_svc 、 R14_abt 、R14_und 、 R14_irq 。1
24、4. 分别简述 ARM 处理器中的 CPSR 、 SPSR 在处理器工作中的作用。答: ARM 内核包含1 个 CPSR 和 5 个仅供异常处理模式使用的SPSR。由于所有模式全部共享一个程序状态寄存器CPSR,因此处理器所有的状态全部都保存在 CPSR 中,也就是ARM 内核是通过CPSR 来监视和控制内部操作的。每种异常模式都有一个对应的程序状态保存寄存器SPSR,用于保存任务在异常发生之前的 CPSR 状态的当前值。15.结合 CPSR 的结构,说明程序状态字中各个bit位的作用。3130292827876543210NZCV-IFTM4M3M2M1M0答:条件代码标志(共计4bit )
25、含义如下:N :运算结果的最高位反映在该标志位。对于有符号二进制补码,结果为负数时N=1 ,结果为正数或零时N=0 ;Z :指令结果为0 时 Z=1 (通常表示比较结果“相等”),否则Z=0 ;C:当进行加法运算,最高位产生进位时C=1 ,否则C=0 。当进行减法运算(包括CMP指令 ),最高位产生借位时C=0 ,否则 C=1 。V:当进行加法 / 减法运算,并且发生有符号溢出时V=1 ,否则V=0 ,其它指令V 不变。. CPSR 的最低 8 位为控制位,控制了处理器的工作方式。当发生异常时,这些位被硬件改变。当处理器处于一个特权模式时,可用软件操作这些位。它们分别是:中断禁止位包括I和 F
26、位:当 I 位置位时, IRQ 中断被禁止;当 F 位置位时, FIQ 中断被禁止。T 位反映了处理器的当前状态:当位 T=1 时,处理器正在Thumb状态下运行;当位 T=0 时,处理器正在ARM 状态下运行。模式位包括M4:0 共计 5bit ,这些位决定处理器的操作模式16. 简述 ARM7TDMI 内部有哪些寄存器及特点。答: ARM7 微处理器共有37 个 32 位寄存器,其中31 个为通用寄存器,6 个为状态寄存器。 37 个寄存器定义如下:31个 通 用 寄 存 器 : R0R15、 R8_fiq 、R9_fiq 、R10_fiq 、R11_fiq、R12_fiq 、R13_fi
27、q 、 R14_fiq 、 R13_svc 、 R14_svc 、 R13_abt 、 R14_abt 、 R13_und 、R14_und 、 R13_irq 、R14_irq 。6个状态寄存器:CPSR 、 SPSR_abt、 SPSR_svc、 SPSR_irq、 SPSR_fiq 、SPSR_und 。特点:在 ARM 状态中, R0R7是通用寄存器,是不分组寄存器;R8R14 ,SPSR 根据模式进行分组的寄存器;R15 是程序计数器,不进行分组;CPSR 是状态寄存器,不进行分组。17.什么是 ARM处理器的异常?ARM处理器中有哪几种异常?答:在ARM中,异常是一些事件,这些事件
28、能导致正常的程序执行流程被暂时地停.止,而进入到该事件对应的处理器异常模式并对该事件进行处理。ARM 中定义了复位、未定义指令、SWI(软中断)、预取指终止、预取数终止、irq 以及 fiq 等种异常,与之对应地ARM7 处理器有5 种异常模式。18. 分别简述 ARM7 的 IRQ 、FIQ 异常处理过程,说明其异常向量地址。答: IRQ 异常的处理流程如下: 进入 IRQ 异常模式。程序运行在用户模式下,当一个IRQ 异常中断发生时,内核切换到“中断模式”,并自动的做如下处理。将异常处理程序的返回地址保存到异常模式下的R14(R14_irq) 中。用户模式的CPSR 将被保存到中断异常模式
29、SPSR_irq 中。修改 CPSR,将 I 置 1 ,禁止新的IRQ 中断产生,但不改变F 值,不限制FIQ 中断发生,清零T 标志位,进入ARM 状态,修改模式位,设置为IRQ 模式。将 IRQ 异常中断入口向量地址0x00000018送入 PC。在 IRQ 模式下,用户模式的R13 和 R14 将不能操作,而R13_irq和 R14_irq 可以操作,即 R13_irq保存 IRQ 模式下的地址指针,R14_irq 保存了“ IRQ 中断返回地址 +4 ”。退出IRQ异常模式。中断服务程序执行完毕后,使用一条指令将返回地址送入PC,即可实现IRQ 中断返回,在返回过程中处理器会自动将SP
30、SR_irq中的内容复制到CPSR,恢复中断前的处理器状态。FIQ 异常进入与退出的流程与IRQ 类似,其异常入口地址是0x0000001C。19. ARM7 处理器对哪些异常可以进行屏蔽?如何屏蔽或允许?答: FIQ 和 IRQ 可以被屏蔽。 将 CPSR 的标志位I 和 F 分别置位对应着IRQ 和 FIQ 中断被禁止,清零这些位又可以将其使能。20.说明 CPSR 中 T 位的作用, ARM7处理器如何切换状态?.答: CPSR 中 T 标志位为0 时处理器工作在ARM 状态,为 1 时处理器工作在Thumb状态。由于 ARM 采用字对齐或者半字对齐的存储模式,这意味着地址的最低一个比特
31、位就不会在寻址过程中使用到。故,使用地址的最低位进行区分,以何种模式取值和执行指令,当地址地位为1 时,置 CPSR 的 T 位为 1 ,反之,置位为0 。21.大 端 存 储 模 式 和 小 端 存 储 模 式 的 含 义 是 什 么 ? 画 出 在0x2000单 元 中 存 储0x87654321数据的大端存储模式和小端存储模式。答:大端存储模式:在大端存储格式中,对于地址为A 的字单元,其中字节的低位字节到高位字节地址顺序为A+3 ,A+2 , A+1 , A;对于地址为A 的半字单元,其中字节的低位字节到高位字节地址顺序为A+1 , A 。即数据的低字节存放在高地址中的顺序进行存储。小
32、端存储模式:在小端存储格式中,对于地址为A 的字单元,其中字节的低位字节到高位字节地址顺序为A , A+1, A+2 , A+3 ;对于地址为A 的半字单元,其中字节的低位字节到高位字节地址顺序为A , A+1 。即数据的高字节存放在高地址中的顺序进行存储。0x210x20030x210x20000x430x430x650x650x870x20000x870x2003上图中,左侧为大端存储模式,右侧为小端存储模式。.习题 31 、 ARM7TDMI支持哪几种指令集,各有什么特点?答:支持ARM 指令集和Thumb指令集,各自特点是ARM 指令集的指令是32位,执行效率高、功能全,每条指令可以根
33、据条件执行,但是代码密度低。Thumb指令集指令是16 位,在功能上是ARM 指令集的子集,功能并没有降低。2 、 ARM指令的寻址方式有几种?并指出下列指令中的寻址方式。答: ARM指令的寻址方式有8 种,分别为立即寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址变址寻址、相对寻址、多寄存器寻址、堆栈寻址。 SUBR0, R1, R2寄存器寻址 LDRR0, R2寄存器间接寻址 MVNR0, #0x0F2立即寻址LDMIAR0,R1-R5多寄存器寻址 STRR2, R4, #0x02!基址变址寻址 LDRR1, R2, R3基址变址寻址 MOVR1, R1, ROR #2寄存器移位寻址
34、 LDRR1, R3, #0x04基址变址寻址3 、 简述 ARM指令集中第2 个操作数( operand2)的三种形式。答: 常数表达方式。该常数必须对应8 位位图,即常数是由一个8 位的常数循环右移偶数位得到。例如:MOVR2 ,#100 ; 寄存器方式。Operand2是 Rm 寄存器方式,在寄存器方式下操作数即位寄存器中的数值。例如:SUB R0 ,R1 , R2; 寄存器移位方式。Rm , shift表示将寄存器的移位结果作为操作数,但Rm.值保持不变。例如:MOVR0, R1 , RRX;将 R1 带扩展的循环右移1 位,存入 R0中。4 、 指出下列指令是否正确,若不正确请说明原
35、因。 MOVSR1, 101不正确,立即寻址方式应该是#101 MVNR1, #0x10F正确 STMDAR11, R2-R8!不正确,不能同时存储在R2 和 R8 中 ADDR0!, R2, #4正确 LDRR4, R5!不正确, LDR 是存储到单个寄存器的加载指令,而这个是两个存储器都进行存储,应该为LDRR4, R5 MRSPC, CPSR不正确 MRS 是将 CPSR 传送到通用寄存器中,但这里的通用寄存器不包括R15 ,即 PC LDMFDSR0!, R5-R8, R2正确 ADDR3, R3, R7不正确, ADD 指令不能访问存储器(9) LDRR11, R15 , R8 !正
36、确(10) BXSR0正确5 、 何谓 ARM指令的条件码?默认的条件码是什么?举例说明ARM指令的条件码对指令执行的影响。答:所谓的ARM指令的“条件执行”是指在指令码中含有本条指令的执行条件,当 CPSR 中的条件码标志满足时,处理器执行本条指令,否则本条指令不执行。默认是无条件执行。比如执行指令“ANDEQR2 , R1 , R3 ”时,如果CPSR 中的Z=1时,执行R2=R1&R3,否则不执行该指令。.6 、 解释“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈”? ARM指令系统中是如何支持的?答:满堆栈:堆栈指针SP 指向最后压入的堆栈有效数据项。空堆栈:堆栈指针SP 指
37、向下一个待压入数据的空位置。递增堆栈:向高地址方向生长。递减堆栈:向低地址方向生长。满递增:堆栈向上增长,SP 指向内含有效数据项的最高栈单元。指令如LDMFA 、STMFA等;空递增:堆栈向上增长,SP 指向堆栈上的第一个空位置。指令如LDMEA 、 STMEA等;满递减:堆栈向下增长,SP 指向内含有效数据项的最低栈单元。指令如LDMFD 、STMFD等;空递减:堆栈向下增长,SP 指向堆栈下的第一个空位置。指令如LDMED 、 STMED等。7 、 试说明 MOV指令、 LDR 加载指令和LDR 伪指令三者的区别。答: MOV指令是在寄存器间进行数据传送,影响标志位。LDR 指令是将存储
38、器中的数据按给定地址加载到寄存器中,不影响标志位。LDR 伪指令是可以在一个立即数前面加等号,把一个地址写入某寄存器。8 、 解释 B 指令、 BL 指令与 BX 指令的功能差别,并举例说明其使用方法。答: B 指令是分支指令,BL 指令是带链接的分支指令,BX 是带状态切换的分支指令。对于 B 指令“ B WAITA ”指跳转至标号WAITA处开始执行, B 指令的跳转范围为±32M ,对于 BL 指令,实现程序跳转, 并保持 PC 到链寄存器LR 中,跳转范围± 32M ,.举例“ BL DELAY ”完成的跳转至标号DELAY 处执行,并把PC-4 存入 LR。BX
39、指令,带状态切换的跳转,比如“ BX R0 ”表示跳转 R0 指定的地址开始执行,并查看R00位的值,如果是1,对 CPSR 的 T 位置位,解释目标程序为Thumb 指令,如果是 0 ,对 CPSR 的 T 位清零,解释目标程序为ARM 指令。9 、 分析下列两段程序片断的功能,试用类C 语言写出其等价功能。程序片断 1:程序片断 2:CMPR0 , #10CMP R0, R1CMPNER1 , #20ADDHIR0,R0,#1ADDLSR1,R1,#1ADDNER0,R0,R1答:( 1) if(R0 > R1)( 2) if(R0 != 10)&&(R1 != 20
40、)R0+;RO = R0+R1;elseR1+;10 、 使用 ARM汇编指令的条件执行功能,试用汇编语言实现下列两条C 代码语句。 if(x = = y)a = b + c;elsea = b c; if(x = = y) && ( a = = b) c = c * 2+b;( 2) LDR R0,x LDR R1,y答:( 1)LDRR0,xLDRR1,yLDRR2,bLDRR3,cCMPR0,R1ADDEQR4,R2,R3SUBNER4,R2,R3LDRR2, aLDRR3, bLDRR4, cCMPR0, R1CMPEQR2,R3,MULEQR4, R4, #2ADD
41、R4 , R4, R3STR c,R4STRa,R4.11 、下列代码段是实现开 IRQ中断和关 IRQ 中断功能,试补齐空白处内容。MRSR0, CPSR MRSR1 ,CPSRBICR1,R0 , 0x80ORRR1, R1,#0x80MSRCPSR_c, R1MSRCPSR_c, R112 、 如果ARM处理器中各寄存器及存储单元参数如下图所示,试写出执行下列指令后,各寄存器及存储单元中内容变化情况。 STMIAR13!,R0-R3 LDMDBR13, R0-R3答:(1), R13 R0(2), R0 R13,R1 R1+4;R13+4 R1R1 R13,R1 R1+4;R13+8 R
42、2R2 R13,R1 R1+4;R13+12 R3R3 R13,R1 R1+4;习题 41. 什么是计算机语言?一般可以分为哪几种?各自的优缺点?答:计算机语言是计算机可以识别、理解的语言。计算机语言分为三类:机器语言,汇编语言和高级语言。机器语言( MachineLanguage)是由 0 和 1 二进制代码表示和存储的指令与数据。它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点是难认、难记、难编、易错。.汇编语言是一种面向物理层操作的计算机语言。不同的处理器类型,具有不同的汇编语言。使用汇编语言编写程序能够直接利用硬件系统的特性(如寄存器、标志、中断系统等) ,可直接对位、字节、字寄存器或存储单元、I/O 端口进行处理,同时也能直接使用 CPU 指令系统提供的各种寻址方式,编制出高质量的程序,这样的程序不但占用内存空间少,而且执行速度快。缺点:由于汇编语言不直接支持复杂的抽象数据类型,在描述目标系统模型时,需要程序员自己组织各种抽象数据类型的存储方式,使得汇编语言程序设计较高级语言困难的多,需要较多的软件开发时间,也增加了程序设计过程中出错的可能性,程序维护也麻烦。高级语言( High Level Language)是脱离具体机器 (即独立于机器) 的通用语言,不依赖于特定计算机的结构与指令系统。与目标系统的数学模型之间有着良
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合同法实施成效与待改进之处 文件资料综述
- 2025技术员劳动合同模板
- 东莞2025年东莞日报社公开招聘7人笔试历年参考题库附带答案详解
- 污染土壤修复行业深度调研及发展项目商业计划书
- 婚礼摄影+婚礼策划企业制定与实施新质生产力项目商业计划书
- 智能响应性膜开关技术企业制定与实施新质生产力项目商业计划书
- 2025至2031年中国平板齿轮行业投资前景及策略咨询研究报告
- 医院光伏屋顶医疗急救供电系统企业制定与实施新质生产力项目商业计划书
- 2025至2031年中国园艺石材行业投资前景及策略咨询研究报告
- 2025至2031年中国合成橡胶密封圈行业投资前景及策略咨询研究报告
- 中学生守则40条
- 2mm土工膜长丝土工布检测报告合格证
- 2024年大学生求职面试技巧培训课件
- 急性出血性结膜炎防治
- 百岁居明百岁居居家养老服务
- 国开(浙江)2024年《个人理财》形考作业1-4答案
- 2024智慧医疗数据字典标准值域代码
- 小升初语文真题试卷(6套)
- 专题03 平面向量(含解析)- 十年(2015-2024)高考真题数学分项汇编(全国用)
- 诊所传染病防治自查报告总结
- 销售业务员培训方案
评论
0/150
提交评论