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