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

299 lines
11 KiB
Markdown
Raw Normal View History

2026-06-10 11:08:40 +08:00
---
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 内核
**2. 从应用角度来看,嵌入式系统的核心是( )。**
A. 应用
B. 计算机软件
C. 硬件
D. 算法
**3. Android 的操作系统软件层次由( )统称。**
A. 应用程序层
B. 应用程序框架层
C. 系统运行库层
D. Linux 内核层
**4. 以下不是嵌入式操作系统的是( )。**
A. Android
B. iOS
C. Linux
D. VxWorks
> [!tip] 易错点
> Linux 本身是一个通用操作系统内核,并非专为嵌入式设计;Android、iOS、VxWorks 才是典型的嵌入式或专有移动操作系统。
**5. 寄存器 R13 除了可以做通用寄存器外,还可以做( )。**
A. 程序计数器
B. 链接寄存器
C. 指针控制寄存器
D. 基址变址寄存器
**6. 对于 ARM 指令中不带条件码,仅默认以( )条件执行。**
A. 任何事件 (EQ)
B. 无条件 (AL)
C. 不相等 (NZ)
D. 溢出 (VS)
**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
**8. 在 ARM 处理器内部共有( )个用户可访问的通用寄存器。**
A. 31
B. 6
C. 37
D. 18
**9. 寄存器间接寻址指令中地址码给出的是( )。**
A. 一个内存单元地址
B. 一个通用寄存器的编号
C. 一条指令的内存地址
D. 一个智能控制寄存器的名称
**10. 下面( )完全不属于 ARM 体系结构支持的七种处理器模式之一。**
A. 用户模式
B. 骨肉模式
C. 系统模式
D. 中断模式
> [!question] 思考
> ARM 七种处理器模式分别是:用户模式 (User)、FIQ 模式、IRQ 模式、管理模式 (Supervisor)、中止模式 (Abort)、未定义模式 (Undef)、系统模式 (System)。"骨肉模式"不属于其中任何一种。
#### 单选题参考答案
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|------|---|---|---|---|---|---|---|---|---|----|
| 答案 | B | A | A | C | D | B | B | D | B | B |
> [!warning] 注意
> 第 4 题答案为 C(Linux),因为 Linux 是通用操作系统内核,而非嵌入式操作系统。其余题目答案依据 ARM 架构规范和 Android 体系结构得出。
---
### 二、判断题(对 T,错 F,每题 2分,共 20 分)
> [!note] 教学提示
> 判断题考查对基本概念的正误判断,注意区分"通用操作系统"与"嵌入式操作系统"的本质差异。
**1. 操作系统是嵌入式系统中必要的程序。( )**
**2. ARM 是 RISC 体系结构的一种处理器。( )**
**3. 嵌入式操作系统与我们使用的操作系统是一样的。( )**
**4. 在 ARM 体系中,中断向量表从 0x00000000 开始。( )**
**5. 嵌入式系统的开发需要使用交叉编译环境。( )**
**6. 硬实时系统对时间的要求是确定的。( )**
**7. ARM7 处理器采用三级流水线结构。( )**
**8. 嵌入式 Linux 操作系统是开源的。( )**
**9. 在 ARM 处理器中,CPSR 寄存器保存了当前处理器的状态。( )**
**10. 嵌入式系统的存储器只能使用 RAM。( )**
#### 判断题参考答案
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|------|---|---|---|---|---|---|---|---|---|----|
| 答案 | T | T | F | T | T | T | T | T | T | F |
---
### 三、简答题(共 3 题,8+9+9 共 26 分)
> [!note] 教学提示
> 简答题要求对 ARM 异常中断、程序状态寄存器等内容进行准确表述,答题时注意条理清晰、分点作答。
#### 1. ARM 处理器支持哪几种异常中断的响应方式?(8 分)
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 分)
程序状态寄存器(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 分)
**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. 嵌入式操作系统产品形式与智能移动终端的变革
**嵌入式操作系统的产品形式包括:**
- 智能手机与平板电脑
- 车载电子系统(如导航、娱乐系统)
- 智能家居设备(如智能音箱、家电控制)
- 工业控制系统(如 PLC、嵌入式 PLC)
- 医疗设备(如监护仪、便携诊断仪)
- 可穿戴设备(如智能手表、健康监测器)
**智能移动终端带来的变革:**
1. **交互方式变革** —— 从传统按键操作转向触摸屏、语音、手势等自然交互。
2. **计算模式变革** —— 从本地计算转向云端协同计算(边缘计算 + 云计算)。
3. **信息获取变革** —— 移动互联网使信息获取随时随地化。
4. **生态系统变革** —— 应用商店模式催生了庞大的应用开发者生态。
**解决对策:**
- 加强嵌入式系统的安全设计(如 TEE 可信执行环境)。
- 推动标准化与互操作性(如统一通信协议)。
- 优化功耗管理,延长移动设备续航。
#### 2. 嵌入式系统的定义、组成及特点(15 分)
**定义:**
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
**组成:**
```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 分)
嵌入式系统开发的核心特点在于 **软硬件紧密耦合**,具体体现在以下方面:
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]]