16 KiB
tags, create time
| tags | create time | ||
|---|---|---|---|
|
2026-06-10 10:41 |
试题 8 — 武汉科技大学《嵌入式系统》
概述
- 课程:嵌入式系统(第 2 学期)
- 学校:武汉科技大学
- 题型:填空题、选择题、名词解释、简答题、综合题
- 知识点:ARM 体系结构与指令集、处理器模式与寄存器、RTOS 调度策略、嵌入式系统定义
[!tip] 学习建议 本试卷填空题和选择题覆盖面广,建议结合
[[嵌入式系统/ARM架构与指令集]]笔记进行系统复习。名词解释部分需要准确记忆专业术语的规范定义。
正文
一、填空题(每空 2 分,共 20 分)
-
嵌入式系统是以()为中心,以()为基础,(),适应应用系统的()计算机系统。
[!success]- 答案与解析
- ① 应用
- ② 计算机技术
- ③ 软硬件可裁剪
- ④ 专用
-
嵌入式系统的两大指令体系分别是()和()。
[!success]- 答案与解析
- ① ARM 指令体系
- ② Thumb 指令体系
-
ARM9TDMI-5 中采用的是()体系结构。
[!success]- 答案与解析 哈佛
-
CPSR 的中文名称是()。
[!success]- 答案与解析 当前程序状态寄存器
-
ARM 指令条件码 EQ 表示()。
[!success]- 答案与解析 相等
-
在 Thumb 状态中,为了提高数据的传输效率,可以使用()指令。
[!success]- 答案与解析 LDR/STR
[!note] 教学提示 第 1 题是嵌入式系统的经典定义,务必熟记"以应用为中心、以计算机技术为基础、软硬件可裁剪、专用"四个关键词。第 2 题中 ARM 指令集为 32 位,Thumb 指令集为 16 位,Thumb 通过压缩指令码提高代码密度。
二、选择题(每题 2 分,共 10 分)
-
μC/OS-II 操作系统属于()。
A. 批处理操作系统 B. 嵌入式实时操作系统 C. 占先式实时操作系统 D. 非占先式实时操作系统
[!success]- 答案与解析 答案:C
μC/OS-II 既是嵌入式实时操作系统(B),也是占先式实时操作系统(C)。但作为"操作系统类别"的考查,答案为 C(占先式实时操作系统),强调其调度特性。
-
当异常发生时,ARM 处理器进入()模式。
A. 系统模式 B. 管理模式 C. 用户模式 D. 中断模式
[!success]- 答案与解析 答案:C
异常发生时 ARM 进入管理模式(SVC),而非中断模式。这是一个常见混淆点。
-
寄存器 R13 除了可以做通用寄存器外,还可以做()。
A. 程序计数器 B. 链接寄存器 C. 栈指针寄存器 D. 基址变址寄存器
[!success]- 答案与解析 答案:C
-
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。 -
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, #0x10LDR R1, [R2]、LDR R1, =0x12345678MOV 指令 用于将一个常数或寄存器中的值传送到另一个寄存器,不涉及内存操作。它是纯寄存器层面的数据传送。
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 自动化、机器人 智能移动终端带来的变革:
- 随时随地计算: 打破了传统计算机的使用场景限制,用户可以随时接入网络获取信息和服务
- 移动互联网生态: 催生了 App 经济,形成了以应用商店为核心的软件分发模式
- 丰富的人机交互: 触摸屏、语音识别、手势控制等新型交互方式取代传统键盘鼠标
- 传感器融合: GPS、加速度计、陀螺仪、摄像头等多种传感器的集成,使设备具备环境感知能力
- 云计算协同: 移动终端与云端深度结合,实现计算任务的分布式处理
[!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特点:
- 专用性: 面向特定应用领域,功能明确
- 实时性: 对响应时间有严格要求,需在限定时间内完成任务
- 可靠性: 在各种环境下长时间稳定运行
- 资源受限: 处理器性能、内存容量、存储空间有限,需优化设计
- 软硬件协同: 硬件和软件需紧密配合,可裁剪以满足成本和功耗需求
- 低功耗: 许多嵌入式设备依靠电池供电,功耗管理至关重要
3. 嵌入式系统在实际生活中的应用
结合所学知识,简要分析嵌入式系统在实际生活中的应用。
[!success]- 答案与解析 嵌入式系统已深入渗透到现代生活的各个方面,以下为主要应用领域:
应用领域 典型产品 关键技术 智能手机 iPhone、Android 手机 ARM 处理器、触控交互、移动 OS 智能家居 智能音箱、扫地机器人 IoT 通信、语音识别、传感器 汽车电子 ECU、车载导航、ADAS CAN 总线、实时控制、传感器融合 医疗设备 心脏起搏器、血糖仪、CT 高可靠性、低功耗、精确控制 工业控制 PLC、数控机床、机器人 实时控制、现场总线、抗干扰 物联网 智能穿戴、环境监测 低功耗通信(BLE/Zigbee)、边缘计算 分析要点:
- 智能手机 是嵌入式系统最成功的应用之一,集成 ARM 处理器、多种传感器、触摸屏等,运行 Android/iOS 等嵌入式操作系统
- 智能家居 通过 IoT 技术将家电设备联网,实现远程控制和自动化
- 汽车电子 是嵌入式系统的重要应用领域,现代汽车中包含数十个 ECU,负责发动机控制、安全气囊、ABS 等关键功能
- 医疗设备 对可靠性和实时性要求极高,如心脏起搏器需要 7x24 小时不间断工作
- 工业控制 强调实时性和稳定性,嵌入式系统在自动化生产线中发挥核心作用
[!note] 教学提示 嵌入式系统的应用场景虽然多样,但核心需求一致:专用性(面向特定功能)、实时性(限时响应)、可靠性(稳定运行)。不同应用场景在这些需求上的侧重点不同,例如医疗设备更强调可靠性,工业控制更强调实时性。