yyyy138 发表于 2016-11-14 20:19:20

ARM


1.写出下列英文缩写的英文原文及中文含义。
RAM随机存储器 DRAM动态随机存储器 ROM只读存储器
PROM可编程只读存储器 EPROM可插除可编程只读存储器 CANCAN总线
RTOS实时操作系统 SOPC片上可编程系统 ICE硬件调试器 FI快速终端请求
EEPROM电可插除可编程只读存储器 API应用程序接 DMA直接内存存取
RISC精简指令集计算机 SPI串行万维指令 MMU存储管理单元
UART异步接受发送装置 ARM先进RISC存储器 SWI软件终端指令
2、什么是嵌入式系统? P3
嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
3、是比较嵌入式系统与通用PC的区别。P3
(1)嵌入式系统是专用的计算机系统,而PC是通用的计算机系统。
(2)技术要求不同,通用PC追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。
(3)发展方向不同,PC追求总线速度的不断提升,存储容量不断扩大;嵌入式追求特定对象系统的智能性,嵌入式,专用性。
4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用
(1)硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。
(2)中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。一般包括硬件抽象层(Hardware Abstract Layer,HAL)和板级支持包(Board Support Package,BSP)。
(3)软件层由实时操作系统(Real Time Operating System,RTOS)、文件系统、图形用户接口(Graphical User Interfaces,GUI)、网络组件组成。
(4)功能层是面向被控对象和用户的,当需要用户操作是往往需要提供一个友好的人机界面。
5、什么是可编程片上系统?在技术上它有哪些特点?
用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC,特点如下:实现复杂系统功能的VLSI;采用超深亚微米工艺技术;使用一个以上的嵌入式处理器/DSP;外部可对芯片进行编程;主要采用第三方IP进行设计;足够的片上可编程逻辑资源;具有处理器调试接口和FPGA编程接口;可能包含部分可编程模拟电路;单芯片,低功耗,微封装;微处理器/dsp以ip核的形式方便的嵌入在FPGA中。
6、什么是嵌入式外围设备?


简要说明嵌入式外围设备是如何分类的。
嵌入式外围设备,是指在一个嵌入式系统硬件构成中,除了核心控制部件-----嵌入式微处理器/DSP以外的各种存储器,输入/输出接口、人机接口的显示器/键盘、串行通信接口等。根据外围设备的功能可分为以下五类:存储器类型;通信接口;输入/输出设备;设备扩展接口;电源及辅助设备。
7、.简述嵌入式系统软件的组成和功能?
组成:应用层,OS层,BSP层
11、什么是软硬件协同设计?他最大的特点是什么?嵌入式系统开发为什么可以采用这种方法进行。
嵌入式是系统设计时使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件,软件或者两者的结合来构成的功能设备。由于嵌入式系统是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合的、相互协调的;特点是:在设计时从系统功能的是先考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。这样既可最大限度的利用有效资源,缩短开发周期,又能取得更好的设计效果。
第二章
1、CISC与RISC分别指什么?说明他们各自有什么特点,应用领域和发展趋势如何?
复杂指令集CPU内部为将较复杂的指令译码,也就是指令较长,分成几个微指令去执行,正是如此开发程序比较容易(指令多的缘故),但是由于指令复杂,执行工作效率较差,处理数据速度较慢,PC 中 Pentium的结构都为CISC CPU。
RISC是精简指令集CPU,指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,所以执行效率比CISC高,不过,必须经过编译程序的处理,才能发挥它的效率,我所知道的IBM的 Power PC为RISC CPU的结构,CISCO 的CPU也是RISC的结构。
RISC与CISC的主要特征对比
比较内容 CISC RISC
指令系统 复杂,庞大 简单,精简
指令数目 一般大于200 一般小于100
指令格式 一般大于4 一般小于4
寻址方式 一般大于4 一般小于4
指令字长 不固定 等长
可访存指令 不加限制 只有LOAD/STORE指令
各种指令使用频率 相差很大 相差不大
各种指令执行时间 相差很大 绝大多数在一个周期内完成
优化编译实现 很难 较容易
程序源代码长度 较短 较长
控制器实现方式 绝大多数为微程序控制 绝大多数为硬布线控制
软件系统开发时间 较短 较长
5、简述Thumb技术的特点,在处理器中是如何实现的?并说明ARM处理器为何会采用2种不同的指令集。
Thumb是ARM体系结构中一种16位的指令集。Thumb不仅仅是另一个混合指令集的概念,它使设计者得到ARM32位指令的性能,又能享受Thumb指令集产生的代码方面


的优势。有以下局限:完成相同的操作时,Thumb通常需要更多的指令;Thumb指令没有包括进行异常处理时需要的指令,在异常中断时还需要调用ARM指令
6、ARM处理器支持哪几种工作模式?各个模式各有什么特点?
ARM处理器共支持7种处理器模式:
用户模式:正常用户模式,程序正常执行
FIQ:处理快速中断,支持高速数据传输或通道处理
IRQ:处理普通中断
SVC:操作系统保护模式,处理软件中断
中止:处理存储器故障,实现虚拟存储器和存储器保护
未定义:处理为定义的指令陷阱,支持硬件协处理器的软件仿真
系统:运行特权操作系统任务
7、ARM处理器总共有多少个通用寄存器?这些寄存器按其在用户编程中的功能是如何划分的?P38
ARM处理器共有37个寄存器,31个通用寄存器,含程序计数器PC,6个状态寄存器。
r0~r7为普通寄存器
r8~r12普通寄存器允许快速中断
r13通常用作堆栈指针SP,指向栈顶
r14通常用作子程序链接寄存器LR也用于中断临时存放PC值,PC→LR CPSR→SPSR
r15程序计数器通常被用作程序计数器PC。(PC中存放下一条将要执行的指令地址)
8、试述ARM处理器对异常中断的影响。P41
r14-<exception-mode>=return link
SPSR-<exception-mode>=CPSR
CPSR【4 :0】=exception mode number4位到0位进入异常模式
CPSR【5】=0 使处理器在ARM状态下执行
CPSR【7】=1禁止新的IRQ中断
If<exception-mode>==reset or FIQ then
CPSR=1 禁止新的FIQ中断
PC=exception cector address 完成后进入异常向量地址
9、ARM如何从异常中断处理程序中返回?需要注意哪些问题?
进入中断的逆过程。
1、所有修修改过的用户寄存器必须从处理程序的保护堆栈中恢复。2、将SPSR_mode寄存器内容复制到CPSR中,使得CPSR从相应的SPSR中恢复,及回复被中断的程序工作状态。3、根据异常类型将PC变回到用户指令流中相应指令处。4、最后清除CPSR中的中断禁止标志位I/F.
第三章
1、试比较ARM指令集与8086/8088指令集的异同点,并总结ARM指令集的特点。
(1) X86指令集:
X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,后来的电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器另外使用X87指令,以后就将X86指令集和X87指令集统称为X86指令集。
(2) ARM指令集:
相比而言,以RISC为架构体系的ARM指令集的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多。ARM处理器都是所谓的精简指令集处理机(RISC)。其所有指令都是利用一些简单的指令组成的,简单的指令意味着相应硬件线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。
RM指令


集架构的其它一些特点如下:
1.体积小,低功耗,低成本,高性能
2.支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,能很好的兼容 8 位 /16 位器件;
3.大量使用寄存器,指令执行速度更快;4.大多数数据操作都在寄存器中完成;
5.寻址方式灵活简单,执行效率高;6.指令长度固定;7.流水线处理方式8. Load_store结构
2、ARM指令的寻址方式有几种?试分别叙述其各自的特点并举例说明。P44
(1)寄存器寻址 :指令地址码给出寄存器的编号,寄存器中的内容作为操作数。
(2)立即寻址、指令操作码后的地址码是立即数,即操作数本身。
(3)寄存器移位寻址、是ARM指令集特有的寻址方式。
(4)寄存器间接寻址、指令地址码给出寄存器的编号,寄存器为地址指针,存放操作数的有效地址。
(5)基址寻址、基址寻址是讲基址寄存器的 内容与指令中给出的维系量相加,形成操作数有效地址。
(6)多寄存器寻址 一次可以传送多个寄存器的值
(7)堆栈寻址 按照特定顺序进行存取的存取区。
(8)块拷贝寻址(9)相对寻址
第四章
3、试比较ARM指令集与Thumb指令集的异同,并给出各自的特点。
ARM指令是32位的, Thumb 指令是16位的
Thumb 指令能完成ARM指令大部分的功能,使用 Thumb 指令可以节约存储空间,提高效率
ARM指令与处理器32位的处理能力相适应,能发挥ARM处理器全部的功能。
第五章
1、什么是伪操作,宏指令,伪指令?它们与指令有什么不同?各自有什么特点?
汇编语言程序语句除指令以外还可以由伪操作和宏指令组成.伪操作又称伪指令,它不像机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编期间由汇编程序处理的操作,它们可以完成如数据定义、分配存储区、指示程序结束等功能
3、LTORG伪操作的作用是什么??
LTORG用于声明一个数据缓冲池,(也称为文字池)的开始。在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时放于数据缓冲池。
当程序中使用LDR之类的指令时,数据缓冲池的使用可能越界。为防止越界发生,可使用LTONG伪操作定义数据缓冲池。通常大的代码段可以使用多个数据缓冲池。ARM汇编编译器一般把数据缓冲池放在代码段的最后面,即下一代码段开始之前,或者END伪操作之前。LTORG伪操作通常放在无条件跳转指令之后,或者子程序返回指令之后,这样处理器就不会错误的将数据缓冲池中的数据当作指令来执行。
5、ALIGN伪操作的作用是什么?
其中:Num必须是2的幂,如:1、2、4、8和16等。
伪指令的作用是:告诉汇编程序,本伪指令下


面的内存变量必须从下一个能被Num整除的地址开始分配。
如果下一个地址正好能被Num整除,那么,该伪指令不起作用,否则,汇编程序将空出若干个字节,直到下一个地址能被Num整除为止.
一、填空题(请将答案填入题后括号中)
1、一般而言,嵌入式系统的构架可以分为4个部分:处理器、(存储器)、输入/输出和软件,一般软件亦分为(系统软件)和应用软件两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微控制器),嵌入式DSP,(嵌入式微处理器)以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、(进程间通信)、(内存管理)、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操作系统),其中实时系统亦可分为(硬实时系统)和软实时系统。
5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。
6、嵌入式开发一般采用(宿主机/目标机)方式,其中宿主机一般是指(pc机/台式机)。
7、哈佛体系结构数据空间和地址空间(分开),ARM920T采用(哈弗体系)的内核架构。
8. ARM7TDMI采用( 3)级流水线结构,ARM920TDMI采用(5)级流水线。
9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。
10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(支持在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。
1.嵌入式系统是以应用为中心,以计算机技术为基础,并_软硬件可剪裁__、对其功能和____可靠性_____、___体积_____、__功耗___等有严格要求的专用计算机系统。
3.为了提高__运行速度和稳定可靠性__ 嵌入式系统中的软件一般都固化在__CPU或只读存储体___中,而不是存贮于__可移动外存储体___中。
4.由于嵌入式系统本身不具备___自我开发能力___,即使设计完成以后用户通常也是不能对其程序功能进行修改的,须有一套__开发和仿真调试系统__才能进行交叉开发。
5.嵌入式系统的核心部件是___嵌入式处理器___,嵌入式开发硬件平台的选择主要是嵌入式处理器的选择。
6.嵌入式系统设计时,必须优先考虑的问题有:__用户的功能需求___ 、___系统体系结构___、___性能和成本问题____ 、并考虑实时运行和速度、能耗以及体积等问题。
7.嵌入式系统的软件包括两部分: 嵌入式OS 、___应用功能软件__。
8.为了提高的开发的效率,降低开发


难度,提高重用性,经验告诉大家;__基于嵌入式操作系统,采用模块化方式__是开发嵌入式系统软件的必由之路。
10.A/D变换器工作原理可分__逐次比较式____和____双积分__两种工作方式。
9、    ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态
12、ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 。
13、ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。
14、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 大端对齐
15、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链 .
16、计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC类型,其指令长度是定长的
17、I/O接口电路数据传送方式有:查询、中断、DMA、I/O通道和I/O处理机方式。3、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。
18、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。
19、RAM存储器有两种,分别是:SRMA和DRAM。
23.ARM微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式
24.ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态
25.ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC,R13通常用来存储 SP ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结构
二、选择题。
1、下面哪种操作系统不属于商用操作系统。
A. windows xp    B. Linux    C. VxWorks    D. WinCE
2. 下面哪点不是嵌入式操作系统的特点。
A. 内核精简    B. 专用性强    C. 功能强大    D. 高实时性
3. 下面哪种不属于嵌入式系统的调试方法。
A. 模拟调试    B. 软件调试    C. BDM/JTAG调试    D. 单独调试
4. 在嵌入式ARM处理器中,下面哪种中断方式优先级最高。
A. Reset    B. 数


据中止    C. FIQ    D. IRQ
5. NAND FLASH和NOR FLASH的区别正确的是。
A. NOR的读速度比NAND稍慢一些    B. NAND的写入速度比NOR慢很多
C. NAND的擦除速度远比NOR的慢    D.大多数写入操作需要先进行擦除操作
6. 下面哪种嵌入式操作系统很少用在手机上。
A. Symbian B. linux    C. Win CE    D. VxWorks
7、0X07&0X11的运算结果是。    (A) 0X01    (B)0X11 (C) 0X17    (D)0X07
8、以下哪种方式不属于文件系统的格式    。 (A) FAT(B)DOS (C) NTFS    (D)EXT
9、在将UC/OS操作系统移植到ARM处理器上时,以下哪些文件不需要修改。
(A) OS_CORE.C    (B)INCLUDE.H (C) OS_CPU.H    (D)OSTASKINIT
10、下面哪个特点不属于SUB设备的特点。
(A) 串行通信方式 (B)不可热拨插 (C) 分HOST、DEVICE和HUB (D)通信速率比RS232快
11. 下面哪种不属于嵌入式系统的调试方法。 ( D )
A. 模拟调试 B. 软件调试 C. BDM/JTAG调试 D. 单独调试

12.下面关于DMA方式的描述,不正确的是( C )
A. DMA方式使外设接口可直接与内存进行高速的数据传输B. DMA方式在外设与内存进行数据传输时不需要CPU干预
C. 采用DMA方式进行数据传输时,首先需要进行现场保护D. DMA方式执行I/O交换要有专门的硬件电路

13. 在嵌入式系统的存储结构中,存取速度最快的是( B )。A. 内存 B. 寄存器组 C. Flash D. Cache
14. 软件需求分析阶段的任务不应该包括( A )。
A.结构化程序设计 B.问题分析C.可靠性与安全性要求 D.确定功能与性能要求

15. 软件开发模型给出了软件开发活动各阶段之间的关系,( D )不是软件开发模型。
A. 瀑布模型 B. 螺旋模型 C. 原型模型 D. 程序模型

16. 利用( A )完全把系统软件和硬件部分隔离开来,从而大大提高了系统的可移植性。
A. 硬件抽象层 B. 驱动映射层 C. 硬件交互层 D. 中间层

17、以下说法不正确的是(B )。
A、任务可以有类型说明    B、任务可以返回一个数值
C、任务可以有形参变量    D、任务是一个无限循环

18下列描述不属于RISC计算机的特点的是(C)。
A.流水线每周期前进一步。    B.更多通用寄存器。C.指令长度不固定,执行需要多个周期。
D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。

19 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。A、0x21    B、0x68    C、0x65    D、0x02
20 μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D)
A. 先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI
C. 先POPF


、CLI、执行关键代码、再PUSHFD. 先PUSHF、CLI、执行关键代码、再POPF。
21 RS232-C串口通信中,表示逻辑1的电平是(D )。
A、0v    B、3.3v    C、+5v~+15v    D、-5v~-15v
22 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。
A. R0 = R2 + (R3 << 1)    B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2
23 IRQ中断的入口地址是( C)。FIQ的入口地址为0x0000001C
A、0x00000000    B、0x00000008    C、0x00000018    D、0x00000014
24 S3C2420X I/O口常用的控制器是(D)。
(1)端口控制寄存器(GPACON-GPHCON)。(2)端口数据寄存器(GPADAT-GPHDAT)。
(3)外部中断控制寄存器(EXTINTN)。(4)以上都是。
25 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)
。A. 同步 B. 互斥 C. 调度 D. 执行
26 和PC系统机相比嵌入式系统不具备以下哪个特点( C)。
A、系统内核小    B、专用性强    C、可执行多任务    D、系统精简
27 、ADD    R0,R1,#3属于(A)寻址方式。
A. 立即寻址    B. 多寄存器寻址    C. 寄存器直接寻址    D. 相对寻址
28、GET伪指令的含义是( A)
A. 包含一个外部文件    B. 定义程序的入口    C. 定义一个宏    D. 声明一个变量
29、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为( C)。A、0x00    B、0x87    C、0x65    D、0x61
30、μCOS-II操作系统不属于( C)。
ARTOS B占先式实时操作系统 C非占先式实时操作系统 D嵌入式实时操作系统
31、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR    R0,!后R0的值为(D )。
A. 0x2000    B. 0x86    C. 0x2008    D. 0x39
32、寄存器R13除了可以做通用寄存器外,还可以做(C )。
A、程序计数器    B、链接寄存器    C、栈指针寄存器    D、基址寄存器
33、FIQ中断的入口地址是( A)。
A、0x0000001C    B、0x00000008    C、0x00000018    D、0x00000014
34、ARM指令集和Thumb指令集分别是(D )位的。
A. 8位,16位    B. 16位,32位    C. 16位,16位D. 32位,16位
35、ARM寄存器组有(D )个寄存器。A、7    B、32    C、6    D、37
36、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR    R0,!后R0的值为(D )。
A. 0x2000    B. 0x28    C. 0x2008    D. 0x87
37、寄存器R15除了可以做通用寄存器外,还可以做( A)
A. 程序计数器    B. 链接寄存器    C. 堆栈指针寄存器    D. 基址寄存器
38、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。
A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件
39、假设R1=0x31,R2=0x2 则执行指令ADD    R0,R1,R2 LSL #3 后,R0的值是( C)
A. 0x33    B. 0x34    C.


0x39    D. 0x38
40、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)
A、系统内核小    B、专用性强    C、可执行多任务    D、系统精简
41、Unicode编码与(A)编码方式兼容。A、ASCII码    B、GBK    C、GB2312    D、区位码
42、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。
A.硬件 B. 软件 C. 用户 D. 程序员
43 在μC/OS-II系统中,OSTimeTick()函数只被以下(A)函数或过程所调用。
A. OSTickISR B. OSShed C. OSCtxSw    D. OSIntCtxSw
44 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D)。A. 嵌入式Linux提供了完善的网络技术支持;B. ?CLinux是专门为没有MMU的ARM芯片开发的;C. ?C/OS-Ⅱ操作系统是一种实时操作系统(RTOS);D. WinCE提供完全开放的源代码。
45 下列关于存储管理单元(MMU)说法错误的是(B)。
A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。C. MMU提供了一些资源以允许使用虚拟存储器。D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。
46 下列CPSR寄存器标志位的作用说法错误的是(D)。A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位
47 S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为(C)。
A. SCL和RTX    B. RTX和RCX    C. SCL和SDA D. SDA和RCX
1、    RQ中断的优先级别是( D )。A. 1    B. 2    C. 3 D. 4
2、    LDR R2, 的寻址方式是( C )。
A. 寄存器寻址    B. 寄存器移位    C. 变址寻址    D. 间接寻址
3、    S3C2410有( B )个USB接口。A. 1    B. 2    C.3    D. 4
34 ARM处理器的工作模式有( C )种。A. 5 B.6    C.7 D.8
4 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。
A. R0 = R2 + (R3 << 1)    B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2
5 下列CPSR寄存器标志位的作用说法错误的是(D)。A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位
6.RQ中断的优先级别是( D )。A. 1    B. 2    C. 3    D. 4
7.LDR R2, 的寻址方式是( C )。
A. 寄存器寻址    B. 寄存器移位    C. 变址寻址    D. 间接寻址
三、判断题
1、所有的电子设备都属于嵌入式设备。    (x)
2、CISC将被RISC所取代。    .    (x)
3、嵌入式linux操作系统属于免费的操作系统。    (对)
4、移植操作系统时需要修改操作


系统中与处理器直接相关的程序。    (对)
5、嵌入式开发需要专门的软件和硬件设备。    (对)
6.程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量(X)
7.在μCOS-II操作系统中,已知Task1的优先级为12,Task2的优先级为26。假如在Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。√
8.若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12(√    )4.任务创建后即开始调度(X)
9.液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字(X)5.处于就绪状态的任务只能切换到运行状态(X)
10.等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒(X)
11.若OSTaskSuspend (prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即可使该任务切换到就绪状态。(X)
12.调试程序时,需要停止程序运行后才可查看变量内容(√
13,μCOS-II操作系统中移植成功后即可使用文件系统(X)
14.将模拟信号转换成数字信号的电路是DA转换器。(×)15.IIC是同步串行数据总线,。(√)
16.1S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。(√)
17.Nand Flash比Nor Flash成本高,可靠性差。(×)
18.C语言程序可以嵌套加入汇编程序模块。 (√)
19.运算放大器的输出电压范围一般大于电源电压的范围。(×)
20.由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。(√)
21.ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(√)
3. 简单说明ARM微处理器的特点.答:(1) 体积小、低功耗、低成本、高性能。(2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。(3) 大量使用寄存器,指令执行速度更快。(4) 大多数数据操作都在寄存器中完成,通过Load/Store结构在内存和寄存器之间批量传递数据。(5) 寻址方式灵活简单,执行效率高。(6) 指令长度固定。
4、简述嵌入式系统的发展趋势。
答:嵌入式系统正朝着以下趋势进一步发展:(1) 发展行业性的嵌入式硬件平台,制定行业标准。 (2) 随着相关技术的发展,SOC将成为应用主流。 (3) 发展功能更加强大的开发工具和嵌入式操作系统,支持复杂度越来越高的嵌入式应用软件的开发。 (4) 面向网络互联的嵌入式系统成为必然趋势。 (5) 嵌入式系统向新的嵌入式计算模型方向发展。
6.什么是初始化程序?bootloader的作用。答:初始化程序是系统加电后运行的第一段软件代码。在嵌入式系统中,通常整个系统的加载启动任务就完全由B


ootLoader来完成。简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软、硬件环境带到一个合适的状态,以便为调用应用程序或者操作系统内核准备好正确的环境。
7.什么是交叉编译工具。答:交叉编译是一个平台上生成另外一个平台上的可执行代码。使用交叉编译工具有很多种原因,有时是因为目标平台上不允许或不能够安装所需的编译器;有时是因为目标平台资源贫乏,无法运行所需编译器;有时是因为目标平台还没有建立,连操作系统都没有,根本无法运行编译器。
8.make ,makefile.答:makefile文件用来描述源程序之间的相互关系并自动维护编译工作。Make是一个命令工具,它用来解释makefile中定义的指令或规则。
五、专业名词解释
(1)RISC    (Reduce Instruct Set Computer)
(2)IP    (Intellectual Property);
(3)ISR (Interrupt Servers Routine)
(4)JTAG (Join Test Active Group)
(5)IDE(Integrate Development Environment)
1. RTOS__Real Time Operating System. 译为实时操作系统。
2. SOC- System On Chip 称为片上系统。
3. DSP__ Dagital Signal Processer. 称为数字信号处理器。
5. UML_(Unified Modeling Language,统一建模语言
2.寄存器CPSR,SPSR的功能各是什么?答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存 CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
3.嵌入式操作系统的作用是什么?请举出3种常见的操作系统。
答:用于管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等功能。嵌入式操作系统,大大地提高了嵌入式系统硬件工作效率,并为应用软件开发提供了极大的便利。3种常见的操作系统:WinCE、Vxworks、uClinux
4.ARM处理器有几种工作状态,各自的特点。工作状态之间如何进行转换,异常响应时,处理器处于何种状态。答:ARM有两种工作状态:①ARM状态,此时处理器执行32位的字对齐的ARM指令。②Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令.在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且不影响处理器运行模式和相应寄存器中的内容。但ARM微处理器在上电或复位后,应该处于ARM状态。执行BX跳转指令,将操作数的状态位(位0)设置为1时,可以使处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发


生异(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。
将操作数的状态位(位0)设置为0时,可以使处理器从Thumb状态切换到ARM状态。此外,当处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,系统自动ARM状态。THUMB指令集在功能上只是ARM指令集的一个子集,某些功能只能在ARM状态下执行,如CPSR和协处理器的访问.进行异常响应时,处理器会自动进入ARM状态.即使是一个单纯的THUMB应用系统,必须加一个汇编的交互头程序,因为系统总是自动从ARM开始启动ARM体系结构所支持的最大寻址空间为4GB;
5.ARM处理器一共有几种中工作模式,分别是?
ARM处理器一共有7种运行模式,它们分别是:用户模式(user)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、数据访问中止模式(abt)系统模式(sys)和未定义指令中止模式(und)。
6.ARM处理器正常工作时,处于何种工作模式?答:用户模式(user)。
7.ARM处理器共有多少个32位寄存器,多少个为通用寄存器,多少个状态寄存器。
答:共有37个32位寄存器,其中31个为通用寄存器,可用于累加操作,6个为状态寄存器。
8.掌握ARM指令集,常用指令的使用。
跳转指令: B BL,数据处理指令: MOV ADD SUB AND ORR,程序状态寄存器访问指令:MRS MSR
加载/存储指令:1)LDR指令 LDR LDRB LDRH 2)STR指令 STR STRB STRH 3)批量数据加载/存储指令 LDM STM
9.ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?
ARM处理器使用冯.诺依曼结构,使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。
10.ARM处理器模式和ARM处理器状态有什么区别?
ARM处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。ARM处理器状态指ARM状态和Thumb状态ARM两种处理器状态下均有上述7种模式。
11.ARM7TDMI内部寄存器特点?
分别为31个通用32位寄存器和6个状态寄存器。它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。
12.ARM7的内部寄存器R13、R14、R15的主要功能和作用?
R13:堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容R14:连接寄存器,当使用BL指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址;其他时候作为通用寄存器。R15:程序寄存器,总是指向正在“取指”的指令
14.ARM7微控制器内FLASH是多少位宽度的接口?它是通过哪个功能模块来提高FLASH的访问速度?
FLASH是128位宽度的接口,通过


存储器加速模块提高其访问速度。
15.FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?
FIQ是快速中断,优先级比IRQ要高,中断处理转入FIQ模式;IRQ是普通中断,优先级低于FIQ,中断处理转入IRQ模式。向量IRQ支持16个向量IRQ中断,16个优先级,能为每个中断源设置服务程序地址;非向量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的服务程序入口地址。
16.ARM7TDMI支持哪几种指令集,各有什么特点?
支持ARM指令集和Thumb指令集两种。ARM指令集:指令32位,效率高,代码密度低,所有ARM指令都是可以有条件执行的 。Thumb指令集:指令16位,代码密度较高,Thumb指令仅有一条指令具备条件执行功能。保持ARM的大多数性能上的优势,是ARM指令集的子集。
18. 请描述建立一个嵌入式开发平台的步骤。(13分)
答:(1)连接主机和目标板(2)使用flash工具烧写bootloader (3)配置并启动主机的bootp服务(4)配置并启动主机的tftp服务(5)使用tftp下载内核及根文件系统镜像到目标板,重启目标板(6)配置并启动NFS服务(7)在目标板使用mount挂载主机的目录(8)再次使用bootp命令确认bootp服务是否建立,使用tftp命令确认tftp服务建立。(9)将内核镜像和根文件系统cp到tftp根目录。(10)重启目标板,确认嵌入式linux正常启动。
23、试述ARM处理器对异常中断的响应过程。
答:当一个异常出现以后,ARM微处理器执行完当前指令后(复位异常除外)会执行以下几步操作:
1.将下一条指令的地址存入相应连接寄存器LR(R14_XXX),以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。
2.根据异常类型,强制设置CPSR的运行模式位。
3.强制PC从相关的异常向量地址取一条指令执行,从而跳转到相应的异常处理程序处。
24、如何从异常中断处理程序中返回?需要注意哪些问题?
答:异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:
1.将连接寄存器LR(R14_XXX)的值减去相应的偏移量后送到PC中。
2.将SPSR复制回CPSR中,恢复原处理器工作模式。
3.若在进入异常处理时设置了中断禁止位,要在此清除。
注意问题:异常处理返回时,IRQ和FIQ必须返回前一条指令,以便执行因进入异常而被“占据”的指令。预取指中止必须返回前一条指令,以便执行在初次请求访问时造成存储器故障的指令。数据中止必须返回前面第二条指令,以便重新执行因进入异常而被占据的指令之前的数据传送指令。
26、简述处理器启动时的模式转换过程。
处理器启动时,首先进入管理员模式(svc),此后进入除用户模式之外的其他模式,主要完


成各模式的堆栈设置,最后进入用户模式,运行用户程序。
27、ARM存储器的存储周期有几种类型,对应于cache访问和存储器访问是何存储周期?
ARM存储器的存储周期有4种类型,它们分别是:空闲周期、顺序周期、协处理器寄存器传送周期和非顺序周期,对应于cache访问的存储周期是空闲周期和顺序周期,对应于存储器访问的存储周期是非顺序周期。
29、arm的MMU主要主要实现何功能。
答:MMU主要主要实现功能是:1.虚拟存储空间到物理存储空间的映射。在ARM中采用了页式虚拟存储管理,通过两级页表实现虚拟地址到物理地址的映射。2.存储器访问权限的控制。 3.设置虚拟存储空间的缓冲的特性,主要包括Cache、write buffer的配置。
30、协处理器cp15主要主要实现何功能。
答:协处理器cp15用于处理、控制ARM的特殊性能,包括:
1.片上存储器管理单元(MMU)的特性。
2.指令、数据缓存的特性。
3.写缓冲器的特性。 为控制这些特性, CP15提供了16 个额外寄存器。
31、简述MMU使能时存储访问过程 。(设chach为一级cache)
答:使能MMU时存储访问过程 : 通过配置cp15寄存器,设置为MMU使能:
(1)若cache使能,根据arm输出的虚拟地址在CACHE中搜索;若cache命中, arm处理器与cache交换数据。
(2)若cache禁止或cache未命中,首先访问TLB,根据arm输出的虚拟地址在TLB中搜索,若TLB命中,将TLB中的物理页地址与虚拟地址的页内偏移量拼接成物理地址,访问主存并把该块数据读取到cache(使能时)中。
(3)若cache且TLB均未命中,访问主存中的页表。

1.    什么是嵌入式系统?其特点有些什么?
答: 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”
特点:1)是专用的计算机系统,用于特定的任务;
2)资源较少,可以裁减;
3) 功耗低,体积小,集成度高,成本低;
4)使用实时操作系统;
5) 可靠性要求更高,具有系统测试和可靠性评估体系;
6)运行环境差异大
7)大部分程序固化在 ROM中;
8) 较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路
2.    嵌入式系统的BooTLoader的功能是什么?
答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)
3.    目前嵌入式操作系统有哪些?
答:1)μC/OS-II


嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统
4.    构造嵌入式开发环境有哪几种形式?
答:1)交叉开发环境 ;2)软件模拟环境 ;3)评估电路板
5.    嵌入式系统开发的基本流程?
答:1)系统定义与需求分析;
2)系统设计方案的初步确立;
3)初步设计方案性价比评估与方案评审论证;
4)完善初步方案、初步方案实施;
5)软硬件集成测试;
6)系统功能性能测试及可靠性测试。
6.    什么是可编程片上系统?
答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。
7.    有时要使用Thumb技术的原因
答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。
8.    ARM处理器的工作模式有哪几种?
答:1)正常用户模式(usr);
2)快速中断模式(fiq);
3)普通中断模式(irq);
4)操作系统保护模式(svc)或 管理模式 ;
5)数据访问中止模式(abt);
6)处理未定义指令的未定义模式(und);
7)运行特权级的操作系统任务的系统模式(sys)。
9.    寄存器R13,R14,R15的专用功能各是什么?
答:1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR ,用以保存返回地址;3)R15(PC)用作程序计数器。
10.    寄存器CPSR,SPSR的功能各是什么?
答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。
2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存
CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
11.    ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?
答:1)复位(Reset)异常(管理模式);
2)未定义指令(undefined instruction)异常(未定义模式);
3)软件中断(SWI)异常(管理模式);
4)指令预取中止(Prefech Abort)异常(中止模式);
5)数据访问中止(Data Abort)(中止模式);
6


)快速中断请求(FIQ)(FIQ模式);
7)外部中断请求(IRQ)(IRQ模式)。
异常返回指令:1)SWI,未定义的返回:MOVS PC,R14;2)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;3)数据中止返回并重新存取:SUBS PC,R14,#8
异常中断的优先级:复位(最高优先级)--> 数据异常中止--->FIQ --> IRQ--->预取指异常中止--->SWI---->未定义指令(包括缺协处理器)。
12.    什么是小端和大端存储器组织?
答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。 2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。
13.    什么是数据的边界对齐?
答:默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。数据的自然对其方式是指:如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。
14.    ARM核现在有哪几种?
答:ARM7、 ARM9、ARM9E 、ARM10E,、SecurCore 、ARM11
15.    ARM的寻址方式有哪些?各写一条说明。
答:1)立即寻址 (1) ADD R0,R0,#1    /*R0←R0+1*/
(2)ADD    R0,R0,#0x3f /*R0←R0+0x3f*/;
2)寄存器寻址(ADD    R0,R1,R2    /*R0←R1+R2*/);
3)寄存器间接寻址 (1)、LDR R0,    /*R0←*/;
(2)STR R0,    /*←R0*/;
4)基址加偏址寻址(1)、LDR R0,;R0←;
(2)、LDR R0,!;R0←、R1←R1+4;
(3)、LDR R0, ,#4;R0←、R1←R1+4
5)堆栈寻址(1)、 STMFD SP! {R1-R7,LR};
(2)、LDMFD SP! {R1-R7,LR};
6)块拷贝寻址(1)、LDMIA R0!, {R2-R9};(2)、STMIA R1,{R2,R9};
7)相对寻址
16.    在ARM的立即寻址方式下其立即数如何在指令编码中表示?
答:在ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是采用一个8位的常数循环右移偶数位而间接得到。其中循环右移的位数由一个4位二进制的两倍表示,如果立即数记作<immediate>,8位常数记作immed_8,4位的循环右移值记作rotate_imm,有效的立即数是由一个8位的立即数循环右移偶数位得到。因此有效立即数immediate可以表示成:<immediate>=immed_8循环右移(2×rotate_imm)
17.    指令ADR,ADRL、LDR、NOP是如何处理地址值读入到寄存器中的?
答:ADR是将基于PC或者寄存器的地址值读入到寄存器的,ADR伪指令通常被替换成一条ADD指令或SUB指令来实现该ADR指令的功能。而ADRL伪指令与ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2条数据处理指令。LDR将一个32位的立即数或者一个地址值读取到寄存器中。


大范围的地址读取。NOP在汇编时将被替换成ARM中的空操作。
18.    指令LDR R1,=0xFFF是如何将立即数0xfff读入到R1的?
答:由于需要读取的寄存器的数据超过了MOV及MVN指令可操作的范围,编译器将该常数放在数据缓冲区中,同时用一条基于PC的LDR指令读取该常数。
LDR R1,.
............
LTORG ;声明数据缓冲池
LPOOL DCD OxFFF; OxFFF放在数据缓冲池中。
19.    如何在c语言程序中内嵌汇编?
答:内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,数据交换必须通过ATPCS进行。嵌入式汇编在形式上表现为独立定义的函数体。
20.    如何在汇编语言程序访问C语言的全局变量?
答:汇编程序可以通过地址间接访问在C语言程序中声明的全局变量。通过使用IMPORT关键词引人全局变量,并利用LDR和STR指令根据全局变量的地址可以访问它们。
对于不同类型的变量,需要采用不同选项的LDR和STR指令,如下所示:
1)unsigned char——    LDRB/STRB;
2)unsigned short——LDRH/STRH;
3)unsigned int——LDR/STR;
4)char    ——LDRSB/STRSB;
5)Short——LDRSH/STRSH
21.    在C语言程序如何调用汇编语言程序?
答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在汇编程序中需要使用EXPORT伪操作来声明,使得本程序可以被其它程序调用。同时,在C程序调用该汇编程序之前需要在C语言程序中使用extern关键词来声明该汇编程序。
22.    汇编语言程序调用C语言程序?
答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在C程序中不需要使用任何关键字来声明将被汇编语言调用的C程序,但是在汇编程序调用该C程序之前需要在汇编语言程序中使用IMPORT伪操作来声明该C程序。在汇编程序中通过BL指令来调用子程序。
23.    在嵌入式C语言程序设计中为提高程序效率的相关设计技巧。
答:1)变量定义;2)参数传递;3)循环条件;4)以空间换时间;5)数学方法解决问题;6)使用位操作;7)嵌入汇编。
24.Linux操作系统的内核、文件系统、编程接口等。P192 P201
答:Linux的内核也有很多种,例如普通的Linux内核、uClinux内核、RTLinux内核等
25.嵌入式Linux操作系统的特点。
答:广泛的硬件支持、内核高效稳定、开放源码,软件丰富、优秀的开发工具、完善的网络通信和文件管理机制,

快乐江湖 发表于 2016-11-15 08:49:34

页: [1]
查看完整版本: ARM