Files

224 lines
8.0 KiB
Markdown
Raw Permalink Normal View History

2026-06-10 11:08:40 +08:00
---
tags: [嵌入式系统, 试题, 嵌入式系统设计与开发]
create time: 2026-06-10 10:41
---
# 试题 6 — 武汉科技大学《嵌入式系统设计与开发》
## 概述
- **课程**:嵌入式系统设计与开发
- **学校**:武汉科技大学
- **题型**:填空题、选择题、名词解释、简答题、设计题
- **知识点**:ARM 处理器架构、指令系统、异常处理、μC/OS-II 任务调度
> [!tip] 学习建议
> 本试题侧重 ARM 指令分析和嵌入式系统设计,设计题要求结合实际应用场景分析 ARM 处理器特点。
## 正文
### 一、填空题(每空2分,共20分)
2026-06-10 16:00:14 +08:00
1. 嵌入式系统是以( )为中心,以( )为基础,( ),适应应用系统的( )计算机系统。
> [!success]- 答案与解析
> 答案:应用、计算机技术、软硬件可裁剪、专用
2. 嵌入式系统的两大指令体系为( )和( )。
> [!success]- 答案与解析
> 答案:ARM指令、Thumb指令
3. 嵌入式操作系统可以使用在( )和( )的计算机系统中。
> [!success]- 答案与解析
> 答案:嵌入式、实时
4. 处理器复位后进入( )模式。
> [!success]- 答案与解析
> 答案:管理
5. ARM指令中的分支跳转指令是( )。
> [!success]- 答案与解析
> 答案:B/BL/BX
2026-06-10 11:08:40 +08:00
> [!note] 教学提示
> 注意区分 ARM 指令集(32位)与 Thumb 指令集(16位)的差异。Thumb 指令集用于提高代码密度,适用于存储空间有限的嵌入式场景。
### 二、选择题(每题2分,共10分)
2026-06-10 16:00:14 +08:00
1. μC/OS-II操作系统属于( )。
2026-06-10 11:08:40 +08:00
A. 批处理操作系统
B. 嵌入式实时操作系统
C. 分时操作系统
D. 非占先式实时操作系统
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 答案:C
2. 异常中断IRQ的优先级是( )。
2026-06-10 11:08:40 +08:00
A. 1
B. 2
C. 3
D. 4
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 答案:C
3. 寄存器R13除了可以做通用寄存器外,还可以做( )。
2026-06-10 11:08:40 +08:00
A. 程序计数器
B. 链接寄存器
C. 栈指针寄存器
D. 基址变址寄存器
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 答案:C
4. 以下四个选项中,不是8位立即数的是( )。
2026-06-10 11:08:40 +08:00
A. 0x103FC00
B. 0x12000000
C. 0x00014C00
D. 0x40000001
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 答案:A
5. ARM汇编语句"ADD R0, R1, R2, LSR#2"的操作是( )。
2026-06-10 11:08:40 +08:00
A. R0 = R1 + (R2 >> 2)
B. R0 = R2 + (R1 >> 2)
C. R2 = R0 + (R1 >> 2)
D. R0 = R2 >> (R1 + 2)
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 答案:A
2026-06-10 11:08:40 +08:00
> [!tip] 解题技巧
> 对于选择题第4题,判断一个数是否为8位立即数(循环右移偶数位后可表示),需要将该数展开为32位二进制,检查其非零位是否能通过循环右移偶数位落入高8位内。
### 三、名词解释(每题2分,共10分)
1. **共享资源**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 可以被一个以上的任务所使用的资源称为共享资源。
2026-06-10 11:08:40 +08:00
2. **CPSR**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 当前程序状态寄存器(Current Program Status Register),保存程序的状态信息,包括条件标志位、中断禁止位、当前处理器模式等。
2026-06-10 11:08:40 +08:00
3. **中止异常**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 中止异常是指存储器访问未能完成时产生的异常,是由ABORT输入信号引起的异常中断。中止异常分为指令预取中止和数据访问中止两类。
2026-06-10 11:08:40 +08:00
4. **立即寻址**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 指令中的操作数字段就是操作数本身,也就是说,数据就在指令中。
2026-06-10 11:08:40 +08:00
5. **行为同步**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 一个任务的过程需要依靠多个任务的协调配合,才能达到预期的效果。任务之间的这种配合和约束行为称为行为同步。
2026-06-10 11:08:40 +08:00
> [!note] 教学提示
> CPSR在ARM体系结构中非常重要,它包含了N、Z、C、V四个条件标志位,控制着条件执行的逻辑。建议学生画出CPSR的32位结构图加深理解。
### 四、简答题(每题5分,共30分)
**1. 简述ARM体系中的字对齐存储访问**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 如果一个数据是4字节大小的地址开始存放,那么它是字对齐,否则就是非字对齐。ARM结构要求所有存储器访问必须是字对齐的。即存储地址A必须满足:A mod 4 = 0。
2026-06-10 11:08:40 +08:00
**2. 简述ARM处理器的几种工作模式**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> ARM处理器共有7种工作模式:
> - **用户模式(USR)**:正常程序执行模式,权限最低
> - **系统模式(SYS)**:运行特权级操作系统任务
> - **管理模式(SVC)**:操作系统保护模式,处理器复位后进入此模式
> - **中止模式(ABT)**:用于虚拟存储和存储保护
> - **未定义模式(UND)**:当未定义指令执行时进入
> - **IRQ中断模式**:用于通用中断处理
> - **FIQ快速中断模式**:用于高速数据传输
2026-06-10 11:08:40 +08:00
**3. 简述异常发生后ARM处理器的操作**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 异常发生后ARM处理器执行以下操作:
> 1. 保存返回地址到相应的链接寄存器(LR)
> 2. 将当前CPSR保存到对应的SPSR中
> 3. 根据异常类型设置CPSR相应位,切换处理器模式和状态
> 4. 跳转到对应的异常向量地址执行异常处理程序
2026-06-10 11:08:40 +08:00
**4. 简述ARM伪指令的定义与系统处理方法**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> ARM伪指令不是ARM指令集中的指令,是为了编程方便而定义的。系统在汇编时会将其替换为一条或多条真实的ARM指令。常见的伪指令包括:
> - **LDR伪指令**:用于加载大常数或地址(如`LDR R0, =0x50000010`)
> - **ADR伪指令**:加载小范围地址
> - **NOP空操作**:用于延时或占位
2026-06-10 11:08:40 +08:00
**5. 简述嵌入式系统的最小系统**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> 嵌入式最小系统由以下部分组成:
> - **处理器(CPU)**:核心运算单元
> - **存储器(RAM/ROM)**:程序和数据的存储
> - **时钟电路**:提供系统时钟信号
> - **电源电路**:提供稳定的工作电压
> - **复位电路**:用于系统初始化
2026-06-10 11:08:40 +08:00
**6. 简述μC/OS-II中任务的优先级安排原则**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> μC/OS-II任务优先级安排原则:
> - 按任务的重要性和实时性要求分配优先级
> - 关键任务给予最高优先级
> - 避免优先级反转问题
> - 同优先级任务可使用时间片轮转调度
> - 中断服务程序的优先级高于所有任务
2026-06-10 11:08:40 +08:00
### 五、设计题(每题15分,共30分)
**1. ARM指令语句分析**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> ```assembly
> AREA Example, CODE, READONLY ; 定义一个名为Example的只读代码段
> MOV PC, LR ; 子程序返回:将LR值传给PC
> CMP R0, R1 ; 比较R0和R1的值,设置条件标志位
> ADD R0, R1, #1 ; R0 = R1 + 1
> LDR R0, =0x50000010 ; LDR伪指令,将0x50000010加载到R0
> SWI 0x123456 ; 软中断指令,产生软件中断
> B WAITA ; 无条件跳转到WAITA标号处
> STMIA R0!, {R1-R4} ; 批量存储指令,将R1-R4依次存储到R0指向的地址
> ```
2026-06-10 11:08:40 +08:00
> [!note] 教学提示
> `STMIA R0!, {R1-R4}`中,`IA`表示每次访问后地址递增(Increment After),`!`表示写回(Write Back),即R0的值会在存储后自动更新为存储结束后的地址。
**2. 嵌入式系统应用现状与未来趋势分析**
2026-06-10 16:00:14 +08:00
> [!success]- 答案与解析
> **应用现状:**
> - 消费电子领域:智能手机、平板电脑、智能家居设备
> - 汽车电子领域:车载信息娱乐系统、ADAS辅助驾驶系统
> - 工业控制领域:PLC控制器、工业机器人、数控机床
> - 医疗设备领域:便携式医疗监测设备、植入式医疗设备
> - 物联网领域:各类传感器节点、网关设备
>
> **未来趋势:**
> - **AI+嵌入式**:边缘计算与人工智能的深度融合
> - **5G+IoT**:5G通信技术推动物联网应用爆发
> - **低功耗处理器**:更强大性能与更低功耗的平衡
> - **RISC-V架构崛起**:开源指令集架构在嵌入式领域的广泛应用
2026-06-10 11:08:40 +08:00
## 关联笔记
- [[试题5]]
- [[试题7]]