ARM嵌入式常用模块与综合系统设计面试题.docx
《ARM嵌入式常用模块与综合系统设计面试题.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式常用模块与综合系统设计面试题.docx(34页珍藏版)》请在冰豆网上搜索。
![ARM嵌入式常用模块与综合系统设计面试题.docx](https://file1.bdocx.com/fileroot1/2023-2/11/bc82114c-cbf6-4abd-971a-5eef6cc53071/bc82114c-cbf6-4abd-971a-5eef6cc530711.gif)
ARM嵌入式常用模块与综合系统设计面试题
第1章:
填空题
1.ARM内核有四个功能模块,即______、______、______、______,可供生产厂商根据不同用户的要求
来配置生产ARM芯片。
2.ARM7TDMI与ARM720T的一个重要区别在于后者有______、______。
3.ARM芯片主要封装有______、______、______、______、______、______等形式。
4.ARM微处理器共有______个______位寄存器,其中______个为通用寄存器,______个为状态寄存器。
5.ARM体系结构可用两种方法存储字数据,具体为_____、______。
6.协处理器主要控制:
______、______、______。
问答题:
1.简单描述ARM内核的四个功能模块,各自具备什么功能特点?
2.一个ARM720T内核,基本由哪四部分组成?
3.通用寄存器包括R0~R15,可以分为具体哪三类?
4.请描述Thumb状态下的寄存器与ARM状态下的寄存器有什么关系?
5.当一个异常出现以后,ARM微处理器会执行哪几步操作?
第2章:
填空题
1.ARM微处理器在较新的体系结构中支持两种指令集:
______、______。
2.ARM处理器有9种基本寻址方式,分别是:
______、______、______、______、______、______、
______、______、______。
3.ARM指令集可以分为6类,分别是:
______、______、______、______、______、______。
4.在ARM的汇编程序中,有如下几种伪指令:
_____、______、______、______、______。
5.汇编语言与C/C++的混合编程通常有以下几种方式:
_____、______、______。
6.ARMC/C++编译器支持和产生以下几种格式的文件:
_____、____、____、______、______。
问答题:
1.一条典型的ARM指令具有什么样的语法格式,并描述各选项意义。
2.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。
3.ARM协处理器指令包括哪3类,请描述它们的功能。
4.常见的符号定义伪指令,具体有哪几种?
5.汇编语言程序中常用的符号,需要遵循哪些规则?
6.可执行映像文件通常由几部分构成,它们有什么特点?
第3章:
填空题
1.在线仿真包括3个过程:
_____、______、______。
2.目标机上的Angel可以实现的功能为:
_____、______、______、_____、______。
3.使用Angel开发应用程序包括下面的步骤:
_____;______;______;_____。
4.当应用程序在特权模式下调用Angel的SWI时,必须保证它的特权模式数据栈为_____类型,并且有足
够Angel进入SWI时需要的可用空间。
5.JTAG调试接口的结构由____、______、______及______组成。
问答题:
1.初始化存储器有哪几种方法?
2.基于Angel的调试系统由哪两部分组成?
请详细描述。
3.使用Angel所需要的资源有哪些,请描述。
4.使用完整版本的Angel开发应用程序时有什么编程限制?
5.JTAG测试信号由哪五个信号组成,并分别描述。
第4章:
填空题
1.ARM嵌入式系统主要由______、______和______构成。
2.常用的嵌入式外围设备有______、______和______三类。
3.总线通常包括______、______和______。
4.目前流行的嵌入式操作系统主要有:
______、______、_____和_____。
5.嵌入式操作系统的调试一般包括:
_________调试和_________调试。
问答题:
1.嵌入式Linux与其他嵌入式操作系统相比,有哪些优点和缺点?
2.高频硬件电路设计中电源线、地线的布线需要遵循哪些原则?
3.设计ARM硬件电路板一般有哪些特点和原则?
第5章:
填空题
1.电子设备电源系统包括:
______电源和______电源。
2.ARM处理器工作状态主要有______、______和______模式。
3.IC芯片工作一般供电电压有:
______、______、______、______。
4.布线时,电源线、信号线、地线线宽大小一般为:
______>______>______。
问答题:
1.软启动状态对ARM处理器有什么作用?
2.在ARM硬件系统中,最耗电的模块是什么?
3.数字接地与模拟接地一般如何区分开和相连?
第6章:
填空题
1.作为高速缓存的存储器主要有______、______和______。
2.动态RAM有______和______。
3.ARM有从外部______启动的外启动和从片上______启动的内启动两种启动方式。
问答题:
1.简述SDRAM在ARM系统中的主要作用。
2.区别ARM外启动方式和内启动方式的不同。
第7章:
填空题
1.Nand-Flash闪存每个块的最大擦写次数是______万次,而Nor的擦写次数是______万次。
2.MTD核心层分为:
______层、______层和______层。
3.Nor-Flash常用于存放______,而Nand-Flash存放______。
问答题:
1.简述嵌入式设备中程序运行方式。
2.与SDRAM相比,Flash在ARM系统中的主要作用是什么?
3.在读写数据速度上,Nor-Flash与Nand-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.GUI图像环境开发的库文件需要______和______开发包。
3.______驱动程序保证ARM系统的LCD屏幕能显示内容。
问答题:
1.简要描述Microwindows的3层分层式设计思想。
2.在嵌入式系统中对GUI的基本要求是什么?
第23章:
填空题
1.TCP/IP协议族包括:
______、______、______、______、______和______等协议。
2.系统在传输应用中三个任务是:
______、______和______,任务之间可以切换。
3.UDP包头由______个域组成,每个域各占用______个字节。
4.TCP/IP协议大致可分为以下的层次:
______、______和______。
5.TFTP简单文件传输协议基于______传输层协议。
问答题:
1.在什么场合下,选择UDP而非TCP?
2.UDP与TCP的主要区别是什么?
第24章:
填空题
1.音频信号压缩编码的标准主要有______系列、______系列和______系列。
2.音频编解码中常用的技术包括:
______技术、______技术、______技术和______技术。
3.经采样、编码但未压缩的语音信号(对应G.711编码)为:
______。
4.公式中,代表______。
5.音频编码方法包括三大类:
______、______和______。
6.传输语音的格式一般有:
______和______。
7.IIS总线传输方式一般有:
______、______和______。
问答题:
1.列举一些音频编解码常用的实现方案。
2.音频编解码系统常用的应用领域有哪些?
第25章:
填空题
1.标准VGA显示器接口是______针______型接口,由______、______、______三色模拟信号线和______
同步、______同步两个数字信号构成。
2.CIF图像为______大小格式(像素),QCIF图像为______大小格式(像素)。
3.YCbCr和YUV是基于______的颜色空间,RGB则是基于______的颜色空间。
问答题:
1.常用的视频监控系统有哪些实现方案?
2.基于ARM的实时网络嵌入式监控系统有什么优点?
3.简述使用基于CMOS芯片的优点。
第26章:
填空题
1.描述指纹特征点的4种特性有:
______、______、______和______。
2.指纹识别过程主要经过4个步骤:
______、______、______和______。
3.获取指纹图像的主要传感器设备有:
______和______。
4.指纹图像预处理一般要经过______、______、______和______等过程。
问答题:
1.试举几个属于生物识别方面的身份认证技术。
2.描述指纹特征的总体特征和局部特征之间的区别。
第1章:
答案-填空题
1.T、D、M、I
2.存储空间管理单元(MMU)和8KCache片内缓存(提高CPU性能)
3.QFP、TQFP、PQFP、LQFP、BGA、LBGA
4.37、32、31、6
5.大端格式和小端格式
6.片内的MMU、指令和数据缓存(IDC)、写缓冲(WriteBuffer)
答案-问答题
1.ARM内核有四个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
其中T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。
M功能模块表示8位乘法器。
D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。
I功能模块表示EmbeddedICELogic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
2.一个ARM720T内核基本由以下四部分组成。
(1)ARM7TDMICPU核。
该CPU核支持Thumb指令集、核调试、增强的乘法器、JTAG及嵌入式ICE。
它的时钟速率可编程为18MHz、36MHz、49MHz、74MHz。
(2)内存管理单元(MMU)与ARM710核兼容,并增加了对WindowsCE的支持。
该内存管理单元提供了地址转换和一个有64个项的转换旁路缓冲器。
(3)8KB单一指令和数据高速缓冲存储器,以及一个四路相联高速缓冲存储器控制器。
(4)写缓冲器WriteBuffer。
3.通用寄存器包括R0~R15,可以分为三类:
(1)未分组寄存器R0~R7;
(2)分组寄存器R8~R14;
(3)程序计数器PC(R15)。
4.Thumb状态下的寄存器与ARM状态下的寄存器有如下关系:
(1)Thumb状态下和ARM状态下的R0~R7是相同的。
(2)Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。
(3)Thumb状态下的SP对应于ARM状态下的R13。
(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指令集、Thumb指令集
2.寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址
3.跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令、异常中断产生指令
4.符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令
5.在C/C++代码中嵌入汇编指令;从汇编程序中访问C程序变量;汇编程序、C/C++程序间的相互调用
6.filename.c源文件、filename.h头文件、filename.o目标文件、filename.s汇编代码文件、filename.lst列表文件
答案-问答题
1.一条典型的ARM指令语法格式如下所示:
{}{S},,
其中:
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.装载映像文件、程序执行、查看寄存器和内存空间
2.基本的调试功能、C语言库的支持、通信支持、任务管理功能、异常中断处理
3.在ARMulator或开发板上开发应用程序;建立严重依赖Angel的应用程序;建立很少依赖Angel的应用程序;生成最终的产品
4.FD(满且地址递减)
5.测试访问端口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中的寄存