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

16 KiB
Raw Blame History

tags, create time
tags create time
嵌入式系统
试题
2026-06-10 10:41

试题 8 — 武汉科技大学《嵌入式系统》

概述

  • 课程:嵌入式系统(第 2 学期)
  • 学校:武汉科技大学
  • 题型:填空题、选择题、名词解释、简答题、综合题
  • 知识点:ARM 体系结构与指令集、处理器模式与寄存器、RTOS 调度策略、嵌入式系统定义

[!tip] 学习建议 本试卷填空题和选择题覆盖面广,建议结合 [[嵌入式系统/ARM架构与指令集]] 笔记进行系统复习。名词解释部分需要准确记忆专业术语的规范定义。

正文

一、填空题(每空 2 分,共 20 分)

  1. 嵌入式系统是以()为中心,以()为基础,(),适应应用系统的()计算机系统。

    [!success]- 答案与解析

    • ① 应用
    • ② 计算机技术
    • ③ 软硬件可裁剪
    • ④ 专用
  2. 嵌入式系统的两大指令体系分别是()和()。

    [!success]- 答案与解析

    • ① ARM 指令体系
    • ② Thumb 指令体系
  3. ARM9TDMI-5 中采用的是()体系结构。

    [!success]- 答案与解析 哈佛

  4. CPSR 的中文名称是()。

    [!success]- 答案与解析 当前程序状态寄存器

  5. ARM 指令条件码 EQ 表示()。

    [!success]- 答案与解析 相等

  6. 在 Thumb 状态中,为了提高数据的传输效率,可以使用()指令。

    [!success]- 答案与解析 LDR/STR

[!note] 教学提示 第 1 题是嵌入式系统的经典定义,务必熟记"以应用为中心、以计算机技术为基础、软硬件可裁剪、专用"四个关键词。第 2 题中 ARM 指令集为 32 位,Thumb 指令集为 16 位,Thumb 通过压缩指令码提高代码密度。


二、选择题(每题 2 分,共 10 分)

  1. μC/OS-II 操作系统属于()。

    A. 批处理操作系统 B. 嵌入式实时操作系统 C. 占先式实时操作系统 D. 非占先式实时操作系统

    [!success]- 答案与解析 答案:C

    μC/OS-II 既是嵌入式实时操作系统(B),也是占先式实时操作系统(C)。但作为"操作系统类别"的考查,答案为 C(占先式实时操作系统),强调其调度特性。

  2. 当异常发生时,ARM 处理器进入()模式。

    A. 系统模式 B. 管理模式 C. 用户模式 D. 中断模式

    [!success]- 答案与解析 答案:C

    异常发生时 ARM 进入管理模式(SVC),而非中断模式。这是一个常见混淆点。

  3. 寄存器 R13 除了可以做通用寄存器外,还可以做()。

    A. 程序计数器 B. 链接寄存器 C. 栈指针寄存器 D. 基址变址寄存器

    [!success]- 答案与解析 答案:C

  4. ARM 汇编语句"ADD R0, R1, R2, LSL#1"的操作结果是()。

    A. R0 = R2 + (R1) B. R0 = (R2 << 1) + R1 C. R1 = R0 + (R2 << 1) D. R0 = R1 + (R2 << 1)

    [!success]- 答案与解析 答案:A

    ARM 汇编操作数从左到右读,ADD R0, R1, R2, LSL#1 等价于 R0 = R1 + (R2 << 1),注意结果存入 R0 而非 R1。

  5. LDR R2, [R3, #12] 属于()寻址方式。

    A. 立即数寻址 B. 多寄存器寻址 C. 寄存器间接寻址 D. 相对寻址

    [!success]- 答案与解析 答案:A

[!tip] 答题技巧 ARM 指令格式为:操作码{条件码}{S} 目标寄存器, 操作数1, 操作数2。其中操作数 2 支持桶形移位器(Barrel Shifter),可以在一条指令内完成移位和运算。


三、名词解释(每题 2 分,共 10 分)

1. ARM 存储器的字

[!success]- 答案与解析 ARM 体系结构中,存储器的数据组织以字节为基本单位。字(Word) 为 32 位(4 字节),半字(Halfword) 为 16 位(2 字节),字节(Byte) 为 8 位(1 字节)。ARM 处理器支持对字、半字和字节的访问。

2. SPSR

[!success]- 答案与解析 SPSR(Saved Program Status Register)即保存程序状态寄存器。当异常发生时,ARM 处理器自动将当前 CPSR 的值保存到对应异常模式的 SPSR 中,以便异常返回时恢复处理器状态。每种异常模式都有自己的 SPSR。

3. 嵌入式系统

[!success]- 答案与解析 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统的专用计算机系统。它通常嵌入在宿主设备中执行特定功能,对实时性、可靠性、功耗等方面有严格要求。

4. 寄存器间接寻址

[!success]- 答案与解析 寄存器间接寻址是指令地址码给出的是寄存器编号,操作数的有效地址为该寄存器中存储的值。例如 LDR R0, [R1] 表示将 R1 中存储的地址所指向的内存数据加载到 R0。

5. 条件码

[!success]- 答案与解析 条件码是 ARM 指令集中用于实现条件执行的标志位编码。ARM 指令(非 Thumb)几乎都可条件执行,条件码如 EQ(相等/零标志置位)、NE(不等)、GT(大于)、LT(小于)等,共 15 种。当条件满足时指令才执行,否则被跳过。

[!note] 教学提示 条件码的判断依据来自 CPSR 中的 N、Z、C、V 四个标志位。例如 EQ 对应 Z=1(结果为零),NE 对应 Z=0。理解条件码需要先掌握 CPSR 标志位的含义。


四、简答题(共 3 题,8+9+9 共 26 分)

1. 简述嵌入式操作系统中占先式调度和非占先式调度的特点和区别。(8 分)

[!success]- 答案与解析 占先式调度(Preemptive Scheduling):

  • 按任务优先级调度 CPU 资源
  • 高优先级任务可以立即抢占当前正在运行的低优先级任务
  • 中断返回后,若更高优先级任务就绪,当前任务被挂起
  • 实时性好,响应迅速
  • 实现复杂度较高,需要考虑任务切换时的上下文保护

非占先式调度(Cooperative Scheduling):

  • 任务按合作型调度方式工作,各任务彼此共享 CPU
  • 任务调度只发生在任务切换之时,即当前任务主动放弃 CPU 控制权
  • 实现简单,系统开销小
  • 实时性较差,高优先级任务可能因低优先级任务长时间运行而延迟

核心区别: 占先式允许高优先级任务随时打断低优先级任务;非占先式只能在当前任务主动让出 CPU 时才进行调度。

flowchart TD
    A["Task Scheduling Triggered"] --> B{"Preemptive or Cooperative?"}
    B -->|"Preemptive"| C["High Priority Task Arrives"]
    C --> D["Current Task Suspended Immediately"]
    D --> E["High Priority Task Runs"]
    B -->|"Cooperative"| F["Current Task Running"]
    F --> G{"Task Voluntarily Yields CPU?"}
    G -->|"Yes"| H["Scheduler Selects Next Task"]
    H --> I["High Priority Task Runs"]
    G -->|"No"| J["Continue Current Task"]

[!note] 教学提示 占先式调度适用于对实时性要求高的场景(如工业控制、航空航天),非占先式适用于实时性要求不高但追求简单可靠的场景(如简单消费电子)。μC/OS-II 采用占先式调度。


2. 简述 MOV 指令与 LDR 指令的区别。(9 分)

[!success]- 答案与解析

对比维度 MOV 指令 LDR 指令
功能 数据传送 数据加载
操作对象 寄存器到寄存器、立即数到寄存器 内存到寄存器
访问内存 不能访问内存空间 可以访问内存地址
典型用法 MOV R1, R2、MOV R1, #0x10 LDR R1, [R2]、LDR R1, =0x12345678

MOV 指令 用于将一个常数或寄存器中的值传送到另一个寄存器,不涉及内存操作。它是纯寄存器层面的数据传送。

LDR 指令 用于从内存中读取数据到寄存器。它以寄存器间接寻址的方式访问内存,是嵌入式编程中加载内存数据的必备指令。

; MOV 指令示例 - 寄存器间或立即数传送
MOV R1, R2          ; R1 = R2(寄存器到寄存器)
MOV R1, #0x10       ; R1 = 0x10(立即数到寄存器)

; LDR 指令示例 - 从内存加载数据
LDR R1, [R2]        ; R1 = *R2(从 R2 指向的内存地址加载)
LDR R1, =0x12345678 ; R1 = 0x12345678(伪指令,加载 32 位常数)

[!warning] 关键区别 MOV 是数据传送指令,只能操作寄存器和立即数;LDR 是加载指令,可以访问内存地址。在实际编程中,需要从内存读取数据时必须使用 LDR,不能用 MOV 替代。


3. 什么是程序状态寄存器?请简述其包含的内容。(9 分)

[!success]- 答案与解析 ARM 处理器内部包含 1 个 CPSR(当前程序状态寄存器)和 5 个 SPSR(保存程序状态寄存器,每种异常模式各一个)。CPSR 反映当前处理器的状态。

CPSR 主要包含以下内容:

位域 名称 功能描述
N[31] 负数标志 运算结果为负数时置 1
Z[30] 零标志 运算结果为零时置 1
C[29] 进位标志 运算产生进位时置 1
V[28] 溢出标志 运算溢出时置 1
I[7] IRQ 禁止 置 1 时禁止 IRQ 中断
F[6] FIQ 禁止 置 1 时禁止 FIQ 中断
T[5] Thumb 状态 置 1 时处理器处于 Thumb 状态
M[4:0] 处理器模式 选择处理器工作模式(USR/SVC/IRQ/FIQ 等)

当异常发生时,ARM 硬件自动将 CPSR 保存到对应异常模式的 SPSR 中;异常返回时,通过指令将 SSR 恢复到 CPSR,从而恢复处理器状态。

flowchart LR
    subgraph CPSR["CPSR - Current Program Status Register"]
        direction LR
        N["N: Negative Flag"]
        Z["Z: Zero Flag"]
        C["C: Carry Flag"]
        V["V: Overflow Flag"]
        I["I: IRQ Disable"]
        F["F: FIQ Disable"]
        T["T: Thumb State"]
        M["M[4:0]: Mode Bits"]
    end

[!note] 教学提示 CPSR 的低 5 位 M[4:0] 决定处理器工作模式,共有 7 种模式:USR(用户)、SYS(系统)、SVC(管理模式)、ABT(中止)、UND(未定义)、IRQ(中断)、FIQ(快速中断)。理解 CPSR 是掌握 ARM 异常处理机制的基础。


五、综合题(共 3 题,每题 10 分,共 30 分)

1. 嵌入式操作系统的产品形式与智能移动终端的变革

嵌入式操作系统有哪些产品形式?分析智能移动终端产品出现后带来的变革。

[!success]- 答案与解析 嵌入式操作系统的产品形式:

嵌入式操作系统广泛应用于多种产品形态中:

产品类型 典型系统 应用场景
智能手机 Android、iOS 通信、娱乐、办公
平板电脑 Android、iPadOS 教育、商务、娱乐
智能手表 Wear OS、watchOS 健康监测、通知
车载系统 Android Auto、QNX 导航、车控、娱乐
智能家居 各类 RTOS 家电控制、安防
工业控制 VxWorks、FreeRTOS 自动化、机器人

智能移动终端带来的变革:

  1. 随时随地计算: 打破了传统计算机的使用场景限制,用户可以随时接入网络获取信息和服务
  2. 移动互联网生态: 催生了 App 经济,形成了以应用商店为核心的软件分发模式
  3. 丰富的人机交互: 触摸屏、语音识别、手势控制等新型交互方式取代传统键盘鼠标
  4. 传感器融合: GPS、加速度计、陀螺仪、摄像头等多种传感器的集成,使设备具备环境感知能力
  5. 云计算协同: 移动终端与云端深度结合,实现计算任务的分布式处理

[!note] 教学提示 智能移动终端的出现本质上是嵌入式系统从"专用设备"向"通用移动平台"的演进。Android 和 iOS 的成功证明了嵌入式操作系统可以同时兼顾实时性、功耗管理和用户体验。


2. 嵌入式系统的定义、组成及特点

分析并论述嵌入式系统的定义、组成及特点。

[!success]- 答案与解析 定义:

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统的专用计算机系统。它将计算机硬件和软件集成到宿主设备中,完成特定的功能或任务。

组成:

嵌入式系统由硬件和软件两大部分组成:

  • 硬件层: 嵌入式处理器(CPU/MPU/MCU/DSP)、存储器(ROM/RAM/Flash)、外设接口(GPIO/UART/SPI/I2C)、电源管理模块
  • 软件层: 嵌入式操作系统(如 μC/OS-II、FreeRTOS)、设备驱动程序、中间件、应用程序
flowchart TD
    subgraph Hardware["Hardware Layer"]
        CPU["Embedded Processor"]
        Memory["ROM / RAM / Flash"]
        Peripherals["GPIO / UART / SPI"]
        Power["Power Management"]
    end
    subgraph Software["Software Layer"]
        OS["Embedded OS (RTOS)"]
        Driver["Device Drivers"]
        Middleware["Middleware"]
        App["Application"]
    end
    Hardware --> Software

特点:

  1. 专用性: 面向特定应用领域,功能明确
  2. 实时性: 对响应时间有严格要求,需在限定时间内完成任务
  3. 可靠性: 在各种环境下长时间稳定运行
  4. 资源受限: 处理器性能、内存容量、存储空间有限,需优化设计
  5. 软硬件协同: 硬件和软件需紧密配合,可裁剪以满足成本和功耗需求
  6. 低功耗: 许多嵌入式设备依靠电池供电,功耗管理至关重要

3. 嵌入式系统在实际生活中的应用

结合所学知识,简要分析嵌入式系统在实际生活中的应用。

[!success]- 答案与解析 嵌入式系统已深入渗透到现代生活的各个方面,以下为主要应用领域:

应用领域 典型产品 关键技术
智能手机 iPhone、Android 手机 ARM 处理器、触控交互、移动 OS
智能家居 智能音箱、扫地机器人 IoT 通信、语音识别、传感器
汽车电子 ECU、车载导航、ADAS CAN 总线、实时控制、传感器融合
医疗设备 心脏起搏器、血糖仪、CT 高可靠性、低功耗、精确控制
工业控制 PLC、数控机床、机器人 实时控制、现场总线、抗干扰
物联网 智能穿戴、环境监测 低功耗通信(BLE/Zigbee)、边缘计算

分析要点:

  1. 智能手机 是嵌入式系统最成功的应用之一,集成 ARM 处理器、多种传感器、触摸屏等,运行 Android/iOS 等嵌入式操作系统
  2. 智能家居 通过 IoT 技术将家电设备联网,实现远程控制和自动化
  3. 汽车电子 是嵌入式系统的重要应用领域,现代汽车中包含数十个 ECU,负责发动机控制、安全气囊、ABS 等关键功能
  4. 医疗设备 对可靠性和实时性要求极高,如心脏起搏器需要 7x24 小时不间断工作
  5. 工业控制 强调实时性和稳定性,嵌入式系统在自动化生产线中发挥核心作用

[!note] 教学提示 嵌入式系统的应用场景虽然多样,但核心需求一致:专用性(面向特定功能)、实时性(限时响应)、可靠性(稳定运行)。不同应用场景在这些需求上的侧重点不同,例如医疗设备更强调可靠性,工业控制更强调实时性。


关联笔记