ARM嵌入式考试习题.docx

上传人:b****3 文档编号:4008557 上传时间:2022-11-27 格式:DOCX 页数:14 大小:25.27KB
下载 相关 举报
ARM嵌入式考试习题.docx_第1页
第1页 / 共14页
ARM嵌入式考试习题.docx_第2页
第2页 / 共14页
ARM嵌入式考试习题.docx_第3页
第3页 / 共14页
ARM嵌入式考试习题.docx_第4页
第4页 / 共14页
ARM嵌入式考试习题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

ARM嵌入式考试习题.docx

《ARM嵌入式考试习题.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式考试习题.docx(14页珍藏版)》请在冰豆网上搜索。

ARM嵌入式考试习题.docx

ARM嵌入式考试习题

第1章:

填空题

1.ARM内核有四个功能模块,即T、D、M、I,可供生产厂商根据不同用户的要求

来配置生产ARM芯片。

2.ARM7TDMI与ARM720T的一个重要区别在于后者有_存储空间管理单元(MMU)和8KCache片内缓存(提高CPU性能)_。

3.ARM芯片主要封装有FP、TQFP、PQFP、LQFP、BGA、LBGA_等形式。

4.ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。

5.ARM体系结构可用两种方法存储字数据,具体为大端格式和小端格式。

6.协处理器主要控制:

片内的MMU、指令和数据缓存(IDC)、写缓冲(WriteBuffer)。

问答题:

1.简单描述ARM内核的四个功能模块,各自具备什么功能特点?

1.ARM内核有四个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。

其中T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。

M功能模块表示8位乘法器。

D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。

I功能模块表示EmbeddedICELogic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。

2.一个ARM720T内核,基本由哪四部分组成?

一个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微处理器在较新的体系结构中支持两种指令集:

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},,

其中:

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1