ARM嵌入式整理最全的考试复习资料Word文档格式.docx

上传人:b****4 文档编号:17552652 上传时间:2022-12-07 格式:DOCX 页数:15 大小:31.32KB
下载 相关 举报
ARM嵌入式整理最全的考试复习资料Word文档格式.docx_第1页
第1页 / 共15页
ARM嵌入式整理最全的考试复习资料Word文档格式.docx_第2页
第2页 / 共15页
ARM嵌入式整理最全的考试复习资料Word文档格式.docx_第3页
第3页 / 共15页
ARM嵌入式整理最全的考试复习资料Word文档格式.docx_第4页
第4页 / 共15页
ARM嵌入式整理最全的考试复习资料Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

ARM嵌入式整理最全的考试复习资料Word文档格式.docx

《ARM嵌入式整理最全的考试复习资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式整理最全的考试复习资料Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

ARM嵌入式整理最全的考试复习资料Word文档格式.docx

17.I2C协议中有几根线(B)

[A]1  [B]2[C]3[D]4

18.I2C协议中设备地址模式有(AC)

[A]7位地址模式  [B]8位地址模式[C]10位地址模式[D]4地址模式

19.S3C2410采用的是(D)核心

[A]ARM7TDMI  [B]ARM9TDMI[C]ARM926EJ-S[D]ARM920T

20.在串行异步通讯中,发送端串口的TxD要和接收端串口的(B)相连接

[A]TxD  [B]RxD[C]nCTS[D]nRTS

21.在嵌入式系统设计中可以通过(B)来测量电池电压,可以用(C)来驱动喇叭发声

[A]DAC  [B]ADC[C]PWM[D]Timer[E]RTC

22.MMU的作用有(AB)

[A]内存保护  [B]地址转换[C]加快存取速度[D]安全保密[E]内存分配

23.以下属于DMA特点的有(BC)

[A]占用CPU  [B]占用总线[C]不占用CPU[D]不占用总线

24.下面的设备中属于闪存的设备有(AD)

[A]K9F1208U0M[B]MAX3232[C]HY57V561620[D]Am29LV160D

25.I2C传输是(B)方式传输

[A]单工  [B]半双工[C]全双工

二、简答题

2.用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。

假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。

加法:

ADDSr0,r0,r1//加S是因为要让这个操作影响标志位

ADCr2,r2,r3//ADC是带进位的加法,如果上一条指令产生进位则一起加进来

减法:

SUBSr0,r0,r1//加S是因为要让这个操作影响标志位

SBCr2,r2,r3//SBC是带进位的减法指令

3.请列举ARM处理器的模式和异常,并说明各个发生异常时ARM处理器所处的模式

异常:

Reset

DataAbort

FIQ

IRQ

PrefetchAbort

SWI

Undefinedinstruction

处理器模式

User:

非特权模式,大部分任务执行在这种模式}

FIQ:

当一个高优先级(fast)}中断产生时将会进入这种模式

IRQ:

当一个低优先级(normal)中断产生时将会进入这种模式}

Supervisor}:

当复位或软中断指令执行时将会进入这种模式

Abort:

当存取异常时将会进入这种模式}

Undef:

}当执行未定义指令时会进入这种模式

System:

使用和User模式相同寄存器集的特权模式}

4.FIQ的什么特点使得它处理的速度比IRQ快?

1)FIQ优先级比IRQ高,不会被中断

2)FIQ有自己的专属寄存器:

r8~r12,不用对通用寄存器入栈保护,可以加快速度

3)FIQ位于异常向量表的末尾0x1c,故无需跳转,可以在这里直接放置异常处理函数

5.什么指令可以放在中断向量表?

跳转指令,给PC赋值的指令

B,LDR,MOV

6.ARM处理器中断向量表位于存储器的什么位置?

默认:

0x0

也可以配置成:

0Xffff0000

7.下列ARM指令将做什么?

a)LDRHr0,[r1,#6]

b)LDRr0,=0x999

a:

将r1寄存器的值加上6,然后把以这个值为地址的内存单元里的值取半字(低16位)赋给r0

b:

将立即数0x999赋给r0,注意这是一个伪指令

8.SWP指令的优势是什么?

用来实现什么功能?

功能:

在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。

完成一个字节或字的交换。

可以用来实现信号量

10.简述static和volatile关键字的含义和作用。

c语言中static关键字有两个作用,一是文件作用域,二是函数作用域。

文件作用域关键字static的作用是,以static申明的全局变量、函数不得被其他文件所引用

static另外一个用途是函数内部静态变量,只会被初始化一次,而且变量存储在全局数据段中而不是函数栈中,所以其生命期会一直持续到程序退出

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。

精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份

1.什么是嵌入式系统?

其特点有些什么?

答:

嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

特点:

1)是专用的计算机系统,用于特定的任务;

2)资源较少,可以裁减;

3)功耗低,体积小,集成度高,成本低;

4)使用实时操作系统;

5)可靠性要求更高,具有系统测试和可靠性评估体系;

6)运行环境差异大

7)大部分程序固化在ROM中;

8)较长的生命周期;

9)嵌入式微处理器通常包含专用调试电路

1.嵌入式系统的BooTLoader的功能是什么?

BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。

通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。

(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。

2.目前嵌入式操作系统有哪些?

1)µ

C/OS-II嵌入式操作系统内核;

2)VxWorks嵌入式实时操作系统;

3)WinCE操作系统;

4)Linux操作系统;

5)Symbian操作系统

3.构造嵌入式开发环境有哪几种形式?

1)交叉开发环境;

2)软件模拟环境;

3)评估电路板

4.有时要使用Thumb技术的原因

(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。

)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。

5.ARM处理器的工作模式有哪几种?

答:

1)正常用户模式(usr);

2)快速中断模式(fiq);

3)普通中断模式(irq);

4)操作系统保护模式(svc)或管理模式;

5)数据访问中止模式(abt);

6)处理未定义指令的未定义模式(und);

7)运行特权级的操作系统任务的系统模式(sys)。

6.寄存器R13,R14,R15的专用功能各是什么?

1)寄存器R13保存堆栈指针SP;

2)寄存器R14用作子程序链接寄存器,也称为LR,用以保存返回地址;

3)R15(PC)用作程序计数器。

7.寄存器CPSR,SPSR的功能各是什么?

1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。

所有处理器模式下都可以访问当前的程序状态寄存器CPSR。

2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。

当异常出现时,SPSR用于保存

CPSR的状态,以便异常返回后恢复异常发生时的工作状态。

8.ARM的异常有哪几种,各进入何种工作模式?

他们退出各采用什么指令?

1)复位(Reset)异常(管理模式);

2)未定义指令(undefinedinstruction)异常(未定义模式);

3)软件中断(SWI)异常(管理模式);

4)指令预取中止(PrefechAbort)异常(中止模式);

5)数据访问中止(DataAbort)(中止模式);

6)快速中断请求(FIQ)(FIQ模式);

7)外部中断请求(IRQ)(IRQ模式)。

异常返回指令:

1)SWI,未定义的返回:

MOVSPC,R14;

2)IRQ,FIQ,预取中止的返回:

SUBSPC,R14,#4;

3)数据中止返回并重新存取:

SUBSPC,R14,#8

异常中断的优先级:

复位(最高优先级)-->

数据异常中止--->

FIQ-->

IRQ--->

预取指异常中止--->

SWI---->

未定义指令(包括缺协处理器)。

9.什么是数据的边界对齐?

默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。

数据的自然对其方式是指:

如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。

10.ARM核现在有哪几种?

ARM7、ARM9、ARM9E、ARM10E,、SecurCore、ARM11

11.ARM的寻址方式有哪些?

各写一条说明。

1)立即寻址

(1)ADDR0,R0,#1/*R0←R0+1*/

(2)ADDR0,R0,#0x3f/*R0←R0+0x3f*/;

2)寄存器寻址(ADDR0,R1,R2/*R0←R1+R2*/);

3)寄存器间接寻址

(1)、LDRR0,[R1]/*R0←[R1]*/;

(2)STRR0,[R1]/*[R1]←R0*/;

4)基址加偏址寻址

(1)、LDRR0,[R1,#4];

R0←[R1+4];

(2)、LDRR0,[R1,#4]!

R0←[R1+4]、R1←R1+4;

(3)、LDRR0,[R1],#4;

R0←[R1]、R1←R1+4

5)堆栈寻址

(1)、STMFDSP!

{R1-R7,LR};

(2)、LDMFDSP!

6)块拷贝寻址

(1)、LDMIAR0!

{R2-R9};

(2)、STMIAR1,{R2,R9};

7)相对寻址

12.指令ADR,ADRL、LDR、NOP是如何处理地址值读入到寄存器中的?

ADR是将基于PC或者寄存器的地址值读入到寄存器的,ADR伪指令通常被替换成一条ADD指令或SUB指令来实现该ADR指令的功能。

而ADRL伪指令与ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2条数据处理指令。

LDR将一个32位的立即数或者一个地址值读取到寄存器中。

大范围的地址读取。

NOP在汇编时将被替换成ARM中的空操作。

13.如何在c语言程序中内嵌汇编?

内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,数据交换必须通过ATPCS进行。

嵌入式汇编在形式上表现为独立定义的函数体。

14.在C语言程序如何调用汇编语言程序?

为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。

在汇编程序中需要使用EXPORT伪操作来声明,使得本程序可以被其它程序调用。

同时,在C程序调用该汇编程序之前需要在C语言程序中使用extern关键词来声明该汇编程序。

15.汇编语言程序调用C语言程序?

在C程序中不需要使用任何关键字来声明将被汇编语言调用的C程序,但是在汇编程序调用该C程序之前需要在汇编语言程序中使用IMPORT伪操作来声明该C程序。

在汇编程序中通过BL指令来调用子程序。

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控制器可接入到边界扫描链。

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从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。

1.ARM微处理器在较新的体系结构中支持两种指令集:

ARM指令集、Thumb指令集。

2.ARM处理器有9种基本寻址方式,分别是:

寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址

3.ARM指令集可以分为6类,分别是:

跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令、异常中断产生指令

4.在ARM的汇编程序中,有如下几种伪指令:

符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令

5.汇编语言与C/C++的混合编程通常有以下几种方式:

在C/C++代码中嵌入汇编指令;

从汇编程序中访问C程序变量;

汇编程序、C/C++程序间的相互调用。

2.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。

有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。

?

满递增:

堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。

指令如LDMFA,STMFA等。

空递增:

堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。

指令如LDMEA,STMEA等。

满递减:

堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。

指令如LDMFD,STMFD等。

堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。

指令如LDMED,STMED等。

3.ARM协处理器指令包括哪3类,请描述它们的功能。

用于ARM处理器初始化ARM协处理器的数据处理操作。

用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。

用于在ARM协处理器的寄存器和内存单元之间传送数据。

5.汇编语言程序中常用的符号,需要遵循哪些规则?

符号区分大小写,同名的大、小写符号会被编译器认为是两个不同的符号。

符号在其作用范围内必须唯一。

自定义的符号名不能与系统的保留字相同。

符号名不应与指令或伪指令同名。

1.ARM嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式软件系统构成。

2.常用的嵌入式外围设备有存储设备、通信设备、显示设备三类。

3.总线通常包括数据总线、地址总线、控制总线。

4.目前流行的嵌入式操作系统主要有:

Vxwork、WinCE、Linux、pSOS。

5.嵌入式操作系统的调试一般包括:

操作系统调试和应用程序调试。

3.设计ARM硬件电路板一般有哪些特点和原则?

(1)新型的和适合应用场合的ARM提高系统的程序效率;

(2)低功耗器件和贴片封装,降低功耗和提高抗干扰;

(3)通用型平台,减小开发成本和开发周期;

(4)充分利用富余端口,有利于产品的升级;

(5)单芯片解决方案;

(6)LED方便调试。

1.作为高速缓存的存储器主要有SRAM、DRAM、FlashROM。

2.动态RAM有SDRAM、DDR。

3.ARM有从外部SDRAM启动的外启动和从片上_ROM_启动的内启动两种启动方式。

1.简述SDRAM在ARM系统中的主要作用。

SDRAM具有高速、大容量等优点,是一种具有同步接口的高速动态随机存储器,在ARM系统中主要用作程序的运行空间、数据及堆栈区。

2.区别ARM外启动方式和内启动方式的不同。

外启动方式下,ARM从外部程序存储器取指令执行;

内启动时,ARM运行片上ROM中固化的启动程序。

1.Nand-Flash闪存每个块的最大擦写次数是100万次,而Nor的擦写次数是10万次。

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快

1 嵌入式系统有3个基本特征,分别是嵌入式,内含计算机,专用型。

2 ARM7TDMI中的T,D,M,I分别代表的意思是支持Thumb指令集,支持片上调试,支持64位乘法指令,EmbeddedICE硬件仿真模块。

3 ARM指令与Thumb指令切换状态用的是BX指令,查询处理器处于何种指令状态可以通过MRS指令读取CPSR寄存器中的T控制位。

4 试验中嵌入式Linux系统移植的过程分为三个阶段:

下载Bootloader,下载Kernel,下载文件系统。

5 Bootloader主要功能是系统初始化,加载和运行内核程序。

3简要说明ARM7指令集分类,总结特点?

ARM7TDMI处理器有两个指令集:

32位ARM指令集和16位Thumb指令集,每个指令有其自己的优缺点和使用范围。

(1)ARM指令集可分为5大类指令:

分支盒子里,数据处理指令,加载和存储指令,协处理指令和杂项指令。

(2)Thumb指令集可分为4大类:

分支指令,数据处理指令,寄存器加载与存储指令,异常产生指令。

Thumb使ARM7TDMI处理器非常适用于那些只是有限的存储器带宽并且代码密度很高的嵌入式应用。

16位Thumb和32位ARM指令集使使用者有极大的灵活性,使其可以根据各自应用的需求,在子程序一级上实现对性能或者代码规模的优化。

2什么是交叉开发模式?

(5分)

嵌入式系统资源受限,直接在嵌入式系统的硬件平台上编写软件比较困难,有时甚至不可能。

目前一般是先在通用计算机上编写程序,然后交叉编译,生成目标平台上的可运行的二进制代码格式,最后下载到目标平台上的特定位置上运行。

步骤

(1)交叉开发环境的搭建

交叉开发环境是指编译,链接和调试嵌入式应用软件的环境。

(2)交叉编译和链接。

交叉编译是指程序在一台计算机上编译然后再分布到将要使用的其他计算机。

(3)交叉调试,分为硬件调试和软件调试

1、嵌入式系统的设计可以分成三个阶段:

分析、设计和实现

4、微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺依曼,分开的指令和数据接口、取指和数据访问可以并行进行的是哈佛结构

5、ARM微处理器有七种工作模式,它们分为两类非特权模式、特权模式。

其中用户模式属于非特权模式

6、ARM核有两个指令集,分别是ARM、Thumb

7、ARM微处理器复位后,PC(R15

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

当前位置:首页 > 表格模板 > 书信模板

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

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