2025/05/17

武大网安 嵌入式系统 期末考试试卷(A卷) 2021-2022 学年度第二学期

网络安全学院 2021-2022 学年度第二学期 嵌入式系统 期末考试试卷(A卷)

collector: 绯境之外~Outside of Scarlet , 作为对珞珈晚邮的补充


一、改错题(共 5 小题,每小题 3 分,共 15 分) 判断下列命题的正误,你认为正确的打“√”,错误的打“×”并改正。

  1. 嵌入式软件中时间相关性很强的操作是靠中断保证的。 √ (嵌入式操作系统简介 P15)

    • 时间相关性很强的关键操作靠中断服务来保证的

      刘树波教授原话: 这两句话说的是一个意思,都是指中断机制,只不过试卷上说的简单了一点儿

      中断在没有说明软件部分和硬件部分的时候,都是指软硬件结合,既有中断信号,又有中断服务例程

  2. 实时操作系统内核的性能可以以每秒能做多少次任务切换来评价。 X

    • 做任务切换所需要的时间取决于CPU有多少寄存器要入栈。实时内核的性能不应该以每秒钟能做多少次任务切换来 评价。(May 9, 2025 任务切换 P22)

  3. UART 总线是同步通信总线。 X

    UART = 通用异步收发传输器, UART总线是一种通用的串行、异步通信总线

  4. 在嵌入式系统设计中嵌入式操作系统是必需的。 X

    • 嵌入式操作系统不是必需的。 (1.2嵌入式系统的组成 P18)

  5. 在小端存储模式下存储 32 位数 0x1234567 到 2000H–2003H 四字节单元中,2003H 单元的数值为 0x67。 X

    • 0x01


二、简答题(共 10 小题,每小题 5 分,共 50 分;回答简明扼要)

  1. 从应用的角度可将嵌入式微处理器分成哪几类? (2.1 嵌入式微处理器分类 P39)

    u 嵌入式微处理器 (Embedded Microprocessor Unit, EMPU) u 嵌入式微控制器(Micro Co ntroller Unit, MCU) u 嵌入式DSP处理器(Digital Signal Processor, DSP) u 嵌入式片上系统(System on Chip,SoC)

  2. 简述看门狗的原理及对嵌入式系统可靠性的作用。(看珞珈晚邮 二.13)

  3. 比较 CISC 与 RISC 指令系统之间的主要差异。(看珞珈晚邮 二.11)

  4. 嵌入式软件为什么要区分冷热启动? (PPT和书都没有GPT生成)

    区分冷启动和热启动的核心目的是兼顾启动速度、状态保留与安全自检:冷启动表示系统曾彻底断电,所有寄存器和 RAM 内容都不可信,需要完整上电初始化、自检和资源清零;热启动则说明电源未断或仅软复位/休眠唤醒,部分硬件和内存仍有效,可跳过耗时的自检和初始化、快速恢复运行状态。这一判断让系统在保证可靠性的前提下实现“慢启稳态”与“快启续跑”的平衡。

  5. 为什么嵌入式软件需要进行代码执行序列检查?(PPT和书都没有GPT生成)

    嵌入式系统常在安全、实时或高可靠场景运行,若程序的控制流被意外跳转(例如闪存单粒子翻转、栈溢出、内存越界、恶意注入),将直接导致功能失控甚至硬件损坏。通过“代码执行序列检查”(在关键函数入口插入令牌、使用硬件 CFI、双核交叉监控或软件状态机比对等方式)实时核对实际执行路径是否符合设计流程,可及早发现异常分支、数据破坏或攻击,并触发看门狗、降级或安全停机,从而保证功能安全、实时确定性与法规合规性(如 IEC 61508、ISO 26262、DO-178C)

  6. 为什么嵌入式硬件配置需要刷新?(PPT和书都没有GPT生成)

    嵌入式外设的大多数配置寄存器都是易失性的:一旦 MCU 断电、进入深度休眠、被看门狗软复位或遭到单粒子翻转(SEU),这些寄存器就会被清零或被破坏。若不在每次唤醒或周期性地刷新配置——重新写入时钟源、总线分频、外设模式、DMA 通道、滤波/校准值等——外设可能以错误参数运行,导致通信失步、控制环失稳,甚至硬件损坏。因此“刷新配置”是保证外设持续处于设计态、及时恢复正常功能、并满足安全与可靠性要求的必要步骤。

  7. 评价实时操作系统性能的三个重要时间是什么?(看珞珈晚邮 二.16 )

  8. 嵌入式操作系统内核的主要工作是什么?(看珞珈晚邮 二.14 )

  9. 嵌入式系统软件分为哪 4 层? (嵌入式软件开发 -> 嵌入式软件架构与层次 P11)

    嵌入式系统分为4层,硬件层、驱动层、系统层和 应用层。 1、 硬件层 处理器,存储器、通用设备接口(例如通 信模块)和I/O接口、扩展设备接口以及电源等; 2、 驱动层包含硬件抽象层HAL、板级支持包BSP和设 备驱动程序; 3、 系统层 RTOS、文件系统、GUI、网络系统及通用 组件模块组成; 4、 应用层 基于实时系统开发的应用程序组成

  10. 嵌入式系统的三要素是什么? (嵌入式系统的定义 P6)

    n 三要素 u嵌入性:嵌入到对象体系中,有对象环境要求 u专用性:软、硬件按对象要求裁减 u计算性:实现对象的智能化功能


三、论述题(共 2 小题,每题 10 分,共 20 分)

以下全部看珞珈晚邮

  1. 简述嵌入式系统软件抗侧信道攻击的方法。

  2. 简述 UART 通信在应用时的注意事项。

UA(通用异步) RT(收发) 通信在应用时的注意事项就是串口通信在应用时的注意事项, 可以直接看珞珈晚邮,或者看我根据"7、 串行通信接口(Part 1-UART)- 第七讲"总结的以下

 

开发者需要充分考虑硬件接口、波特率选择、校验机制、流控制和中断管理等多方面因素,以确保系统的稳定性和数据传输的可靠性。

波特率与误差

  • 波特率是串行通信中数据传输速率的关键因素。波特率需要根据实际需求进行合理设置,确保双方的通信设备能够正常同步。波特率误差不能超过一定限度,通常情况下误差应小于1.87%(即10位数据传输的误差)。

  • 在波特率设置时,必须计算合适的波特率除数,确保实际波特率接近设定值。

校验与错误检测

  • 奇偶校验用于检测传输过程中的错误。在设置UART通信时,选择合适的校验方式(如无校验、奇校验、偶校验等)对于数据的可靠传输非常重要。

  • UART模块支持多种错误检测机制,如溢出错误、帧错误、奇偶校验错误等。接收数据时需要实时监测这些错误,确保数据的正确性。

FIFO缓冲区的使用

  • 在使用UART时,建议启用FIFO(先进先出)缓冲区,这有助于减少中断的频繁触发,改善数据的传输效率。使用FIFO时,可以设定不同的触发条件,以优化数据的处理速度和稳定性。

  • 若不使用FIFO,则需要通过直接操作状态寄存器来控制数据的发送与接收,这种方式会增加程序复杂性,降低效率。

流控制

  • 流控制用于避免数据丢失,特别是在接收端处理能力跟不上时。S3C2410的UART0和UART1支持自动流控制功能,采用nRTS和nCTS信号进行数据传输的协调。

  • 在串口通信中,如果接收缓冲区满时,发送端应停止数据的发送,直到接收端有足够空间继续接收数据。使用自动流控制能有效避免数据丢失。

中断管理

  • UART支持中断机制,用于响应接收数据、发送数据、或发生错误的事件。根据不同的需求,可以选择使用中断或DMA方式进行数据的收发。

  • 在设置中断时,必须确保中断请求标志被正确清除,否则可能导致系统无法处理新的通信事件。

硬件与电平兼容性

  • 不同的串口通信标准,如RS-232和TTL,电平标准可能不同。在进行串口通信时,需确保通信双方的电平兼容,特别是在不同设备间连接时,需要使用适配器进行电平转换。

信号噪声与干扰

  • 串行通信尤其是长距离传输时,信号容易受到噪声和干扰的影响。对于RS-232接口而言,传输距离有限且抗干扰能力差,因此在较长距离传输时需要采用RS-485等更为可靠的通信接口。


四、设计题(共 1 小题,每题 15 分,共 15 分) 用 C 语言编写 ""读"", "写" 多备份数据单元的函数。

说明: a) 数据结构和接口参数自己定义; b) 请注意代码风格和优化; c) 添加注释。

老师明确说往年设计题不会再考,对此题感兴趣可以参考用 C 语言编写 ""读"", "写" 多备份数据单元的函数。


 

1 条评论:

  1. 关于提到的pdf文件
    https://drive.google.com/file/d/1ClCJ369rYtrqvz0qLZQ7m5huv7-AQxuC/view?usp=sharing

    回复删除