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