2014-2015-2 嵌入式系统及应用期末试卷A - 图文

更新时间:2023-12-01 03:17:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装…… 北京理工大学珠海学院 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、嵌入式系统移植时,首先要对嵌入式系统软件层次的 系统启动应到程序层 、操作系统层和用户应用程序层进行修改和剪裁。 第 1 页 共 6 页 ……

二、选择题(每小题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

第2页共6页

此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……

三、简答题(每小题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均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行

…线…………………此处不能书写……………………………此处不能书写

第 3 页 共 6 页

……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 ; 声明代码段Example ENTRY ; 标识程序入口 CODE32 START

MOV R0,#0 MOV R1,#10 LOOP

BL ADD_SUB ; 调用子程序ADD_SUB B LOOP ADD_SUB

ADDS R0,R0,R1 ; R0=R0+R1 MOV PC,LR ; 子程序返回 END

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

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

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

MOVHI R1,#1 ;R1= 0x00000800 MOVLO R1,# -1 ;R1= 0xFFFFFFFF MOVEQ R1,#0 ;R1= 0xFFFFFFFF

4、有两个任务代码如下,其中Task_A、Task_B的优先级分别为:28、37。

分析LCD上的显示结果。

第4页共6页

此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……

……此…处…不能…书…写…………………订……Void Task_A(){

ClearScreen();

LCD_Printf(“task1 is running!\\n”); 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

第 5 页 共 6 页

…线…………………此处不能书写……………………………此处不能书写 ……

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

第6页共6页

本文来源:https://www.bwwdw.com/article/9qft.html

Top