嵌入式系统开发技术复习资料doc.docx

上传人:b****2 文档编号:1768637 上传时间:2023-05-01 格式:DOCX 页数:31 大小:221.70KB
下载 相关 举报
嵌入式系统开发技术复习资料doc.docx_第1页
第1页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第2页
第2页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第3页
第3页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第4页
第4页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第5页
第5页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第6页
第6页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第7页
第7页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第8页
第8页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第9页
第9页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第10页
第10页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第11页
第11页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第12页
第12页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第13页
第13页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第14页
第14页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第15页
第15页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第16页
第16页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第17页
第17页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第18页
第18页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第19页
第19页 / 共31页
嵌入式系统开发技术复习资料doc.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

嵌入式系统开发技术复习资料doc.docx

《嵌入式系统开发技术复习资料doc.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发技术复习资料doc.docx(31页珍藏版)》请在冰点文库上搜索。

嵌入式系统开发技术复习资料doc.docx

嵌入式系统开发技术复习资料doc

嵌入式系统开发技术复习资料(2017年)一、考试题型

1、选择题(2分一个,共计15个,共计30分)

2、问答题(每题4分,共计30分)

3、阅读程序(共10分)

4、编程(共15分)

5、硬件电路编程(共15分)

二、选择题(覆盖全部学习课程)

1、下列描述中,不属于嵌入式系统特点的是_D_。

A.实时性强B.专用性强C.系统内核小D.价钱便宜

2、下列不属于嵌入式实时操作系统的是(A)。

A.UNIXB.ucLinuxC.uC/OSIID.windowsCE

3、在ARM中,常用作程序计数器PC的寄存器是1)。

A.R12B.R13C.R14I).R15

4、ARM的异常中断优先级最高的是Co

A.FIQB.IRQC.RESETD.SWI

5、下列—C不是使用S3C2410A处理器的I/O端口时涉及到的特殊功能寄存器。

A.端口控制寄存器B.端口数据寄存器

C.端口时钟寄存器D.端口上拉电阻寄存器

6、S3C2410A处理器的存储器分为8个BANK空间,常用于SDRAM存储空间的起始地址是

Bo

A.0X20000000HB.0X30000000HC.0X40000000HD.0X50000000H

7、外部中断掩码寄存器清零时使能相应中断,置1时屏蔽中断,在复位的时候EINTMASK

的值是Ao

A、OXFFFFFOIIB、OXFFFFFFC、OXFFFFFFFOIID、OXFFFFFFFF

8、当看门狗定时器减到零时,产生DPCLK周期的复位信号。

A.16个B.32个C.64个I).128个

9、UART串行通信中,一帧数据中的起始位有A位。

A.1位B.2位C.3位D.4位

10、S3C2410X处理器的中断控制器可以接收C个中断请求。

A.24个B.32个C.56个1).64个

11、RS232-C串口通信中,表示逻辑1的电平是(D)。

A^0v3.3v

C、+5v〜+15vD、—5v〜—15v

12、ARM汇编语句“ADDR0,

R2,R3,LSL#1”的作用是(A)o

A.R0二R2+(R3«1)

B.RO=(R2«1)+R3

C.R3=R0+(R2«1)

D.(R3«1)=R0+R2

13、IRQ中断的入口地址是(

C)o

A、0x00000000

B、0x00000008

C、0x00000018

D、0x00000014

 

14、和PC系统机相比嵌入式系统不具备以下哪个特点(C)。

A、系统内核小

B、

专用性强

C、可执行多任务

D、

系统精简

15、ADDRO,Rl,#3属于

(A)寻址方式。

A.立即寻址

B.

多寄存器寻址

C.寄存器直接寻址

D.

相对寻址

16、GET伪指令的含义是

(A)

A.包含一个外部文件

B.

定义程序的入口

C.定义一个宏

D声明一个变量

18、ARM公司是专门从事

(A

A、基于RISC技术芯片设计开发

BsARM芯片生产

C、软件设计

D、ARM芯片销售

19、ARM9系列微处理器是

C)

A、三级流水线结构

B、

四级流水线结构

C、五级流水线结构I)、六级流水线结构

20、在所有工作模式下,(A)都指向同一个物理寄存器,即各模式共享

A、R0-R7B、R0-R12C、R8-R12D、R13,R14

21、当异常发生时,寄存器(A)用于保存CPSR的当前值,从异常退出时则可由它来恢复CPSR.

A、SPSRB、R13C、R14D、R15

22、IRQ屮断的优先级别是(D)。

A.1B.2

C.3D.4

23、LDRR2,[R3,#128]的寻址方式是(C)。

A.寄存器寻址B.寄存器移位

C.变址寻址D.间接寻址

24、ARM处理器的工作模式有(C)种。

A.5B.6

C.7D.8

25、能实现把立即数0X3FF5000保存在R0中的指令是(C)

A、LDRRO,=0X3FF5000B、LDRRO,0X3FF5000

C、MOVRO,0X3FF5000D、MOVRO,=0X3FF5000

R1<-[RO],

R2TR0-4],

R3<-[R0-8],R4-[RO-12]

26、ARM指令LDMIARO,{Rl,R2,R3,R4}实现的功能是(

27、对ARM处理器说法不正确的是(D)。

A、小体积、低功耗、低成本、高性能

B、支持Thumb(16位)/ARM(32位)双指令集

C、只有Load/Store指令可以访问存储器

D、寻址方式多而复杂

28、下列描述不属于RISC计算机的特点的是(C)o

A.流水线每周期前进一步。

B.更多通用寄存器。

C.指令长度不固定,执行需要多个周期。

D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。

29、存储一个32位数0x2168465到2000H-2003H四个字节单元中,若以大端模式存储,则2000II存储单元的内容为(D)o

33、指令MSRCPSR_C,R0实现的功能是(B

34、同CISC相比,下面哪一项不属于RISC处理器的特征(D)

A、采用固定长度的指令格式,指令规整、简单、基本寻址方式有2〜3种。

B、减少指令数和寻址方式,使控制部件简化,加快执行速度。

C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。

D、RISC处理器都采用哈佛结构。

36、在下列ARM处理器的各种模式中,只有(A)模式不可以自由地改变处理

器的工作模式。

37、通常所说的32位微处理器是指(C

 

38在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用(C)方法。

A、直接修改CPU状态寄存器(CPSR)对应的模式

B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态

C、使用软件屮断指令(SWI)

D、让处理器执行未定义指令

39、寄存器R13除了可以做通用寄存器外,还可以做(C)。

A、程序计数器B、链接寄存器

C、栈指针寄存器I)、基址寄存器

40、FIQ中断的入口地址是(A)o

A、OxOOOOOOlCB、0x00000008

C、0x00000018D、0x00000014

41、ARM指令集和Thumb指令集分别是(D)位的。

A.8位,16位B.16位,32位

C.16位,16位D.32位,16位

42、ARM寄存器组有(D)个寄存器。

A、7B、32

C、6D、37

42、若R1二2000H,(2000H)二0x28,(2008H)二0x87,则执行指令LDRR0,[R1,#8]!

后R0的值为(D)o

A.0x2000B.0x28

C.0x2008D.0x8743、寄存器R15除了可以做通用寄存器外,还可以做(A)

A.程序计数器pcB.链接寄存器

C.堆栈指针寄存器D.基址寄存器

44、ARM指令集是(B)位的。

A.16B.32

C.8I).24

45、假设R1=0x31,R2=0x2则执行指令ADDRO,R1,R2LSL#3后,R0的值是(C)

A.0x33B.0x34

C.0x39D.0x38

46、寄存器R13除了可以做通用寄存器外,还可以做(C)

A、程序计数器B、链接寄存器

C、栈指针寄存器D、基址寄存器

47、ARM寄存器组有(C)个状态寄存器

A、7B、32

C、6I)、37

48、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)

A、系统内核小B、专用性强

C、可执行多任务D、系统精简

49、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。

A.系统软件B.驱动C.FPGA编程软件D.嵌入式中间件

50、下列CPSR寄存器标志位的作用说法错误的是(D)。

A.N:

负数B.Z:

零C.C:

进位D.V:

借位

51、有如下程序

main()

{

intx=l,a=0,b=0;

switch(x)

{

case0:

b++;

case1:

a++;

case2:

a++;b++;

printf(/?

a=%d,b=%d\n,z,a,b);

该程序的输出结果是(A)o

A.a=2,b=lB.a=l,b=lC.a=l,b=01).a二2,h=2

52、若已定义的函数有返冋值,则以下关于该函数调用的叙述中错误的是(I))。

A.函数调用可以作为独立的语句存在

B.函数调用可以作为一个函数的实参

C.函数调用可以出现在表达式中

D.函数调用可以作为一个函数的形参

53、以下说法正确的是(C)o

A.C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用函数必须在main()函数中定义

C.C语言程序总是从main()函数开始执行

I).C语言程序屮的呃in()函数必须放在程序的开始部分

54、寄存器R15用作(

B

)o

A.栈指针寄存器

B.

程序计数器

C.当前程序状态寄存器

D.

基地址寄存器

三、指令测试题

1、写一条ARM指令,完成操作rl二r2*4

M0VR1,R2,LSL#2

2、初始值R2=5,R3=4,R4=3,执行指令SUBSR2,R3,R4,LSR

#2后,寄存器R2,R3的值分别是多少?

答:

SUBSR2,R3,R4,LSR#2中SUB为减法指令、LSR为右移

指令符,LSR#2为R4右移两位相当于R4除以4,所以综上所述:

R2=R3-R4/4=4-4/4=4,R3保持不变R3=4o

3、说明指令STMIArl2!

{rO-rll}的操作功能。

4、请写一段程序,关闭中断;

num

EQU

2

MOV

rO,

#1

MOV

rl,

#6

MOV

r2,

#3

BL

arithfunc

start

5、请写一段程序,开启中断;

三、程序测试题

值是多少。

RO为0执行DoA,R0为0执行DoS,流程图略。

R0=5o

2、有程序段如下,实现下面流程图,试补充编写ARM汇编代码。

程序段:

MOVrO,#15

MOVrl,#9start

CMPrO,rl

SUBLTrl,rl,rOSUBGTrO,rO,rlBNEstart

stop

Bstop

END

3、写一段ARM汇编程序:

循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。

程序框架如下,补充代码完成上述功能。

(15分)

AREAtotal,CODEREADONLY

ENTRY

start

MOVr4,#0

ADRrO,myarray

;在此补充代码

4、这是一个由源程序strtest,c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。

要求阅读程序,在程序屮的注释符“//”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。

5、请解释下列程序中的各条指令:

xequ45yequ64stack_topequ0x1000

AREAexample,codereadonly

Code32

entry

stop:

start:

mov

sp,

#stack_top

mov

rO,

#x

str

『0,

[sp]

mov

「0,

#y

Idr

rl,

[Sp]

add

r0,

r0,rl

str

r0,

[sp]

bstop

6、ARM指令集的每一条指令都是4字节的,下面是一段中断入口程序,在空白处填上该中断的类型和中断向量。

ENTRY

B

Startup

;复位中断,0x00

1分

B

UndefHandle

;未定义指令中断,0x04

1分

B

SWIHandle

;软中断,0x08

1分

B

PAbtHandle

;预取中止,OxOC

1分

B

DAbtHandle

;数据中止,0x00000010

NOP;

;系统保存未用,0x00000014

B

IRQHandle

;IRQ中断,0x18

1分

B

FIQHandle

;快速中断,OxlC

1分

五、简答题

答:

嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括

•宿主机

•冃标机(评估电路板)

•基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE

•运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境

•嵌入式操作系统

2、ARM核中什么寄存器用于存储PC?

R13通常用来存储什么?

R14通常用来存储什么?

答:

R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,

R24通常用来做链接寄存器,保存函数调用的返回地址

3、什么是大端格式,什么是小端格式,在RAM920T内核的系统中,常采用什么模式?

答:

大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;

小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

4、简述S3C2410的I/O端口的控制寄存器,数据寄存器、上拉电阻允许寄存器的作用?

5、S3C2410的中断模式有哪两种,如何设置中断模式?

6、S3C2410UART的波特率如何确定的?

7、ARM处理器有几种工作模式?

并做说明每种工作模式的含义。

8、冃前使用的嵌入式操作系统主要有哪些?

请举出四种较常用的。

9、ARM系统中的堆栈有四种,如下图。

请按图标出四种堆栈的类型。

ATPCS编程规范约定使用的堆栈是哪一种?

10、请根据实验环境环境,阐述如何搭建一个嵌入式开发环境?

11、简述再进行基于ARM核的嵌入式系统软件开发时,ATPCS函数调用规则。

12、简述嵌入式系统的概念、组成及特点。

答:

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

一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。

其特点有

•嵌入式系统通常是面向特定应用的

•嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物

•嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余

•嵌入式系统和具体应用有机地结合在一起,它的升级换代也

是和具体产品同步进行

•为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中

嵌入式系统本身不具备自举开发能力

13、比较Nandflash与Norflash的异同?

答:

其主要区别如下:

(1).性能比较(2分)

Nor的读速度比Nand稍快一些。

Nand的写入速度比Nor快很多。

Nand的4ms擦除速度远比Nor的5s快。

大多数写入操作需要先进行擦除操作。

Nand的擦除单元更小,相应的擦除电路更少。

(2).容量和成本(2分)

NorFlash占据了容量为1〜16MB闪存市场的大部分,而NandFlash只是用在8〜128MB的产品当中,这也说明Nor主要应用在代码存储介质中,Nand适合于数据存储。

(3).接口差别(2分)

NorFlash带有SRAM接口,有够的足地址引脚来寻址,可以很容易地存取其内部的每一个字节。

Nand器件使用复杂的I/O口来串行存取数据,各个产品或厂商的方法可能各不相同。

14、简述BL、SWKSTM、LDM、MOV、MVN的含义。

15、ARM常见的寻址方式有哪些?

16、ARM有哪几种异常类型?

17、BIC指令的作用是什么?

BIC指令用于将第一个操作数Rn的各位与第二个操作数中相应位的反码进行“与”操作,并把结果放置到目的寄存器Rd屮。

18、如何在特权模式下用ARM汇编指令使能IRQ中断

MRSRO,CPSR

ANDRO,RO,OX3F

MSRCPSR_c,RO

19、在存储和加载中,“!

“的功能是什么?

!

-可选后缀,若选最后该后缀,则当数据传送完毕之后,将最后的地址写入基址寄存器Rn,否则Rn的内容不改变。

20、在执行SWI指令时会发生什么?

SWI指令产生软件中断,用于用户调用操作系统的系统例程,长称为“蓝控调用”。

它将处理器置于监控模式(SVC),从地质0x08开始执行指令。

操作系统在SWI的异常处理程序中提供相应的系统服务。

21、SWP指令的优点是什么?

SWP指令用于将一个内存单元的内容读取到一个目的寄存器中,同时将另一个源寄存器R没得内容写入到该内存单元中,交互指令把字或者无符号字节的读取和存入组合在一条指令屮,当源寄存器和H的奇存器为同一寄存器时,指令交互该得存器和存储器的内容,因此本指令一般用于共享的信号量、数据结构之间进行互斥的访问。

22、BX指令和BL指令有什么不同?

BX带状态切换的跳转指令,完成跳转到指令中所指定的目标地址,目标地址处的指令既可以是ARM指令,也可以是Thumb指令。

BL带返冋状态的跳转指令,她适用于子程序的调用,跳转范围限制在当前指令的-32M〜+32MZ间。

三、编程题目

1、这是一个由源程序strtest,c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。

要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。

2、请解释下列程序中的各条指令:

xequ45

yequ64

stack_topequ0x1000

AREAexample,codereadonly

Code32

entry

start:

mov

sp,

#stack_top

mov

r0,

#x

str

r0,

lsp]

mov

r0,

#y

ldr

rl,

rsp]

add

rO,

r0,rl

str

r0,

[sp]

stop:

bstopend(10分)

2、编程实现将从地址src开始的num个字的数据复制到地址dst去,要求每次复制八个字,如果不足八个字,每次复制一个字。

AREAexample4,code,readonlynumequ25entry(1分)

Start

IdrrO,=src

ldrr2,=dst

movr2,ttnum(2分)

Blockcopy

movsr3,r2,lsr#3

beqwordcopy

stmfdsp!

{r4-Rll}(2分)

Copy

ldmiar0!

>{r4-rll}stmiarl!

{r4-rll}subsr3,r3,#1

Bnecopy(2分)

Wordcopy

andsr2,r2,#7beqstop(2分)

Copyloop

ldrr3,[rO],#4

strr3,[rl],#4(2分)

subsr2,r2,#1

Bnecopyloop(2分)

Stop

b.

areaoridate,data,readwrite(2分)

Srcdeb0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4

Dstspace25*4

End

4、如何用C语言实现开关中断开中断

voidopen_irq()

{

・-asm

{

MRSRO,CPSR

BICRO,RO,#OX1F

ORRRO,RO,#0X13

MSRCPSR_c,RO

MRSRO,CPSR

ANDRO,RO,OX3F

MSRCPSR_c,RO

}

}

关中断

voidopen_irq()

{

-asm

{

MRSRO,CPSR

BICRO,RO,#OX1F

ORRRO,RO,#0X13

MSRCPSR_c,RO

MRSRO,CPSR

ORRRO,R0,0XC0

MSRCPSR_c,RO

}

}

5、比较3个数的大小,并排序

AREAEXAMPLE2,CODE

ENTRY

MOVRO,#10

MOVRl,#30

MOVR2,#20

START

CMPRO,R1

BLELBL_a

CMPR0,R2

MOVGTR3,R0

MOVLER3,R2

LBL_a

CMPR1,R2

MOVGTR3,R1

MOVLER3R2

LB「B

B.

END

6、CMP指令的操作数是什么?

写一个程序,判断R1的值是否大于0X30,是则将R1减去0X30

CMP指令用于将第一个操作数寄存器Rn的值减去第二个操作数,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。

MOVR0,#0X30

CMPR1,#OX3O

SUBGTR1,R1,RO

7、如何实现类似于C语言中的if-then-else功能的ARM代码段?

程序功能为求最大公约数,相应的C语言代码如下:

GCD

CMPROZR1

SUBGTRO,RO,R1

SUBLTR1ZR1,R0

BNEGCD

MOVPC,LR

8、用ARM汇编实现比较两个串的大小,代码执行前,R0指向第1个串,R1指向笫2个串,代码执行后,R0中保存比较结果,如果两个串相同,R0为0;如果第1个串大于第2个串,R0>0;如果第1个串小于第2个串,R0

Strcmp

LDRBR2JR0J41

LDRBR34R1]Z#1

CMPR2,#0;判断第一个字符串是否已经搜索完

CMPNER3,#0;判断第一个字符串是否已经搜索完

BEQRETURN

CMPR2,R3

BEQ

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2