嵌入式软件设计B姜琳颖

更新时间:2024-03-26 21:05:01 阅读量: 综合文库 文档下载

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

东 北 大 学 继 续 教 育 学 院

嵌入式软件设计 试 卷(作业考核 线上) B 卷

学习中心: 院校学号: 姓名

(共 页)

总分 题号 得分 一 二 三 四 五 六 七 八 九 十 一、选择题(10小题,每题2分,共20分)

1. ( C )不是常规意义上的嵌入式系统。

A. 手机 B. MP3 C. PC机 D. 数码相机

2. 可用作嵌入式操作系统的有( A )

A. Linux(Vxworks,uc/os-II) B. windows2000 C. windowsXP D. DOS

3. ARM7TDMI采用( A )级流水线。

A. 3 B. 4 C. 5 D. 6

4. 若前次运算结果为负数,则CPSR的( A )为1

A. N B. Z C. C D. V

5. 中断服务程序的最后一条指令必须是( C )

A. MOV PC,R14 B. MOV PC,R14_und C. SUBS PC,R14_fiq,#4 D. SUBS PC,R14_irq,#4

6. 将R0+0x12地址处的数据读出,装载到R1中,能实现这个功能的语句是( D )

A. STR R1,[R0,#0x12] C. STR R1,[R0,-#0x12]

B. LDR R1,[R0,#0x12] D. LDR R1,[R0,-#0x12]

7. LPC2210/2212/2214具备外部存储器接口,通过外部存储器控制器(EMC)可以扩展4个Bank的存储器组,每个Bank寻址空间为(B )

课程名称: 嵌入式软件设计 1

A. 4MB B. 8MB C. 16MB D. 32MB

8. AHB和VPB外设区域都是2MB,可各自分配最多(D )个外设。

A. 16 B. 32 C. 64 D. 128

9. 交叉编译的环境建立在( A )

A. 开发板上 B. 目标系统上 C. 宿主机上 D. 应用程序上

10. 操作系统结构不包括( A)

A. 数据库 B. 引导系统 C. 内核 D. 根文件系统

二、判断题(10小题,每题1分,共10分)

1. ( √ )Inte处理器也属于嵌入式处理器。 2. ( √ )嵌入式系统的软件一般都需要固化。

3. ( × )单片机就是嵌入式系统,它与嵌入式系统没有区别。 4. ( √ )掌握部分常用ARM指令可以方便ARM程序调试。

5. ( √ )ARM指令集具有高效、快速的特点,它是Thumb指令集的子集。 6. ( √ )Thumb指令集具有灵活、小巧的特点,但是代码密度低。 7. ( × )LPC2000系列微控制器的片内SRAM支持64位的读写访问。。 8. ( × )晶振输出的时钟频率最大为40MHz 9. ( √ )Linux系统是商用操作系统。

10.( √ )Linux系统由内核、shell、文件系统和应用程序组成。

三、填空题 (10小题,每题2分,共20分)

1. 嵌入式系统经历了近30年时间,经历了无操作系统阶段, 阶段,

阶段,面向Internet阶段。

2. 嵌入式系统的软件层次结构包括:硬件抽象层HAL、板级支持包BSP、 设备驱动层、实时操作系统RTOS、 、

课程名称: 嵌入式软件设计 2

、操作系统API及应用程序。

3. ARM7有两种处理器状态 ,分别是 ARM 状态和 Thumb 状态。

4. ARM7TDMI采用 三级流水线(取指 译码 执行) 流水线,使用 冯·诺依曼(Von Neumann )结构,指令和数据共用一条32 位总线 存储器编址方式。

5. 调用子程序是用 指令CALL的编号为FNC01 指令,子程序返回指令是 指令SRET的编号为FNC02 。

6. Thumb指令集具有 灵活 、 小 巧 的特点,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集。

7. Linux操作系统由 内核 、Shell、 文件系统 和应用程序四部分组成。

8. LPC2000系列芯片有两个复位源, 外部复位 复位和 看门狗复位 复位。

9. Boot Block映射到片内存储器 ,Flash映射到片内存储器 。

10.大多数引导系统都包含两种不同的操作模式: 启动加载 模式和 下载 模式。

四、名词解释及简答题(5小题,每题6分,共30分)

1. 嵌入式系统

答:嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。

嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROM 、 EEPROM 或闪存 (Flash Memory) 作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬

课程名称: 嵌入式软件设计 3

件的交互作用。

2. ARM处理器模式和处理器状态

答:ARM处理器模式:ARM微处理器支持7种运行模式,分别为: 用户模式(usr):ARM处理器正常的程序执行状态。 快速中断模式(fiq):用于高速数据传输或通道处理。 外部中断模式(irq):用于通用的中断处理。 管理模式(svc):操作系统使用的保护模式。

数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 系统模式(sys):运行具有特权的操作系统任务。

未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

ARM处理器状态ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。

进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。

3. ARM7TDMI(-S)有几种寻址方式? LDR R1,[R0,#0x08]属于哪种寻址方式?

答:有8种寻址方式:1.寄存器寻址 2.立即寻址 3.寄存器移位寻址 4.寄存器间接寻址 5.基址寻址 6.多寄存器寻址 7.堆栈寻址 8.相对寻址; “LDR R1,[R0,#0x08]”属于基址寻址。

课程名称: 嵌入式软件设计 4

4. 存储器映射

答:存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配的,给存储器分配地址的过程就称为存储器映射。如图 1.所示。

在完成了存储器映射后,用户就可以按地址去访问对应的存储单元。

5. Linux系统有什么特点?

答:Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性: 1 开放性 2 多用户 3 多任务 4 良好的用户界面 5 设备独立性

6 供了丰富的网络功能 7 可靠的系统安全 8 良好的可移植性

Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口

五、问答题(2小题,每题10分,共20分)

1. CMP指令的操作是什么?写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。

答:CMP是通过相减来比较两个操作数的大小,影响标志位但是不保存结果。 8086的汇编编程如下: data segment R1 db 36H data ends code segment

assume cs:code,ds:data

课程名称: 嵌入式软件设计 5

begin: mov ax,data mov ds,ax mov al,R1

cmp al,30H ;将R1放入al中,与30H比较 jna stop ;不大于则转到标号stop处 sub al,30H ;大于或等于,则减去30H stop:

mov ax,4c00h int 21h code ends end begin

2. Linux系统由哪四部分组成?

Linux主要分为4个部分:内核(kernel)、shell、文件结构和实用工具。 一、内核

内核主要作用是运行程序和管理硬件。

内核包括几个主要部分:进程管理、内存管理、硬件设备驱动、文件系统驱动、网络管理和其他一些部分。 内核最重要的部分是内存管理和进程管理。 二、shell

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并把它送入内核去执行。

shell实际上是一个命令解释器。 目前有如下主要版本的shell。 1. Bourne shell:贝尔实验室开发。 2. BASH: GNU开发。

3. Korn shell:针对Bourne shell的发展。 4. C shell:sun公司开发。

shell中的命令分为内部命令和外部命令。前者包含在shell之中,如cd、exit等,查看内部命令可用help命令。后者存于文件系统某个目录下的具体可操作程序,如cp等,查看外部命令的路径可用which。 三、文件结构

文件结构是文件存放于磁盘上的组织方法。 四、实用工具分为三类:

课程名称: 嵌入式软件设计 6

1. 编辑器:用于编辑文件。

2.过滤器:用于接收数据并过滤数据。

3.交互程序:允许用户发送信息或接收来自其他用户的信息。

Linux上的过滤器主要有ed、ex、Vi、Emacs。ed和ex是行编辑器,vi和Emacs是全屏幕编辑器。

课程名称: 嵌入式软件设计 7

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

Top