嵌入式系统及应用期末试卷A.docx

嵌入式系统及应用期末试卷A.docx
嵌入式系统及应用期末试卷A.docx

北京理工大学珠海学院

2014 ~ 2015学年第二学期《嵌入式系统及应用》期末试卷(A)

诚信声明专业:

考场是严肃的,作弊是可耻的,对作弊人的处分是严厉的。

班级:

我承诺遵守考场纪律,不存在抄袭及其它违纪行为。

考生(承诺人)签字:学号:

适用年级专业: 12 级信息学院各专业试卷说明:开卷考试时间: 120 分钟题号一二三四五六总分

得分

一、填空题(每空 1分,共 20分)【得分:】

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

2、目前使用的嵌入式操作系统主要有这几种:Linux、

VxWorks、

windows等。

3、ARM920TDMI微处理器名称中, T 表示支持16 位宽度的压缩指令集,D 表示支持在片调试( Debug),M 表示具有增强型乘法器,I 表示具有嵌入式ICE 部件。

4、ARM920T 微处理器中 ARM指令集的代码宽带是 32位, Thumb指令集的宽度是 16位。

5、ARM920T 微处理器的指令流水采用了典型的RISC五级流水结构,将指令执行过程分为取指、译码、执行、访存和写回 5个步骤。

6、 ARM 处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结构。

7、ARM9 处理器内部共有 37个 32位处理器,其中31个用过通用寄存器, 6个用作状态寄存器。其中 CPSR寄存器中文名称是当前程序状态寄存器,

其上的 I 位置 1时禁止 IRQ中断,T位置 0时,指

示ARM 状态。

8、Cache 的中文名称为高速缓存。

9、嵌入式系统有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐。

10、嵌入式系统移植时,首先要对嵌入式系统软件层次的系统启动应到程序层、操作系统层和用户应用程序层进行修改和剪裁。

二、选择题(每小题 2分,共 20分)【得分:】

1、在指令系统的各种寻址方式中,获取操作数最快的方式是( B)。

A. 变址寻址

B. 立即寻址

C. 寄存器寻址

D. 间接寻址

2、寄存器 R14 除了可以做通用寄存器外,还可以做(B)。

A. 程序计数器

B. 链接寄存器

C. 栈指针寄存器

D. 基址寄存器

3、以下哪项关于SRAM 和 DRAM 的区别是不对(A)。

A. SRAM 比 DRAM 慢

B. SRAM 比 DRAM 耗电多

C. DRAM 存储密度比 SRAM 高得多

D. DRM 需要周期性刷新

4、存储一个 32 位数 0x2168465 到 2000H~ 2003H 四个字节单元中,若以大端

模式存储,则 2000H 存储单元的内容为(D)。

A. 0x21

B. 0x68

C. 0x65

D. 0x02

5、ARM 汇编语句” ADD R0, R2, R3, LSL#1的作”用是(C)。

A. R0 = ( R2<< 1) + R3

B. R3 = R0+ (R2 << 1)

C. R0 = R2 + (R3 << 1)

D. (R3 << 1) = R0+ R2

6、ADD R0,R1, #3 属于(A)寻址方式。

A. 立即寻址

B. 多寄存器寻址

C. 寄存器直接寻址

D. 相对寻址

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

A 、系统内核小B、专用性强C、可执行多任务D、系统精简

8、每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的

是( D )。

A.嵌入式 Linux 提供了完善的网络技术支持;

B.CLinux 是专门为没有 MMU 的 ARM 芯片开发的;

C.C/OS-Ⅱ操作系统是一种实时操作系统( RTOS);

D.WinCE 提供完全开放的源代码。

9、RQ 中断的优先级别是(D)。

A. 1

B. 2

C. 3

D. 4

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

A. 0x33

B. 0x34

C. 0x39

D. 0x38

三、简答题(每小题 4 分,总计 20 分)【得分:】

1、简述嵌入式系统设计的主要步骤。

系统需求分析、规格说明、体系结构设计、构件设计、系统集成

2、简述 ARM 处理器的 7 种运行模式及各自的用途。

(1)用户模式:正常执行程序时的处理器模式。

(2) FIQ 模式:响应快速中断时的处理模式。

(3) IRQ 模式:响应普通中断时的处理模式。

(4)管理模式:操作系统的保护模式。

(5)中止模式:指令或数据预取操作中止时的模式,该模式下实现虚拟存储器或存储器

保护。

(6)未定义模式:当执行未定义的指令时进入该模式。

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

3、简述 BLX 、SWI、 STM、 LDM 、MOV 、MVN 的含义。

BLX:带链接和状态切换的跳转指令;SWI:软件中断指令;STM:批量内存字写入指令;LDM: 加载多个寄存器指令;MOV:数据传送指令;MVN: 数据取反传送指令。

4、简述 arm 状态寄存器特点及格式。

在所有处理器模式下都可以访问当前程序状态寄存器CPSR (Current Program Status

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

信息。

每种异常模式都有一个保存程序状态寄存器SPSR (Saved Program Status Register) 。当异常出现时, SPSR 用于保留CPSR 的状态。

由于用户模式和系统模式不属于异常模式,他们没有SPSR,当在这两种模式下访问SPSR,结果是未知的。

格式:

位 [0:7] 为控制位,其中,M0 、 M1 、M2 、M3 和 M4 为处理器模式选择位,T 为处理器工作状态选择位,I 和 F 为中断 /快中断禁止位;位[28:31] 为条件码标志;其它位[8:27] 留做以后 ARM 版本的扩展。

I=1 ,禁止 IRQ 中断;

F=1,禁止 FIQ 中断;

T=1 ,程序运行于Thumb 态。

N、 Z 、 C、 V 均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且

可以决定某条指令是否被执行

5、根据自己的理解描述嵌入式系统的发展趋势?

行业性嵌入式软硬件平台——标准化

互联网的普及——网络化

半导体技术的改善——小型化

3C 技术的快速融合——功能多样化

使用者的需求——个性化

信息服务应用生活化——泛在化

四、程序分析题(每小题 5 分,共 20 分)【得分:】

1、初始值 R1=23H,R2=0FH 执行指令 BIC R0,R1,R2,LSL #1 后,寄存器R0,R1 的值分别是多少?

R0=21H , R1=23H

2、请在横线处说明该横线对应的指令的功能。

AREA Example, CODE, READONLY ENTRY

CODE32

START

MOV R0,#0

MOV R1,#10

LOOP ;声明代码段Example ;标识程序入口

BL ADD_SUB

B LOOP

ADD_SUB

ADDS R0, R0,R1 MOV PC,LR

END

;调用子程序ADD_SUB

;R0=R0+R1

;子程序返回

3、请在横线处写出该横线对应的指令的运行后寄存器的值。

MOV R0,#0x500;R0=0x00000500 MOV R1,#0x4000

MOV R1,R1,LSR#3;R1=0x00000800

CMP R0,R1

MOVHI R1,#1 MOVLO R1,# -1;R1=

; R1=

0x00000800

0xFFFFFFFF

MOVEQ R1,#0; R1=0xFFFFFFFF

4、有两个任代如下,其中

分析 LCD 上的示果。

Task_A、 Task_B的先分:28、37。

Void Task_A() {

ClearScreen();

LCD_Printf(“ task1 is running!” );

OSTimeDly(400);

}

Void Task_B() {

ClearScreen();

LCD_Printf(“ hello task2!n” );

OSTimeDly(160);

}

在LCD 上的示果:

第一次: task1 is running!

第二次:hello task2!

第三次:hello task2!

第四次:task1 is running!

第五次:hello task2!

五、程序(每小10 分共 20 分)【得分:】

1.使用 CMP 指令判断 (9*X/4)>(2*X) ?若大于 R5 = 0xFF,否 R5 = 0x00,

其中 X 你的学号最后两位数(需成十六制数)。

AREA Example,CODE,READONLY ; 声明代段 Example2

ENTRY;程序入口

CODE32

START

MOV R0,#X

ADD R0,R0,R0,LSL #3; 算 R0 = X+8*X = 9*X

MOV R0,R0,LSR #2;算 R0 = 9*X/4

MOV R1,#X

MOV R1,R1,LSL #1;算 R1 = 2*X

CMP R0,R1;比 R0和 R1,即 (9*X/4)和(2*X) 行比

MOVHI R5,#0xFF;若 (9*X/4)>(2*X), R5 <= 0xF0

MOVLS R5,#0x00;若(9*X/4) ≤(2*X) , R5 = 0x0F

END

2.写一 ARM 程序段, 1+2+? +100 的运算。

AREA Example, CODE, READONLY

ENTRY

CODE32

START

MOV R2,#100

MOV R1,#0

LOOP

ADD R1,R1,R2 ;R1 中为累加和

SUBS R2,R2,#1 ;R2 控制循环

BNE LOOP

END

相关主题
相关文档
最新文档