Files
final-exam/嵌入式系统/试题册/试题2.md
T

387 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags: [嵌入式系统, 试题]
create time: 2026-06-10 10:41
---
# 试题 2 — 武汉科技大学《嵌入式系统》
## 概述
- **课程**:嵌入式系统
- **学校**:武汉科技大学
- **题型**:单选题、判断题、简答题、综合题
- **知识点**:Android 体系结构、ARM 处理器架构、嵌入式系统定义与特点
> [!tip] 学习建议
> 本试题侧重 ARM 处理器模式与异常中断机制,建议复习时重点关注 CPSR 寄存器和七种处理器模式的区别。
## 正文
### 一、单选题(每题 2 分,共 20 分)
> [!note] 教学提示
> 单选题主要考查对嵌入式系统基本概念和 ARM 架构的识记与理解。建议先逐题作答,再对照答案,重点关注易混淆选项。
**1. Android 系统的分层结构中,最底层为用户提供应用软件层的是( )。**
A. 反应堆
B. 应用程序框架层
C. 实时核心库
D. Linux 内核
> [!success]- 答案与解析
> 答案:B
>
> 应用程序框架层位于 Android 分层结构中,为上层应用提供各种 API 和服务,是为应用软件开发提供支撑的层次。
**2. 从应用角度来看,嵌入式系统的核心是( )。**
A. 应用
B. 计算机软件
C. 硬件
D. 算法
> [!success]- 答案与解析
> 答案:A
>
> 嵌入式系统"以应用为中心",从应用角度来看,核心是应用本身——系统的设计和实现都围绕特定应用需求展开。
**3. Android 的操作系统软件层次由( )统称。**
A. 应用程序层
B. 应用程序框架层
C. 系统运行库层
D. Linux 内核层
> [!success]- 答案与解析
> 答案:A
>
> Android 操作系统软件层次由应用程序层统称,它是最顶层的抽象概念,包含了系统运行库层、应用程序框架层和 Linux 内核层等。
**4. 以下不是嵌入式操作系统的是( )。**
A. Android
B. iOS
C. Linux
D. VxWorks
> [!success]- 答案与解析
> 答案:C
>
> Linux 是通用操作系统内核,并非专为嵌入式设计。Android(基于 Linux 内核的嵌入式系统)、iOS(苹果移动操作系统)、VxWorks(实时嵌入式操作系统)才是典型的嵌入式或移动操作系统。
**5. 寄存器 R13 除了可以做通用寄存器外,还可以做( )。**
A. 程序计数器
B. 链接寄存器
C. 指针控制寄存器
D. 基址变址寄存器
> [!success]- 答案与解析
> 答案:D
>
> R13 在 ARM 中通常用作堆栈指针(SP),也可以作为基址变址寄存器使用。程序计数器是 R15,链接寄存器是 R14。
**6. 对于 ARM 指令中不带条件码,仅默认以( )条件执行。**
A. 任何事件 (EQ)
B. 无条件 (AL)
C. 不相等 (NZ)
D. 溢出 (VS)
> [!success]- 答案与解析
> 答案:B
>
> ARM 指令默认条件码为 AL(Always),即无条件执行。只有在指令中显式添加条件码时,指令才会根据 CPSR 标志位有条件执行。
**7. ARM 汇编语句 `ADD R0, R1, R2, LSL#1` 的含义是( )。**
A. R0 = R2 + (R1)
B. R0 = (R2<<1) + R1
C. R0 = R1 + (R2)
D. R0 = (R1<<1) + R2
> [!success]- 答案与解析
> 答案:B
>
> ARM 数据处理指令格式为 `OP{cond}{S} Rd, Rn, Operand2`。`ADD R0, R1, R2, LSL#1` 中,`R2, LSL#1` 表示将 R2 左移 1 位作为第二个操作数,因此运算为 R0 = R1 + (R2 << 1)。
**8. 在 ARM 处理器内部共有( )个用户可访问的通用寄存器。**
A. 31
B. 6
C. 37
D. 18
> [!success]- 答案与解析
> 答案:D
>
> ARM 处理器在任何时刻,用户可访问的通用寄存器为 16 个(R0-R15),加上各模式的备份寄存器(如 FIQ 模式有 R8_fiq-R14_fiq 共 7 个),不同模式下用户可访问的寄存器总数为 18 个。
**9. 寄存器间接寻址指令中地址码给出的是( )。**
A. 一个内存单元地址
B. 一个通用寄存器的编号
C. 一条指令的内存地址
D. 一个智能控制寄存器的名称
> [!success]- 答案与解析
> 答案:B
>
> 寄存器间接寻址中,地址码给出的是一个通用寄存器的编号(如 [Rn]),寄存器中存储的值才是实际的内存地址。
**10. 下面( )完全不属于 ARM 体系结构支持的七种处理器模式之一。**
A. 用户模式
B. 骨肉模式
C. 系统模式
D. 中断模式
> [!success]- 答案与解析
> 答案:B
>
> ARM 七种处理器模式为:用户模式 (User)、FIQ 模式、IRQ 模式、管理模式 (Supervisor)、中止模式 (Abort)、未定义模式 (Undef)、系统模式 (System)。"骨肉模式"不属于其中任何一种。
> [!question] 思考
> ARM 七种处理器模式分别是:用户模式 (User)、FIQ 模式、IRQ 模式、管理模式 (Supervisor)、中止模式 (Abort)、未定义模式 (Undef)、系统模式 (System)。"骨肉模式"不属于其中任何一种。
---
### 二、判断题(对 T,错 F,每题 2分,共 20 分)
> [!note] 教学提示
> 判断题考查对基本概念的正误判断,注意区分"通用操作系统"与"嵌入式操作系统"的本质差异。
**1. 操作系统是嵌入式系统中必要的程序。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> 嵌入式操作系统是嵌入式系统的核心软件组件,负责管理硬件资源、调度任务、提供系统服务,是嵌入式系统正常运行的必要组成部分。
**2. ARM 是 RISC 体系结构的一种处理器。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> ARM(Advanced RISC Machines)采用精简指令集计算(RISC)架构,其设计遵循 RISC 原则。
**3. 嵌入式操作系统与我们使用的操作系统是一样的。( )**
> [!success]- 答案与解析
> 答案:F(错误)
>
> 嵌入式操作系统面向特定应用,资源受限、实时性要求高,与通用操作系统(如 Windows、macOS)在设计目标、资源占用、功能范围等方面有本质区别。
**4. 在 ARM 体系中,中断向量表从 0x00000000 开始。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> ARM 的异常向量表从地址 0x00000000 开始,依次存放复位、未定义指令、SWI、预取中止、数据中止、IRQ、FIQ 的异常处理入口地址。
**5. 嵌入式系统的开发需要使用交叉编译环境。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> 嵌入式系统通常采用交叉开发模式,在宿主机(PC)上使用交叉编译器生成目标机(嵌入式设备)可执行的代码。
**6. 硬实时系统对时间的要求是确定的。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> 硬实时系统要求在确定的、严格的时间截止期限内完成任务,超时即视为系统失败,这对时间约束是确定性的。
**7. ARM7 处理器采用三级流水线结构。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> ARM7TDMI 采用三级流水线:取指(Fetch)、译码(Decode)、执行(Execute),这是其基本的指令执行架构。
**8. 嵌入式 Linux 操作系统是开源的。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> Linux 内核遵循 GPL 开源协议,嵌入式 Linux(如基于 Linux 内核裁剪的系统)同样保持开源特性。
**9. 在 ARM 处理器中,CPSR 寄存器保存了当前处理器的状态。( )**
> [!success]- 答案与解析
> 答案:T(正确)
>
> CPSR(Current Program Status Register,当前程序状态寄存器)保存了处理器的当前状态,包括条件标志位(N、Z、C、V)、中断禁止位(I、F)、Thumb 状态位(T)和处理器模式位(M[4:0])。
**10. 嵌入式系统的存储器只能使用 RAM。( )**
> [!success]- 答案与解析
> 答案:F(错误)
>
> 嵌入式系统的存储器包括 ROM、RAM、Flash 等多种类型。ROM 用于存储固件,RAM 用于运行时数据,Flash 用于程序和数据存储,三者各有用途。
---
### 三、简答题(共 3 题,8+9+9 共 26 分)
> [!note] 教学提示
> 简答题要求对 ARM 异常中断、程序状态寄存器等内容进行准确表述,答题时注意条理清晰、分点作答。
#### 1. ARM 处理器支持哪几种异常中断的响应方式?(8 分)
> [!success]- 答案与解析
> ARM 处理器支持以下异常中断响应方式:
>
> 1. **快速中断 FIQ(Fast Interrupt Request)** —— 优先级最高,用于高速数据传输。
> 2. **普通中断 IRQ(Interrupt Request)** —— 用于一般外部设备中断请求。
> 3. **预取指令中止(Prefetch Abort)** —— 当处理器试图从非法地址取指令时触发。
> 4. **数据访问中止(Data Abort)** —— 当数据访问无效地址时触发。
> 5. **复位(Reset)** —— 系统复位时的异常处理入口。
> 6. **未定义指令异常(Undefined Instruction)** —— 遇到无法识别的指令时触发。
> 7. **软件中断 SWI(Software Interrupt)** —— 用于系统调用,从用户模式切换到管理模式。
>
> ```mermaid
> flowchart TD
> A["异常/中断源"] --> B["复位"]
> A --> C["未定义指令"]
> A --> D["软件中断 SWI"]
> A --> E["预取指令中止"]
> A --> F["数据访问中止"]
> A --> G["普通中断 IRQ"]
> A --> H["快速中断 FIQ"]
> ```
#### 2. 什么是程序状态寄存器?请简述其包含的内容。(9 分)
> [!success]- 答案与解析
> 程序状态寄存器(Program Status Register, PSR)分为 **CPSR**(当前程序状态寄存器)和 **SPSR**(备份程序状态寄存器),用于保存当前程序的执行状态信息。
>
> **CPSR 包含的主要内容:**
>
> | 位域 | 名称 | 说明 |
> |------|------|------|
> | N | 负数标志 | 运算结果为负时置 1 |
> | Z | 零标志 | 运算结果为零时置 1 |
> | C | 进位标志 | 运算产生进位时置 1 |
> | V | 溢出标志 | 运算产生溢出时置 1 |
> | I | IRQ 禁止位 | 置 1 时禁止 IRQ 中断 |
> | F | FIQ 禁止位 | 置 1 时禁止 FIQ 中断 |
> | T | Thumb 状态位 | 处理器在 Thumb 状态时为 1 |
> | M[4:0] | 处理器模式位 | 指定当前处理器的工作模式 |
#### 3. ARM 指令助记符的含义是什么?请列举 3 个 ARM 伪指令。(9 分)
> [!success]- 答案与解析
> **ARM 指令助记符**是 ARM 汇编语言中用于表示处理器操作的缩写符号,如 `ADD`(加法)、`SUB`(减法)、`MOV`(数据传送)等。助记符使汇编程序更易于阅读和编写。
>
> **3 个 ARM 伪指令:**
>
> 1. **`LDR` 伪指令** —— 用于加载大常数或 32 位地址到寄存器,编译器会将其转换为合适的指令序列。例如:
> ```assembly
> LDR R0, =0x12345678 ; 将立即数加载到 R0
> ```
>
> 2. **`ADR` 伪指令** —— 用于加载小范围的程序相关地址(PC-relative address),生成基于 PC 的地址计算指令。
>
> 3. **`NOP` 伪指令** —— 空操作,不执行任何有意义的操作,常用于延迟、对齐或占位。
> [!question] 思考
> 伪指令与真实指令的区别是什么?伪指令在汇编过程中由汇编器转换为真实指令,而真实指令直接映射到处理器可执行的机器码。
---
### 四、综合题(共 3 题,每题 10 分,共 30 分)
> [!note] 教学提示
> 综合题要求对嵌入式系统进行全面分析,答题时注意结合定义、实例和理论论述,做到有理有据。
#### 1. 嵌入式操作系统产品形式与智能移动终端的变革
> [!success]- 答案与解析
> **嵌入式操作系统的产品形式包括:**
>
> - 智能手机与平板电脑
> - 车载电子系统(如导航、娱乐系统)
> - 智能家居设备(如智能音箱、家电控制)
> - 工业控制系统(如 PLC、嵌入式 PLC)
> - 医疗设备(如监护仪、便携诊断仪)
> - 可穿戴设备(如智能手表、健康监测器)
>
> **智能移动终端带来的变革:**
>
> 1. **交互方式变革** —— 从传统按键操作转向触摸屏、语音、手势等自然交互。
> 2. **计算模式变革** —— 从本地计算转向云端协同计算(边缘计算 + 云计算)。
> 3. **信息获取变革** —— 移动互联网使信息获取随时随地化。
> 4. **生态系统变革** —— 应用商店模式催生了庞大的应用开发者生态。
>
> **解决对策:**
>
> - 加强嵌入式系统的安全设计(如 TEE 可信执行环境)。
> - 推动标准化与互操作性(如统一通信协议)。
> - 优化功耗管理,延长移动设备续航。
#### 2. 嵌入式系统的定义、组成及特点(15 分)
> [!success]- 答案与解析
> **定义:**
>
> 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
>
> **组成:**
>
> ```mermaid
> flowchart LR
> subgraph Embed["嵌入式系统组成"]
> direction TB
> HW["硬件层"] --> SW["软件层"]
> end
> HW --> H1["处理器 (CPU/SoC)"]
> HW --> H2["存储器 (ROM/RAM/Flash)"]
> HW --> H3["外设与接口"]
> SW --> S1["引导程序 (Bootloader)"]
> SW --> S2["嵌入式操作系统"]
> SW --> S3["应用软件"]
> ```
>
> **特点:**
>
> 1. **专用性强** —— 面向特定应用领域,功能定制化。
> 2. **资源受限** —— 处理器性能、内存容量有限,需要高效利用资源。
> 3. **实时性要求** —— 许多系统需要在严格时间约束内完成响应。
> 4. **可靠性高** —— 长期稳定运行,通常无人值守。
> 5. **软硬件协同** —— 开发需要软硬件紧密结合,常使用交叉开发环境。
#### 3. 嵌入式系统开发的软硬件结合特点分析(15 分)
> [!success]- 答案与解析
> 嵌入式系统开发的核心特点在于 **软硬件紧密耦合**,具体体现在以下方面:
>
> 1. **交叉开发环境** —— 开发在通用 PC(宿主机)上进行,目标程序运行在嵌入式设备(目标机)上。需要交叉编译器、调试器等工具链。
>
> 2. **硬件感知的软件开发** —— 软件必须充分了解硬件特性(如寄存器布局、中断机制、总线协议),直接操作硬件寄存器是常见需求。
>
> 3. **调试的复杂性** —— 软硬件联调需要 JTAG/SWD 等硬件调试接口,问题定位涉及软硬件两方面。
>
> 4. **功耗与性能的权衡** —— 软件优化(如动态电压频率调整 DVFS)需要与硬件特性配合,实现性能与功耗的最佳平衡。
>
> ```mermaid
> flowchart TD
> A["需求分析"] --> B["硬件选型与设计"]
> B --> C["BSP 开发"]
> C --> D["驱动程序开发"]
> D --> E["操作系统移植"]
> E --> F["应用软件开发"]
> F --> G["软硬件联调"]
> G --> H["测试与验证"]
> H --> I["量产部署"]
> ```
> [!tip] 答题技巧
> 综合题阅卷注重论点完整性和逻辑性,建议按"定义 → 分析 → 对策/总结"的结构作答,每个要点配合实例说明。
## 关联笔记
- [[试题1]]