嵌入式复习题(含全部答案)

嵌入式复习题(含全部答案)
嵌入式复习题(含全部答案)

嵌入式系统复习题

一、填空题:

1、试列举三种主流的嵌入式处理器:( ARM )、( MIPS )、(PowerPC)。

2、ARM处理器共有(37)个寄存器,其中包括(31个通用寄存器)和(6个状态寄存器)。

3、寄存器R13在ARM指令中(堆栈指针SP )。R14也称(程序连接寄存器LR)在程序里的作用是(程序计数器PC的备份)。当发生中断或异常时,对应分组寄存器分别是(R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值)。

4、ARM微处理器支持两种指令集:(ARM)和(Thumb)。

5、寄存器R15用作(程序计数器PC)。该寄存器在ARM状态下,(位[1:0]为00),位[31:2]用于保存PC;在Thumb状态下,(位[0]为0),位[31:1]用于保存PC。

6、CPSR用作( 状态寄存器 ),CPSR可在任何运行模式下被访问。每一种运行模式下又都有一个专用的物理状态寄存器,称为(程序状态保存寄存器SPSR)。

7、Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问的通用寄存器是(R0—R7,PC,SP,LR,CPSR)。

8、ARM指令中条件执行功能是通过(指令中添加条件码)来实现的,包含的条件码位于指令的最高(四)位。

9、试列举五种以上常见的嵌入式操作系统:(μC/OS-II)、(Vxworks)、(WinCE)、(Linux/μCLinux)、(PalmOS)。

10、计算机结构中,哈佛结构和冯?诺依曼结构的主要区别是(指令与数据分开),ARM7采用(冯?诺依曼结构),ARM9采用(哈佛结构)。

11、ARM处理器采用(Thumb指令)操作来访问SFR。

12、在ARM汇编语言程序设计中,语句一般是由(指令操作码)、(指令的条件码)、(目标寄存器编码)和(包含第一个操作数的寄存器编码)组成。

二、名词解释:

1、ARM处理器:先进的RISC指令集处理器。广泛地使用在许多嵌入式系统设计。

2、交叉编译:在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,

这个编译过程就叫交叉编译。

3、异常:异是导致程序中断运

行的一种指令流。(是指CPU在

执行指令时出现的错误,即不正

常的情况。异常是与当前所执行

的程序有关的,如存取数据或指

令错误、计算结果溢出等。)

4、大端格式:字数据的高字节

存储在低地址中,而字数据的低

字节则存放在高地址中。

5、小端格式:低地址中存放的

是字数据的低字节,高地址存放

的是字数据的高字节。

6、寻址方式:处理器根据指令

中给出的(地址)信息,寻找操

作数(物理地址)的方式。

7、嵌入式系统:广义上:凡是

不用于通用目的的可编程计算

机设备,就可以算是嵌入式计算

机系统。狭义上而言,嵌入式系

统是指以应用为核心,以计算机

技术为基础,软硬件可裁剪,对

功能、可靠性、成本、体积和功

耗严格要求的专用计算机系统。

8、GNU:GNU(GNU’s Not Unix),

它的目标是建立可自由发布和

可移植的类Unix操作系统。

9、伪指令:是汇编语言程序里

的特殊指令助记符,在汇编时被

合适的机器指令替代。

10、伪操作:为汇编程序所用,

在源程序进行汇编时由汇编程

序处理,只在汇编过程起作用,

不参与程序运行。

11、RTOS :实时系统,能够对

外部事件做出及时响应的系统。

12、微控制器:俗称“单片机",

它将整个计算机系统集成到一

块芯片中。

三、简答题:

1、请从广义和狭义两个方面简

述嵌入式系统的含义。

答:嵌入式系统:Embedded

System

广义上:凡是不用于通用目

的的可编程计算机设备,就可以

算是嵌入式计算机系统。

狭义上:,嵌入式系统是指以

应用为核心,以计算机技术为基

础,软硬件可裁剪,对功能、可

靠性、成本、体积和功耗严格要

求的专用计算机系统。

2、简述采用RISC架构的ARM微

处理器的特点。

a.采用固定长度的指令格式,

指令规整,简单,基本寻址2~3

种。

b.使用单周期指令,便于流水

线操作。

c.大量使用寄存器,提高指令

的执行效率。

d.所有的指令都可以根据前

面的执行后,决定是否执行从而

提高指令的执行效率。

e.可以加载/存储指令,批量

传输数据,以提高数据的传输效

率。

3、选择嵌入式微处理器时,应

考虑那些因素?

a, 调查市场上已有的CPU供应

商。

b, CPU的处理速度

c,技术指标。

d,处理器的低功耗。

e,处理器的软件支持工具。

f,处理器是否内置调试工具。

g,处理器供应商是否提供评估

板。

h,片内存储容量。

4、简述嵌入式系统的特点。

(1)软硬件一体化,集计算机

技术、微电子技术、行业技术于

一体;

(2)需要操作系统支持,代码

少,执行速度快;

(3)系统内核小、专用性强、

系统精简。

(4)高实时性的系统软件(OS)

是嵌入式软件的基本要求。

(5)嵌入式软件开发要想走向

标准化,就必须使用多任务的操

作系统。

(6)嵌入式系统开发需要开发

工具和环境。

5、画出当前主流嵌入式系统的

硬件组成结构框图。

6、比较ARM920T和ARM720T的

主要异同。

ARM9 5级流水线独立的指令

总线哈佛结构

ARM7 3级流水线数据与指令

一起冯·诺依曼结构

7、ARM9指令是几级流水线,各

阶段执行什么操作?

答:ARM9采用5级流水线。

取指:从指令Cache中读取

指令。

译码:对指令进行译码,识

别出是对哪个寄存器进行操作

并从通用寄存器中读取操作数。

执行:进行ALU运算和移位

操作,如果是对存储器操作的指

令,则在ALU中计算出要访问

的存储器地址。

数据缓冲:如果是对存储器

访问的指令,用来实现数据缓冲

功能(通过数据Cache)

回写:将指令运算或操作结

果写回到目标寄存器中。

8、写出不少于12类嵌入式产品

中的常用接口。

UART接口、SPI接口、I2C接口、

ADC和触摸屏接口、USB接口、

以太网接口、外存接口、LCD接

口、时钟接口、PWM接口、中断

接口、JTAG接口、VGA接口、音

频接口

9、若允许FIQ、IRQ中断,CPSR

如何设置?

FIQ: CPSR[4:0]=0B10001 IRQ:

CPSR[4:0]=0B10010

CPSR[5]=0

CPSR[6]=0

CPSR[7]=0

10、举例说明ARM的各种寻址方

式。

寄存器寻址:LDR R1,R2

寄存器间接寻址:LDR R1,[R2]

寄存器偏移寻址:LDR

R1,[R2,-R4,LSL#3]

立即寻址:LDR,R3,#34

多寄存寻址:LDMIA

R0,{R1,R3,R4,R5}

11、对比说明ADR、ADRL与LDR

的区别与联系。

ADR:小范围的地址读取伪指令。

ADRL:中等范围的地址读取伪指

令。

LDR:大范围的地址读取伪指令。

ADR伪指令功能:将基于PC相对

偏移的地址值或基于寄存器相

对偏移的地址值读取到寄存器

中。

ADRL伪指令功能:将基于PC相

对偏移的地址值或基于寄存器

相对偏移的地址值读取到寄存

器中,比ADR伪指令可以读取更

大范围的地址。

LDR伪指令功能:用于加载32位

立即数或一个地址值到指定的

寄存器。

12、(没找到)

13、简述S3C2410 Nand flash 存储器的启动过程。

(1)完成复位

(2)如果自动启动模式使能,NAND Flash存储器的前4KB自动复制到Steppingstone内部缓冲器中

(3)Steppingstone映射到nGCS0

(4)CPU在Steppingstone的4KB 内部缓冲器中开始执行启动代码

14、简述Bootloader启动过程。

第一阶段

(1)、基本的硬件设备初始化

(2)、为阶段2代码准备RAM 空间

(3)、拷贝阶段2代码到RAM 空间

(4)、设置好堆栈

(5)、跳转到阶段2的C程序入口点

第二阶段

(1)、初始化本阶段要使用到的硬件

(2)、检测系统内存映射(memory map)

(3)、将kernel和根文件系统映像从flash读到RAM空间

(4)、为kernel设置启动参数

(5)、调用内核

15、请简述嵌入式软件Bootloader的两种工作模式。

(1)启动加载模式:启动加载模式称为“自举”(Autonomous)模式。即Bootloader从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。启动加载模式是 Bootloader的正常工作模式,在嵌入式产品发布的时侯,Bootloader必须工作在这种模式下。

(2)下载模式:在这种模式下,目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机下载文件。下载内容及存储:主要是下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Bootloader保存到目标机的RAM 中,然后再被 Bootloader写到目标机上的FLASH 类固态存储设备中。16、简述ARM9处理器的7种运

行模式。

(1)用户模式(usr):非特权模

式,大部分任务执行在这种模

式。(正常程序执行的模式)

(2)快速中断模式(fiq):当一

个高优先级(fast)中断产生时

将会进入这种模式。(高速数据

传输或通道处理)

(3)外部中断模式(irq):当一

个低优先级(normal)中断产生

时将会进入这种模式。(通常的

中断处理)

(4)管理模式(svc):当复位或

软中断指令执行时将会进入这

种模式。(供操作系统使用的一

种保护模式)

(5)中止模式(abt):当存取异

常时将会进入这种模式。(虚拟

存储及存储保护)

(6)未定义模式(und):当执行

未定义指令时会进入这种模式。

(软件仿真硬件协处理器)

(7)系统模式(sys):供需要访

问系统资源的操作系统任务使

用。(特权级的操作系统任务)

17、ARM9处理器的寻址方式有那

些?

立即寻址、寄存器寻址、寄存

器间接寻址、基址寻址、堆栈寻

址、块拷贝寻址、相对寻址

18、ARM9有哪些处理器模式?哪

些是特权模式?哪些是异常模

式?

异常模式:除用户模式、系

统模式之外的五种模式称为异

常模式。特点:以各自的中断或

异常方式进入,并且处理各自的

中断或异常。

特权模式:除用户模式之外

的工作模式又称为特权模式特

点:应用程序可以访问所有的系

统资源,可以任意地进行处理器

模式的切换

19、ARM9的7种工作模式中用户

模式为非特权模式,与特权模式

相比有哪些权限限制?

(1)在用户模式下,应用程序

不能访问受操作系统保护的系

统资源,不能进行处理器模式的

切换。

(2)在特权模式下,应用程序

可以访问所有的系统资源,可以

任意进行处理器模式的切换。

20、S3C2410存储器组织及地址

分配。

S3C2410X的存储器管理器

提供访问外部存储器的所有控

制信号:26位地址信号、32位

数据信号、8个片选信号、以及

读/写控制信号等。

S3C2410X的存储空间分成8

组,最大容量是1GB,

bank0---bank5为固定128MB,

bank6和bank7的容量可编程改

变,可以是2、4、8、16、32、

64、128MB,并且bank7的开始

地址与bank6的结束地址相连

接,但是二者的容量必须相等。

bank0可以作为引导ROM,

其数据线宽只能是16位和32

位,复位时由OM0、OM1引脚确

定;其它存储器的数据线宽可以

是8位、16位和32位。

S3C2410X的存储器格式,可

以编程设置为大端格式,也可以

设置为小端格式。

21、ARM7在ARM状态下有多少个

寄存器?通常堆栈指针使用哪

个寄存器?连接寄存器LR有什

么功能?

答:有37个32位的寄存器其

中31个为通用寄存器;6个为状

态寄存器。

R13:寄存器R13在ARM指

令中常用作堆栈指针SP。而在

Thumb指令集中,某些指令强制

性的要求使用R13作为堆栈指

针。

R14:寄存器R14也称作子

程序链接寄存器(Subroutine

Link Register)或链接寄存器

LR。当执行BL子程序调用指令

时,R14中得到R15(程序计数

器PC)的备份。其他情况下,R14

用作通用寄存器。

22、嵌入式处理器ARM7/9TDMI

中TDMI的基本含义是什么?

TDMI的基本含义为(对其它

系列也适用):

T:支持16位压缩指

令集Thumb,称为T变种

D:支持片上Debug,

称为D变种

M:内嵌硬件乘法器

Multiplier,称为M变种

I:嵌入式ICE,支持

片上断点和调试,称为I变种

23、简述冯-诺伊曼、哈佛结构

的特点

(1)冯·诺曼结构特点:

必须有一个存储器;必须有

一个控制器;必须有一个运算

器,用于完成算术运算和逻辑运

算;必须有输入和输出设备,用

于进行人机通信。但是,这种指

令和数据共享同一总线的结构,

读取数据不能在同一时刻进行,

影响了数据处理速度的提高。

(2)哈佛结构的特点

使用两个独立的存储器模

块,分别存储指令和数据,每个

存储模块都不允许指令和数据

并存;使用独立的两条总线,分

别作为CPU与每个存储器之间的

专用通信路径,而这两条总线之

间毫无关联。

24、CPSR各位的含义及作用。

31 30 29 28 27 …

8 7 6 5 4 3

2 1 0

N Z C V (保留)

I F T M4 M3 M2 M1

M0

1、条件码标志位(保存ALU

中的当前操作信息)

N:正负号/大小标志位

Z:零标志位

C:进位/借位/移出位

V:溢出标志位

2、控制位

I、F中断控制位——控制允

许和禁止中断

T控制(标志)位——反映处

理器的运行状态

M控制位——决定了处理器

的运行模式

25、简述ARM9异常的优先级

由高到低依次为:复位、数

据中止、FIQ 、IRQ、预取中止、

未定义指令、SWI;

26、ARM处理器支持的数据类型

有哪些?

ARM微处理器支持字节(8

位)、半字(16位)、字(32

位)3种数据类型,可以表示有

符号数和无符号数。

27、Linux的主要特点有哪些?

开放性、多用户、多任务、

良好的用户界面、设备独立性、

丰富的网络功能、可靠的安全系

统、良好的可移植性。

28、Linux常用命令。

ls---文件及子目录名列表

cat---连续显示

cd---改变工作目录(目录切换)cp---复制文件和目录

29、Linux文件系统目录树结构是怎样的?

Linux文件系统是一个目录树结构,最上层是根目录,其他的所有目录都是从根目录出发而生成的。Linux下,任何一个目录都可以是一个分区。因此,在分区时,必须将一个分区安装在树根下面。Linux不仅将分区安装为一个目录,而且还将所有的硬件设备都安装成一个个设备文件。对设备的操作是通过文件的操作完成的。

30、常用的Bootloader有那些?

(1)vivi

(2)RedBoot

(3)U-Boot

31、Makefile和Make各实现什么功能?

Makefile文件内容按照规则,对系统中本目录下的文件(.c、.s、.o、.h、.lib等)根据相互关系和要求进行组织,设定各自的编译方法,指定所生成的目标。 Makefile是一种文本格式文件。

Make是Makefile文件的解释器

Make对Makefile文件解释后,生成Linux的shell命令和gcc编译命令,接着对命令执行,最终生成目标文件。

Makefile是工程系统编译批处理文件。32、ARM有哪两种工作状态,怎

样有指令进行切换?

从ARM状态切换到Thumb状

有两种情况ARM处理器自动

切换到Thumb状态。

(1)执行BX指令,当操作

数寄存器的位[0]为1时,则微

处理器从ARM状态切换到Thumb

状态。此为主动切换。

(2)当处理器处于Thumb

状态时发生异常(如IRQ、FIQ

等),处理完异常后,在异常处

理返回时,自动切换到Thumb状

态。此为自动切换。

从Thumb状态切换到ARM状

有两种情况ARM处理器自动

切换到Thumb状态。

(1)执行BX指令,当操作

数寄存器的位[0]为0时,则微

处理器从Thumb状态切换到ARM

状态。

(2)当处理器在Thumb状态

时发生异常(如IRQ、FIQ等),

则处理器从Thumb状态自动切换

到ARM状态进行异常处理

33、熟悉ARM9指令系统、伪指

令、伪操作。

34、S3C2410有那些数据通信接

口?

UART接口、SPI接口、IIC

接口、JTAG接口、以太网接口、

USB接口

35、简述JTAG借口、串口和以

太网接口在一般嵌入式系统调

试中的作用

(1)JTAG一般用于

Bootloader等底层程序的调试,

下载;

(2)串口是在已有

Bootloader/BIOS的前提下用于

操作系统的调试,下载;

(3)以太网口是在操作系统内

核已经调试好了的前提下用于

应用文件的调试,下载。

36、ARM所有的37个寄存器,分

为哪两大类?

31个通用寄存器和 6

个状态寄存器。

37、在异常发生后,ARM9TDMI内

核会做哪些工作?

在异常发生后,ARM7TDMI

内核会作以下工作:

1.在适当的LR中保存下一

条指令的地址

2.将CPSR复制到适当的

SPSR中;

3. 将CPSR模式位强制设置

为与异常类型相对应的值;

4.强制PC从相关的异常向

量处取指。

38、ARM9处理器有哪些堆栈方式,

各堆栈的特点是什么?

(1)Full descending 满递减

堆栈,堆栈首部是高地址,堆栈

向低地址增长。栈指针总是指向

堆栈最后一个元素(最后一个元

素是最后压入的数据)。

(2)Full ascending 满递增堆

栈,堆栈首部是低地址,堆栈向

高地址增长。栈指针总是指向堆

栈最后一个元素(最后一个元素

是最后压入的数据)。

(3)Empty descending 空递减

堆栈,堆栈首部是低地址,堆栈

向高地址增长。栈指针总是指向

下一个将要放入数据的空位置。

(4)Empty ascending 空递增

堆栈,堆栈首部是高地址,堆栈

向低地址增长。栈指针总是指向

下一个将要放入数据的空位置。

39、比较Nor Flash 和Nand

flash 存储器的优缺点

Nor Flash:读数据速度快,

而擦写速度慢,容量小,价格高;

Nand flash: 读数据速度不如

Nor,但擦写速度快,容量大,

价格低。

40、gcc的整个编译过程有哪4

个步骤?

预处理、编译、汇编、连

四、编程题:

1、编写一个汇编程序,在ARM

程序代码中调用Thumb子程序,

并返回ARM程序完成其功能。

CODE32

--------

BLX TSUB1

-------

CODE16

TSUB1

-------

BX R14

2、将存储器中0x30000000开始

的200字节的数据,传送到地址

从0x10000000开始的某接口电

路的存储区域。

START

LDR R0,=0X30000000

LDR R1,=0X10000000

MOV R4,#0

LKM

LDRB R2,[R0],#1

STRB R2,[R1],#1

ADD R4,R4,#1

CMP R4,#200

BLNE LKM

END

3、编写一简单ARM汇编程序段,

实现1+2+…+1000的累加运算。

MOV R0,#0

MOV R1,#0

LKM

ADD R0,R0,#1

ADD R1,R1,R0

CMP R0,#1000

BLNE LKM

END

4、将内存中从0x30000FFF开始

的100个字数据相加,其结果存

于R3、R2中。

LDR R0,=0X30000000

MOV R4,#0

MOV R2,#0

MOV R3,#0

LKM

LDR R5 , [R0],#4

ADDS R3, R3,R5

ADDC R2, R2,#0

ADD R4,R4,#1

CMP R4,#100

BLNE LKM

END

5、编写一程序,查找存储器从

0x30000000开始的100个字中为

0的数目,将其结果存到

0x30000012中。

START

LDR R0,=0X30000000

LDR R1,=0X30000012

MOV R3,#0

MOV R4,#0

LKM

LDR R2,[R0],#4

ADD R3,R3,#1

CMP R2,#0

ADDEQ R4,R4,#1

CMP R3,#100

BLNE LKM

STR R4,[R1]

END

6、R0和R1中有两个32位无符

号数,若R0>R1,则R0=R0-R1;

若R0

=R1,则R1、R0保持不变。

CMP R0,R1

SUBHS R0,R0,R1

SUBCC R1,R1,R0

7、试编写程序,实现计算2+4+6+8+…+2N的值。

MOV R5,#0

MOV R3,#0

MOV R4,#0

LABLE EQU #0X2300000

MOV LABLE,#300

LKM

ADD R3,R3,#2

ADD R4,R4,R3

ADD R5,R5,#1

CMP R5,#LABLE

BLNE LKM

END

9、编程实现S3C2410工作模式的切换。

MRS R0,CPRS

BIC R0,R0,#&1F

ORR R0,R0,#&12

MSR CPSR_C R0

10、UART初始化编程。

START

LDR R0,=UFCON0

LDR R1,=0X0

STR R1,[R0]

LDR R0,=ULCON0

LDR R1,=0X3

STR R1,[R0]

LDR R0,=UCON0

LDR R1,=0X245

STR R1,[R0]

LDR R0,=PCLK

MOV R1,[R0]

11、A/D初始化编程;

Void AD_Init (unsigned char ch)

{RADCDLY = 100;

RADCTSC = 10;

RADCCDN = (1<<14) | (49<<6) | (ch<<3) | (0<<2) | (0<<1) |(0);

12、定时器初始化编程;

ARM

ADR R0,lable+1

BX R0

THUMB

ThumbProg

ADR R0,lable

BX R0

ARM

ARM Prog

mov R4,#4

13、编程实现在用户模式下打开IRQ中断。14、编程实现禁止ARM处理器内

部看门狗;

INIT:

LDR R0,=0x53000000

Mov R1,#0

STR R1,[R0]

END

15、编程实现各工作模式的堆栈

初始化。

未定义模式:

LDR r0, =_stack

@ Read the stack address

MSR cpsr_c,

#MODE_UND|I_F_BIT @

switch to undef mode

MOV sp,r0

@ write the stack pointer

SUB r0, r0,

#UND_STACK_SIZE @

give stack space

中止模式

MSR cpsr_c,

#MODE_ABT|I_F_BIT @

Change to abort mode

MOV sp, r0

@ write the stack pointer

SUB r0,r0,

#ABT_STACK_SIZE @

give stack space

快速中断模式:

MSR cpsr_c,

#MODE_FIQ|I_F_BIT @

change to FIQ mode

MOV sp,r0

@ write the stack pointer

SUB r0,r0,

#FIQ_STACK_SIZE @

give stack space

外部中断模式:

MSR cpsr_c,

#MODE_IRQ|I_F_BIT @

change to IRQ mode

MOV sp,r0

@ write the stack pointer

SUB r0,r0,

#IRQ_STACK_SIZE @

give stack space

管理模式:

MSR cpsr_c,

#MODE_SVC|I_F_BIT @

change to SVC mode

MOV sp,r0

@ write the stack pointer

SUB r0,r0,

#SVC_STACK_SIZE @

give stack space

用户/系统模式:

MSR cpsr_c,

#MODE_SYS|I_F_BIT @

change to system mode

MOV sp,r0

@ write the stack point

考试题型

填空20分;单项选择20分;名

词解释12分;简答题20分;编

程题28分。

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

嵌入式笔试题汇总1

1 读程序段,回答问题 (a) int main(int argc,char *argv[]) { int c=9,d=0; c=c++%5; d=c; printf("d=%d\n",d); return 0; } a) 写出程序输出 b) 在一个可移植的系统中这种表达式是否存在风险?why? 答案:5 存在风险,因为c=c++%5;这个表达式对c有两次修改,行为未定义,c的值不确定 (b) #include "stdio.h" int a=0; // data section int b; // data section static char c; // BSS int main(int argc,char *argv[]) { char d=4; // stack static short e; // BSS a++; b=100; c=(char)++a; e=(++d)++; printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e); return 0; } a) 写出程序输出 b) 编译器如果安排各个变量(a,b,c,d)在内存中的布局(eg. stack,heap,data section,bss section),最好用图形方式描述。 答案:a=2,b=100,c=2,d=6,e=5 2 中断是嵌入式系统中重要的组成部分,这导致了许多编译开发商提供一种扩展:让标准C支持中断,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论以下这段代码。 __interrupt double compute_area(double radius) { double area = PI * radius *radius; printf("nArea = %f", area); return area; } 答案

嵌入式系统试题闭卷及答案

《嵌入式系统》试题 闭卷答题时间:30分钟 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是()、存储器、输入/输出和软件,一般软件亦分为操作系统相关和()两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(),()以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有()、进程间通信、()、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为()和分时操作系统,其中实时系统亦可分为()和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(),内核的基本服务是()。 6、嵌入式开发一般采用()方式,其中宿主机一般是指()。 7、哈佛体系结构数据空间和地址空间(),ARM7TDMI采用()的内核架构,ARM920T采用()的内核架构。 采用()级流水线结构,ARM920TDMI采用()级流水线。 9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix 操作系统属于()操作系统,VxWorks属于()操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(),M表示内嵌乘法器Multiplier,I表示(),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。() (A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。() (A)DOS (B)unix (C)Windowsxp (D)linux 3、下面哪个选项不是SUB设备的特点。() (A)串行通信方式(B)不可热拨插 (C)分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上。() (A)Symbian (B)WinCE (C)uc/os (D)linux 5、以下哪项关于SRAM和DRAM的区别是不对。() (A)SRAM比DRAM慢(B)SRAM比DRAM耗电多 (C)DRAM存储密度比SRAM高得多(D)DRM需要周期性刷新 6、uc/os操作系统不包含以下哪几种状态。() (A)运行(B)挂起 (C)退出(D)休眠 7、0x07&0x11的运算结果是。() (A)0x01 (B)0x11 (C)0x17 (D)0x07 8、以下哪种方式不是uc/os操作系统中任务之间通信方式。() (A)信号量(B)消息队列 (C)邮件(D)邮箱 9、以下哪种方式不是文件系统的格式。() (A)FAT (B)DOS (C)NTFS (D)Ext 10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。() (A) (B) (C) (D)OSTaskInit 三、判断题:共5小题,每小题2分,满分10分。 1、所有的电子设备都属于嵌入式设备。() 2、冯诺依曼体系将被哈佛总线所取代。() 3、嵌入式linux操作系统属于免费的操作系统。() 4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。() 5、的最大通信速率为12M/S。() 简答题:共2小题,每小题10分,满分20分。 1、根据嵌入式系统的特点,写出嵌入式系统的定义。 2、试分析实时操作系统的工作状态特点及相互之间的转换。

嵌入式软件工程师C语言笔试题

软件笔试题(A) 姓名:___________________________________ 学校:_____________________________________ 专业:___________________________________ 电话:_____________________________________ (如无特殊说明,以下所有测试内容都是基于32位嵌入式系统) 1)程序的局部变量存在于 _______________ 中,全局变量存在于_________________ 中,动态申请数据存在于_________________ 中。 2)如何用if来做零值比较 int a : if(a==O) bool a : _________________________ float a : _________________________ void * a : 3) void func( char str[1OO]) { printf( “ %d ,sizeof( str )); } 输出结果是:_____________________ 有下列定义: char str[] = “ Hello World ” ; char *p = str; int n = 10; void *ptr = malloc( 100 ); 请写出如下表达式的值: sizeof (str ) = _ sizeof ( p ) = _ sizeof ( n ) = _ sizeof ( ptr )= _ 4)

un sig ned char *p1; un sig ned long *p2; p1=(unsigned char *)0x87000000; p2=(unsigned long *)0x80010000; 请问p1+5 = ____________ ; ___________ p2+5 = ________ ; _____________ 5) char str[10]; strcpy(str,"0123456789"); 产生什么结果?为什么? 6)用C语句,让程序跳转到绝对地址0XFFFF0去执行 7) 已知一个数组array ,用一个宏定义,求出数组的元素个数 #define ARRAY_COUNT _____________________________________________________ 8) 简要说明,为什么标准头文件都有类似以下的结构。 #ifndef __INC_Ho neywell_Debug #defi ne __INC_Ho neywell_Debug #ifdef __cplusplus extern "C" { #en dif /*???*/ #ifdef __cplusplus } #en dif #e ndif /*__INC_Hon eywell_Debug */

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式( A )。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以( A )键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FAT32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFAT,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

《嵌入式系统》考试试卷及答案

《嵌入式系统》课程试卷 考试时间:__120___分钟开课学院___计算机___ 任课教师____________ 姓名______________ 学号_____________班级_______________ 一.单项选择题(2 × 20): 1下面不属于Xscale微架构处理器的主要特征有:( ) A.采用了7级超级流水线、动态跳转预测和转移目标缓冲器BTB技术(Branch Target Buffer)。 B.支持多媒体处理技术、新增乘/累加器MAC、40位累加器、兼容ARM V5TE 指令和特定DSP型协处理器CP0。 C.采用了32KB的指令Cache。 D.采用了64KB的数据Cache。 2以下不属于XScale超级流水线的流水级是( ) A.寄存器文件/移位级(FR) B.写回级(XWB) C.寄存器读取级 D.和执行级二(X2) 3 目前嵌入式系统领域中使用最广泛、市场占有率最高的实时系统是:() A. Symbian B. Windows CE C. VxWorks D. QNX 4 下面那句话的描述是不正确的?( ) A.在一个基于XScale内核的嵌入式系统中,系统在上电或复位时通常都从

地址0x00000000 处开始执行 B.引导装载程序通常是在硬件上执行的第一段代码,包括固化在固件中的 引导代码(可选)和Boot Loader两大部分。 C.在嵌入式系统中,Boot Loader不依赖于硬件实现。 D.Boot Loader就是在操作系统内核运行之前运行的一段小程序。 5 通常情况下,目标机上的Boot Loader通过串口与主机之间进行文件传输,下面不属于通常使用的传输协议的是:( ) A.modem协议 B.xmodem协议 C.ymodem协议 D.zmodem协议 6 Make预置了一些内部宏,其中$@表示:() A.没有扩展名的当前目标文件 B.当前目标文件 C.当前目标文件最近更新的文件名 D.当前目标文件最近更新的文件名 7 在Default kernel command string “root=1f03 rw console=ttyS0,115200 init=/linuxrc”中,代表根文件系统(“/”) 的设备文件主号码是什么?( ) A.1f B.03 C.ttyS0 D.115200 8 用命令dd if=/dev/zero of=ramdisk_img bs=1k count=8192创建的ramdisk_img 其空间大小为多少?( ) A.8M bit

嵌入式软件工程师笔试题

(一) 1什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 2 char * const p char const * p const char *p 上述三个有什么区别? 答案: char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改const char *p;//和char const *p 3 char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; out < < ( str7 == str8 ) < < endl; 结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。 4以下代码中的两个sizeof用法有问题吗? [C易] void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母 { for( size_t i=0; i

嵌入式试题集(含答案)

1、ARM微处理器有7种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式 2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM 、Thumb,状态寄存器CPSR的T 位反映了处理器运行不同指令的当前状态 3、ARM核有多个寄存器,其部分用于通用寄存器,有小部分作为专用寄存器,R15 寄存器用于存储PC,R13通常用来存储SP 。ARM处理器有两种总线架构,数据和指令使用同一接口的是诺依曼,数据和指令分开使用不同接口的是哈佛结构 4、ARM微处理器复位后,PC的地址通常是0x0 ,初始的工作模式是Supervisor 。 5、ARM微处理器支持虚拟存,它是通过系统控制协处理器CP15 和MMU(存储管理部件)来进行虚拟存的存储和管理。当系统发生数据异常和指令领取异常时,异常处理程序透过嵌入式操作系统的存管理机制,通过MMU交换物理存和虚拟存的页面,以保证程序正常执行。 6、编译代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐。 7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链,ARM公司提供的工具链是ADS工具链计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC类型,其指令长度是定长的 8、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。 Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六 9、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作? 答:Boot Loader是在嵌入式系统复位启动时,操作系统核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立存和I/O空间映射图,为最终加载操作系统核调整好适当的系统软硬件环境。 10、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接? 答:RS-232,以太网口、并口在Windows主机上使用超级终端软件,在Linux主机上使用Minicom软件 11、嵌入式开发环境主要包括哪些组件? 嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括 ●宿主机 ●目标机(评估电路板) ●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE ●运行于宿主机的交叉编译器和器、以及开发工具链或软件开发环境 ●嵌入式操作系统 12、在进行基于ARM核的嵌入式系统软件开发时,调用如下函数: int do_something(int arg1,void *arg2,char arg3,int *arg4) 这四个参数通过什么方式从调用程序传入被调函数? 根据A TPCS编程规,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入 13、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。 Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六 14、写一条 ARM 指令,完成操作r1 = r2 * 3(4分) ADD R1,R2,R2, LSL #1 15、初始值R1=23H,R2=0FH执行指令BIC R0,R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分) R0=21H,R1=23H 16、说明指令STMIA r12!, {r0-r11}的操作功能。(4分) 将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的存中,地址的操作方式是先操作、后增加,并更新地址。

嵌入式系统试卷及答案

嵌入式系统试卷及答案

2014年上学期11级计算机专业嵌入式系统期末试卷 专业班级学号姓名___ _____ 考试时间120分钟考试方式闭卷考试成绩__________ _ 题号一二三四五六 得分 一、选择题(本大题共10个小题,每小题1分,共10分) 1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:( C) A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 2、ADD R0,R1,#3属于( A)寻址方式。 A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 3、GET伪指令的含义是:(A) A、包含一个外部文件 B、定义程序的入口 C、定义一个宏 D、声明一个变量 4、μCOS-II操作系统不属于:(C) A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 5、FIQ中断的入口地址是:(A) A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 6、ARM指令集和Thumb指令集分别是(D)位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 7、BL和BX的指令的区别是( D ) A、BL是跳转并切换状态;BX带返回的跳转并切换状态。 B、BL是带返回的连接跳转;BX带返回的跳转并切换状态。 C、BL是跳转并切换状态;BX是带返回的连接跳转。 D、BL是带返回的连接跳转;BX是跳转并切换状态。 8、Boot Loader 的启动过程是( A ) A.单阶段 B. 多阶段 C.单阶段和多阶段都有 D.都不是 9、以下说法不正确的是( B ) A 、任务可以有类型说明 B 、任务可以返回一个数值 C 、任务可以有形参变量 D 、任务是一个无限循环 10、若已定义的函数有返回值,则以下关于该函数调用叙述中错误的是(D) A、函数调用可以作为独立的语句存在

嵌入式笔试题

嵌入式笔试题 国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 下面就由为大家介绍一下嵌入式笔试题的文章,欢迎阅读。 嵌入式笔试题篇11:用C语言实现大小端的测试Int CheckCpu(){union{int a;char b;}c;c.a=1;if(c.b==1)printf(“小端);else printf(“大端);}2:volatile的作用有哪些?Volatile第一变量相当于告诉编译器这个变量的值会随时发生变化,每次使用之前都要去内存里从新读取它的值,并不要随意针对它做优化,主要用在:1:一个中断子程序中会访问到的非自动变量;2:多线程应用中被几个线程共享的变量;3:并行设备的硬件寄存器。 3:C语言中static关键字的作用有哪些?1:在函数体中,一个被声明为静态的变量在这个变量在调用过程中维持其值不变;2:在模块内(但在函数体外),一个被声明为静态的变量,可以被这个模块内的所用函数使用,但不能被模块外的函数使用,它是一个本地的全局变量;3:在模块内,一个被声明为静态变量的函数,智能被这个模块内的函数调用;4:static全局变量与局部变量的区别:static全局变量只能被初始化一次,防止其他单元文件中被引用;5:static局部变量与局部变量的区别:static局部变量只能被初始化一次,下一次依据上一次结果的值;6:static函数与普通函数的区别:static在内存中只用一份,普通函数在每

一次调用中维持一份拷贝。 4:请问下面三种变量的区别:Int const *p : 指向常整型的指针;Int *const p; 指向整型的常指针;Int *const *p:指向常整型的常指针;5:在ARM系统中,在函数调用的时候,参数是通过哪种方式传递的。 当参数小于等于4的时候是通过r0~r3来进行传递的,当参数大于4的时候是通过压栈的方式进行传递。 6:中断与异常有何区别.异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。 所谓异常是指软件运行过程中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断CPU的运行。 7:用预处理指令#define表示一年中有多少秒#define SECONDS_PER_YEAR (60*60*24*365)UL注意后面必须加UL,表示计算的结构是常整型。 8:简述SPI,UART,I2C三种传输方式。 SPI:高速同步串行口,首发独立,可同步进行SPI接口主要应用在EEPROM,Flash,实时时钟,A/D转化器,数字信号处理,是一种全双工同步通讯总线,该接口一般使用四条线:串行时钟线(sck),主出从入线,主入从出线,低电平有效地的从机选择线。

嵌入式选择题整理题库

选择题: 1、下面哪一种工作模式不属于特权模式()。 A、用户模式 B、系统模式 C、软中断模式 D、模式 3、920T的工作状态包括()。 A、测试状态和运行状态 B、挂起状态和就绪状态 C、就绪状态和运行状态 D、状态和状态 4、232串口通信中,表示逻辑1的电平是()。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 5、汇编语句“ R0, R2, R3, 1”的作用是()。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 6、I2C协议中有几根线() A.1 B.2 C.3 C.4 7、指令“ R0!, {R1, R2, R3, R4}”的寻址方式为()。 A、立即寻址 B、寄存器间接寻址 C、多寄存器寻址 D、堆栈寻址 9、232C串行通信总线的电气特性要求总线信号采用()。 A、正逻辑 B、负逻辑 C、高电平 D、低电平 10、下面哪种操作系统不属于商用操作系统。 ( ) A. B. C. D.

11. 下面哪点不是嵌入式操作系统的特点。 ( ) / 22 A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 12. 下面哪种不属于嵌入式系统的调试方法。 ( ) A. 模拟调试 B. 软件调试 C. 调试 D. 单独调试 13. 在嵌入式处理器中,下面哪种中断方式优先级最高。 ( ) A. B. 数据中止 C. D. 14. 和的说法正确的是。 ( ) A. 的读速度比稍慢一些 B. 的写入速度比慢很多 C. 的擦除速度远比的慢 D.大多数写入操作需要先进行擦除操作 15. 下面哪种嵌入式操作系统很少用在手机上。 ( ) A. B. C. D. 16、0x17&0x11的运算结果是。 ( ) A.0x01 B.0x11 C.0x17 D.0x07 17、以下哪种方式不属于文件系统的格式。 ( ) 18、下面哪个特点不属于设备的特点。 ( ) A.串行通信方式 B.不可热拨插 C.分、和 D.通信速率比串口快 19、寄存器中反映处理器状态的位是() 位位位位

嵌入式Linux试题答案

《嵌入式开发》期中试卷 试卷适用范围:2011级计算机科学与技术(本)1、2班 一、填空题(每空1分,共46分) 习题 1 1.填空题 (1)嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 (2)嵌入到对象体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。 (3)嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SOC)。 (4)嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。 (5)嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。 (6)在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、 Linux内核、文件系统、用户应用程序。 (7)嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。 (8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即微处理器、微控制器、数字信号处理器、和嵌入式片上系统。 (9)ARM公司首创了 chipless 的生产模式,专门从事基于RISC技术芯片的设计开发,公司本身并不生产芯片,而是设计出高效的IP内核,授权给半导体公司使用。 (10)ARM7TDMI中,T表示支持Thump指令集。D表示支持片上调试(Debug)。M表示内嵌硬件乘法器(Multiplier)。I表示支持片上断点和调试点。 (11)ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 (12)ARM微处理器有两种工作状态:Thump状态、ARM状态。 (13)通用寄存器分为三类:未分组寄存器、分组寄存器、程序计数器(PC)。 (14)异常是由内/外部源引起的需要处理器干预的一个事件。 (15)精简指令集计算机RISC(Reduced Instruction Set Computer)和复杂指令集计算机CISC 是当前CPU的两种架构。 (16)ARM微处理器的在较新的体系结构中支持两种指令集: ARM指令集、Thump指令集。 (17)MMU的作用有两个:将虚拟地址转化为物理地址、对存储器访问的

嵌入式经典笔试题目

1将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少bit被置1 4、搜索给定的字节(byte) 5、在一个字符串中找到可能的最长的子字符串 6、字符串转换为整数 7、整数转换为字符串 答案: 1、方法1: int main() { char* src = "hello,world"; int len = strlen(src); char* dest = (char*)malloc(len+1);//要为\0分配一个空间char* d = dest; char* s = &src[len-1];//指向最后一个字符 while( len-- != 0 ) *d++=*s--; *d = 0;//尾部要加\0 printf("%s\n",dest); free(dest);// 使用完,应当释放空间,以免造成内存汇泄露return 0; } 方法2: #include #include main() { char str[]="hello,world"; int len=strlen(str); char t; for(int i=0; i { t=str[i]; str[i]=str[len-i-1]; str[len-i-1]=t; } printf("%s",str); return 0; } 2、 链表题:一个链表的结点结构 struct Node {

int data ; Node *next ; }; typedef struct Node Node ; (1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel) Node * ReverseList(Node *head) //链表逆序 { if ( head == NULL || head->next == NULL ) return head; Node *p1 = head ; Node *p2 = p1->next ; Node *p3 = p2->next ; p1->next = NULL ; while ( p3 != NULL ) { p2->next = p1 ; p1 = p2 ; p2 = p3 ; p3 = p3->next ; } p2->next = p1 ; head = p2 ; return head ; } (2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同) Node * Merge(Node *head1 , Node *head2) { if ( head1 == NULL) return head2 ; if ( head2 == NULL) return head1 ; Node *head = NULL ; Node *p1 = NULL; Node *p2 = NULL; if ( head1->data < head2->data ) { head = head1 ; p1 = head1->next; p2 = head2 ; } else {

ARM嵌入式系统试题及答案解析

ARM嵌入式系统基础教程 ----期中开卷 专业:软件1002班姓名:王世伟学号:04103060(24) 一、嵌入式系统基本概念 1、什么是嵌入式系统?有何特点? 答:所谓嵌入式,实际上是“嵌入式计算机系统”,的简称,它是相对于通用计算机系统而言,注重于发展独立的单芯片技术。嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。 特点:(1)嵌入式系统是将先进的计算机技术,半导体技术以及电子技术与各行业的具体应用相结合的产物,这一点就决定了他必然是一个技术密集,资金密集,高度分散,不断创新的知识集成系统。(2)系统内核小(3)专用性强(4)系统精简(5)系统软件要求(6)嵌入式软件开发要走向标准化,需要使用多任务的操作系统。(7)嵌入式系统本身并不具备在其上进行进一步开发的能力。 2、举例在你的身边常见到的嵌入式系统产品,谈一谈你对“嵌入式系统”的初步理 解。 答:产品有:洗衣机,空调,手机。 嵌入式系统就是内置小计算机系,可以对机器进行智能控制的系统。 3、嵌入式系统的3个基本特点? 答:(1)专用性(2)嵌入型(3)计算机系统 4、什么是嵌入式处理器,嵌入式处理器可以分为几大类? 答:嵌入式处理机是嵌入式的核心,是控制,辅助系统运行的硬件单元。 分类:四大类(1)嵌入式微处理器(2)嵌入式微控制器(3)嵌入式DSP处理器(4)SoC片上系统 5、广泛使用的三种类型的操作系统? 答:多道批处理操作系统、分时操作系统以及实时操作系统。 6、列举常见的4种嵌入式操作系统?说明你对嵌入式操作系统的基本认识,嵌入式 操作系统在嵌入式系统开发中的必要性。 答:嵌入式Linux、WinCE、VxWorks、μC/OS-II 没有操作系统的计算机效率十分底下,把操作系统嵌入到计算机中,可以提高系统

嵌入式常见经典笔试题1

上海某全球五百强面试题(嵌入式) 1.static变量和static 函数各有什么特点? 3.描述一下嵌入式基于ROM的运行方式基于ram的运行方式有什么区别。 4.task 有几种状态? 5.task 有几种通讯方式? 6.C函数允许重入吗? 7.嵌入式操作系统和通用操作系统有什么差别?

嵌入式经典面试题 C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII 值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在嵌入式系统上。如果上述任何问题的答案是"是"的话,那么我知道我得认真考虑我是否应该去做这份工作。 从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。不管怎么样,看一下这人如何回答他不会的问题也是满有趣。应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢?当应试者在某个问题上卡住时是找借口呢,还是表现出对问题的真正的好奇心,把这看成学习的机会呢?我发现这些信息与他们的测试成绩一样有用。 有了这些想法,我决定出一些真正针对嵌入式系统的考题,希望这些令人头痛的考题能给正在找工作的人一点帮助。这些问题都是我这些年实际碰到的。其中有些题很难,但它们应该都能给你一点启迪。 这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。 3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。 4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。 2 . 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B) ((A)<= (B) ? (A) : (B)) 这个测试是为下面的目的而设的: 1) 标识#define在宏中应用的基本知识。这是很重要的。因为在嵌入(inline)操作符变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。 2)三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。 3) 懂得在宏中小心地把参数用括号括起来 4) 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事? least = MIN(*p++, b);

相关文档
最新文档