--- 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]]