嵌入式代码评审清单
本文对应 成长路径 工程基础:Review 时快速过一遍 嵌入式特有风险。
内存与对齐
- 结构体是否
packed/ 对齐` 与硬件寄存器布局一致 - DMA 缓冲区是否 对齐、是否来自 可 DMA 区域
- 是否存在 栈上大数组 导致溢出
volatile 与原子
-
volatile仅用于 MMIO 寄存器,非线程同步 - 多线程/多核用 mutex / atomic,见 内核同步机制总览
中断上下文
- ISR 内 不睡眠、不长循环、不
mutex_lock - 下半部选型合理,见 中断与下半部机制
驱动生命周期
- probe / remove 对称,
devm_*或错误路径无泄漏 - 模块卸载后无 定时器 / work 残留
用户态嵌入式
- 信号处理中仅 async-signal-safe 函数
- 文件描述符、mmap 失败有处理
- 交叉编译与目标 ABI 一致
可维护性
- 魔数改为 具名常量 或寄存器头文件
- 错误码向上返回,避免吞掉 errno