ARM嵌入式考试习题Word文件下载.docx
《ARM嵌入式考试习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式考试习题Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
(4)Thumb状态下的LR对应于ARM状态下的R14。
(5)Thumb状态下的程序计数器对应于ARM状态下的R15。
5.当一个异常出现以后,ARM微处理器会执行哪几步操作?
(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。
若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);
若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。
例如:
在软件中断异常SWI,指令MOVPC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。
(2)将CPSR复制到相应的SPSR中。
(3)根据异常类型,强制设置CPSR的运行模式位。
(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
第2章:
1.ARM微处理器在较新的体系结构中支持两种指令集:
ARM指令集、Thumb指令集。
2.ARM处理器有9种基本寻址方式,分别是:
寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址
3.ARM指令集可以分为6类,分别是:
跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令、异常中断产生指令
4.在ARM的汇编程序中,有如下几种伪指令:
符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令
5.汇编语言与C/C++的混合编程通常有以下几种方式:
在C/C++代码中嵌入汇编指令;
从汇编程序中访问C程序变量;
汇编程序、C/C++程序间的相互调用。
6.ARMC/C++编译器支持和产生以下几种格式的文件:
filename.c源文件、filename.h头文件、filename.o目标文件、filename.s汇编代码文件、filename.lst列表文件
1.一条典型的ARM指令具有什么样的语法格式,并描述各选项意义。
一条典型的ARM指令语法格式如下所示:
{}{S},,<
shifter_operand>
其中:
opcode是指令操作符编码;
cond是指令执行的条件编码;
S决定指令的操作是否影响CPSR的值;
Rd是目标寄存器编码;
Rn是包含第1个操作数的寄存器编码;
shifter_operand表示第2个操作数。
2.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。
有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。
?
满递增:
堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。
指令如LDMFA,STMFA等。
空递增:
堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。
指令如LDMEA,STMEA等。
满递减:
堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。
指令如LDMFD,STMFD等。
堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。
指令如LDMED,STMED等。
3.ARM协处理器指令包括哪3类,请描述它们的功能。
用于ARM处理器初始化ARM协处理器的数据处理操作。
用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。
用于在ARM协处理器的寄存器和内存单元之间传送数据。
4.常见的符号定义伪指令,具体有哪几种?
用于定义全局变量的GBLA、GBLL和GBLS。
用于定义局部变量的LCLA、LCLL和LCLS。
用于对变量赋值的SETA、SETL、SETS。
为通用寄存器列表定义名称的RLIST。
5.汇编语言程序中常用的符号,需要遵循哪些规则?
符号区分大小写,同名的大、小写符号会被编译器认为是两个不同的符号。
符号在其作用范围内必须唯一。
自定义的符号名不能与系统的保留字相同。
符号名不应与指令或伪指令同名。
6.可执行映像文件通常由几部分构成,它们有什么特点?
一个或多个代码段,代码段的属性为只读。
零个或多个包含初始化数据的数据段,数据段的属性为可读写。
零个或多个不包含初始化数据的数据段,数据段的属性为可读写。
第3章:
1.在线仿真包括3个过程:
装载映像文件、程序执行、查看寄存器和内存空间。
2.目标机上的Angel可以实现的功能为:
基本的调试功能、C语言库的支持、通信支持、任务管理功能、异常中断处理。
3.使用Angel开发应用程序包括下面的步骤:
在ARMulator或开发板上开发应用程序;
建立严重依赖Angel的应用程序;
建立很少依赖Angel的应用程序;
生成最终的产品。
4.当应用程序在特权模式下调用Angel的SWI时,必须保证它的特权模式数据栈为FD(满且地址递减)类型,并且有足够Angel进入SWI时需要的可用空间。
5.JTAG调试接口的结构由测试访问端口TAP(TestAccessPort)控制器、旁路(bypass)寄存器、指令寄存器和数据寄存器、ARM架构处理器组成。
1.初始化存储器有哪几种方法?
初始化存储器就是设置ARM处理器的某些寄存器,这可以通过两种方法完成:
第一种,如果ARM处理器内部有SRAM,则可以建立一个简单的工程,该工程对涉及存储器映射的寄存器初始化;
第二种,利用AXD的命令行配置那些寄存器,具体步骤如下:
首先在C:
\下建立文本文件memory_map.txt,该文件设置寄存器的值,其格式为:
setmemADDRESS,DATA,SIZE
其中,ADDRESS是寄存器的地址,DATA是该寄存器要设置的值,SIZE是数据宽度,一般为32,可以设置多个寄存器;
然后打开AXDDebugger的命令行窗口,执行下面的命令,配置对应的控制寄存器。
>
obeyC:
\memory_map.txt
执行完毕后,memory_map.txt中的寄存器就配置完毕,存储器就映射到预定的地址空间了。
2.基于Angel的调试系统由哪两部分组成?
请详细描述。
基于Angel的调试系统由下面两部分组成,这两部分之间通过一定的通信信道连接起来,通常使用的信道是串行口。
位于主机上的调试器(debugger)。
它接受用户命令,将其发送到目标机上的Angel,使其执行一定的操作,并将目标机上Angel返回的数据以一定的格式显示用户。
ARM公司提供的各调试器都支持Angel。
对于其他的调试器,如果它支持Angel所使用的调试协议ADP,则也可以支持Angel。
位于目标机上的Angel调试监控程序。
它接受主机上调试器传来的命令,返回相应的数据。
通常Angel有两个版本:
完整版本包含所有的Angel功能,主要可以用于调试应用系统;
最小版本包含一些有限的功能,可以包含在最终的产品中。
3.使用Angel所需要的资源有哪些,请描述。
系统资源。
Angel使用的系统资源包括可配置的系统资源和不可配置的系统资源。
可配置的系统资源包括一个ARM程序的SWI号和一个Thumb程序的SWI号;
不可配置的资源包括两条未定义的ARM指令和一条未定义的Thumb指令。
ROM和RAM资源。
Angel需要使用ROM来保存其代码,使用RAM来保存其数据。
当需要下载一个新版本的Angel时,还需要使用额外的RAM资源。
异常中断向量。
Angel通过初始化系统的异常中断向量表来安装自己,从而使得Angel有机会接管系统的控制权,来完成相应的功能。
FIQ及IRQ异常中断。
Angel需要使用下面的异常中断来实现主机和目标机之间的通信功能。
推荐使用IRQ异常中断。
FIQ异常中断;
IRQ异常中断;
同时使用FIQ异常中断和IRQ异常中断。
数据栈。
Angel需要使用自己的特权模式的数据栈。
如果用户应用程序需要调用Angel功能,则用户需要建立自己的数据栈。
4.使用完整版本的Angel开发应用程序时有什么编程限制?
在使用完整版本的Angel开发应用程序时,由于Angel需要一定的资源,给程序设计带来了一定的限制。
这些限制包括:
Angel需要使用自己的处理器特权模式下的数据栈,因此在Angel和实时操作系统RTOS一起使用时,必须确保在Angel运行时,RTOS不会切换处理器的模式。
否则可能造成死机。
用户应用程序尽量避免使用SWI0x123456以及SWI0xab。
这两个SWI异常中断号保留给Angel使用。
Angel使用它们来实现目标程序中C语言运行时库的semihosting请求。
如果用户应用程序中使用了SWI,则在退出SWI时必须将各寄存器的值还原成进入SWI时的值。
如果应用程序中需要使用未定义的指令异常中断,必须注意Angel使用了未定义的指令异常中断。
5.JTAG测试信号由哪五个信号组成,并分别描述。
JTAG测试信号由下面五个信号组成,分别描述如下。
TRST:
测试复位输入信号,测试接口初始化。
TCK:
测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令;
同时,也为测试访问端口TAP控制器的状态机提供时钟。
TMS:
测试模式选择信号,控制测试接口状态机的操作。
TDI:
测试数据输入线,其串行输入数据至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。
TDO:
测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路中的下一个芯片。
第4章:
1.ARM嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式软件系统构成。
2.常用的嵌入式外围设备有存储设备、通信设备、显示设备三类。
3.总线通常包括数据总线、地址总线、控制总线。
4.目前流行的嵌入式操作系统主要有:
Vxwork、WinCE、Linux、pSOS。
5.嵌入式操作系统的调试一般包括:
操作系统调试和应用程序调试。
1.嵌入式Linux与其他嵌入式操作系统相比,有哪些优点和缺点?
嵌入式Linux作为嵌入式操作系统,与其他嵌入式操作系统相比,优点有:
开放源代码、免费、开发周期短等;
缺点是实时性较差。
2.高频硬件电路设计中电源线、地线的布线需要遵循哪些原则?
在高频电路设计中,首先要注意电源的质量与分配,其次要注意信号线的分布和地线的布线,布线时最好使电源线、地线的走线方向与数据线的走线方向一致。
3.设计ARM硬件电路板一般有哪些特点和原则?
(1)新型的和适合应用场合的ARM提高系统的程序效率;
(2)低功耗器件和贴片封装,降低功耗和提高抗干扰;
(3)通用型平台,减小开发成本和开发周期;
(4)充分利用富余端口,有利于产品的升级;
(5)单芯片解决方案;
(6)LED方便调试。
第5章:
1.电子设备电源系统包括:
交流、直流电源。
2.ARM处理器工作状态主要有运行、睡眠、空闲模式。
3.IC芯片工作一般供电电压有:
5V、3.3V、2.5V、1.8V。
4.布线时,电源线、信号线、地线线宽大小一般为:
地线、电源线、信号线。
1.软启动状态对ARM处理器有什么作用?
软启动时,处理器被复位,但是SDRAM里面的内容仍旧保持。
2.在ARM硬件系统中,最耗电的模块是什么?
显示设备的耗电最多,如TFTLCD/LED。
3.数字接地与模拟接地一般如何区分开和相连?
系统中的模拟电源一般由数字电源产生,可以通过:
(1)数字电源与模拟电源,以及数字地与模拟地之间加铁氧体磁珠或电感构成无源滤波电路;
(2)采用多路稳压器的方法将模拟地和数字地连接。
第6章:
1.作为高速缓存的存储器主要有SRAM、DRAM、FlashROM。
2.动态RAM有SDRAM、DDR。
3.ARM有从外部SDRAM启动的外启动和从片上_ROM_启动的内启动两种启动方式。
1.简述SDRAM在ARM系统中的主要作用。
SDRAM具有高速、大容量等优点,是一种具有同步接口的高速动态随机存储器,在ARM系统中主要用作程序的运行空间、数据及堆栈区。
2.区别ARM外启动方式和内启动方式的不同。
外启动方式下,ARM从外部程序存储器取指令执行;
内启动时,ARM运行片上ROM中固化的启动程序。
第7章:
1.Nand-Flash闪存每个块的最大擦写次数是100万次,而Nor的擦写次数是10万次。
2.MTD核心层分为:
用户模块接口、MTD抽象、MTD设备驱动模块。
3.Nor-Flash常用于存放_系统代码,而Nand-Flash存放_用户信息。
1.简述嵌入式设备中程序运行方式。
嵌入式设备中程序运行方式有两种:
一种是将程序加载到SDRAM中运行,另一种是程序直接在其所在的ROM/Flash存储器中运行
2.与SDRAM相比,Flash在ARM系统中的主要作用是什么?
Flash存储器常当作硬盘使用,而SDRAM则类似内存,Flash用于存放程序代码、常量表,以及一些在系统掉电后需要保存的用户数据等
3.在读写数据速度上,Nor-Flash与Nand-Flash有什么区别?
Nor-Flash的读取速度比Nand-Flash快;
Nand-Flash的写入速度和擦除速度比Nor-Flash快
第8章:
1.Linux设备可分为______、______和______三种。
2.GPIO支持______、______和______三种数据传输方式。
3.GPIO驱动可以以两种方式编译:
一种是______,另一种是______。
1.Linux系统下字符设备和块设备的主要区别是什么?
2.Linux系统的设备驱动功能有哪些?
3.简述开发GPIO的具体步骤。
第9章:
1.ARM内核支持7种中断,分别是:
_____、_____、_____、_____、______、______和______。
2.ARM的主要中断寄存器包括:
______、______、______、______等。
3.ARM硬件中断主要有:
______、______、______、______等4种。
1.区别ARM几种硬件中断的不同功能。
2.如何通过合理存放数据提高中断处理速度?
第10章:
1.ARM处理器复位源有______、______、______、______、______和______。
2.按复位信号是否与时钟信号同步,可分为:
______复位和______复位。
1.简要叙述复位控制器的功能。
2.如何确保复位电路的可靠复位?
第11章:
1.常用的A/D转换器有______、______、______、______和______。
2.速度最快的A/D转换器是______ADC。
3.A/D转换可分为4个阶段,分别是:
______、______、______、______。
1.简述各种A/D转换器的应用场合。
2.列举两种不同工作方式下的D/A转换器。
第12章:
1.黑白LCD每像素2位相当于______级灰度,每像素4位相当于______级灰度;
彩色液晶屏LCD每像素8位
相当于______级颜色。
2.按显示方式分,LCD可分为:
______、______和______。
3.一个汉字字模数据为______Bytes,而一个半角字符的字模数据为______Bytes。
4.液晶像素的两电极是:
______电极和______电极。
1.LCD驱动程序的复杂程度主要体现在哪些方面?
2.简述帧缓冲区(Frame-buffer)在LCD显示中的作用。
第13章:
1.常用键盘接口可分为______、______和______,其中PC键盘上常用的是______。
2.软件实现按键接口设计的方式有:
______和______。
1.与其他方式相比,行列式键盘有哪些优缺点?
2.简述键盘扫描的过程。
第14章:
1.从广义的角度来说,数据通信方式可以分为______和______两大类,相应的通信线路分别称为______
和______。
2.串行通信的两种基本工作方式为:
标准异步串行通信(UART)接口有:
______、
3.UART串行通信接口标准是__________,它采用_______逻辑来进行电平传输。
1.在选择通信方式时,需要考虑哪几个主要方面?
2.异步串行通信协议规定字符数据的传输规范,总结起来有哪几点?
3.UART模块部分主要实现什么功能?
第15章:
1.I2C采用两根I/O线是:
2.I2C数据传输速率标准模式下为_____bps,快速模式下为_____bps,高速模式下为______bps。
3.串行存储器一般具有两种写入方式:
1.简述I2CI/O的主要功能。
2.I2C的发送和接收是否在主模式或从模式下操作,取决于什么?
第16章:
1.以太网接口电路主要由______和______两大部分构成。
2.以太网控制器在半双工模式下,支持______协议;
在全双工模式下支持______协议。
3.以太网口的复位包括硬件复位和软件复位,第一次复位必须是______。
1.简述RTL8019的发送、接收数据的工作原理。
2.如何判断网卡芯片是否工作正常?
第17章:
1.USB系统包括______、______和______三部分。
2.USB从端口包括______和______两大类。
3.USB1.1支持______bps的传输速率,2.0标准支持______bps的传输速率。
4.USB支持______、______、______和______等四种传输模式。
5.USB驱动程序开发的工具主要有______、______和______。
1.简述USB接口设备常用的应用场合。
2.通过哪些类型的程序可以保证USB接口数据的正确传输?
3.简述USB的特点。
第18章:
1.每个以太网口上都有一个唯一的______位MAC地址与之对应。
2.RARP的主要任务是将______地址转换成对应的______地址。
3.ARP中的硬件地址长度和逻辑地址长度为_____和______bit。
1.数据链路层的主要作用是什么?
2.简述基于ARP和UDP的系统数据发送/接收流程。
第19章:
1.Boot-loadere两种不同的操作模式是______模式和______模式。
2.Boot-loader通过串口与PC进行传输,传输协议通常是______、_____和_____协议之一。
3.Boot-loader目标代码是*.______格式的文件。
1.简述ARMLinux内核启动三个阶段的功能。
2.ARM系统中Boot-loader的主要作用是什么?
3.Boot-loader的stage1和stage2的作用分别是什么?
第20章:
1.ARMLinux移植主要工作是把编译生成的______、______和______,并烧写到Flash中。
2.在PC上编译ARM运行的程序,需要______编译器。
3.Linux移植类型包括基于______的移值和基于______的移值。
4.建立ARM编译环境的主要开发工具有______、______和______。
1.ARMLinux内核启动的主要工作包括哪些?
2.简述ARMLinux三种主要编译开发工具的作用。
第21章:
1.Linux支持多种文件系统,包括:
______、______、______和______。
2.JFFS2在Linux中一种是作为______,另一种是作为______在系统启动后被挂载。
3.Linux源文件的树形结构可以分为4层:
4.在页面管理中,每个页面上的数据由______和______两部分组成。
1.Linux内核源程序的文件按树形结构是如何安排的?
2.嵌入式操作系统中如何衡量一个文件系统的指标?
3.选择文件系统时,需考虑Flash存储器的哪些物理特性和使用特点?
第22章:
1.常用的GUI图形开发界面主要有______、______、______、______、______和______。
2.GU