📘 嵌入式C · 内存管理编码规范
🧩
30章 实战目录
1
内存管理概述
核心
嵌入式内存特点 · 重要性 · 碎片/泄漏/越界
2
C语言内存布局
代码段/数据段/BSS/堆/栈 · 地址映射
3
栈内存管理
栈帧结构 · 局部变量 · 溢出检测与预防
4
堆内存管理
malloc/free原理 · 内/外碎片 · 适应算法
5
静态内存分配
全局/static变量 · 常量区 · 链接脚本规划
6
动态内存分配规范
malloc返回值检查 · free置空 · 内存池原则
7
内存对齐
自然/强制对齐 · 结构体规则 · __attribute__
8
内存泄漏检测
手动检测 · hook · Coverity/PC-lint
9
野指针与悬空指针
产生原因 · 检测手段 · 初始化规范
10
缓冲区溢出
栈溢出攻击 · gets/strcpy替代 · canary
11
内存池设计
固定/可变大小 · 伙伴算法实现
12
环形缓冲区
无锁设计 · 读写指针 · 串口/网络协议栈
13
DMA内存管理
缓冲区对齐 · cache一致性 · 非缓存区域
14
RTOS内存管理
FreeRTOS heap1~5 · tlsf算法
15
内存碎片整理
压缩算法 · 分代管理 · 碎片率监控
16
C标准库内存函数
memcpy/memmove · memset · 安全版本
17
const与volatile
内存管理作用 · 防止优化 · 寄存器映射
18
内存映射寄存器
ioremap · ioread/iowrite · bit-banding
19
共享内存与互斥
原子操作 · 自旋锁 · 互斥量应用
20
内存错误检测工具
Valgrind · AddressSanitizer · KASAN
21
链接脚本与内存布局
ld文件编写 · 段定义 · 区域划分
22
启动代码内存初始化
bss清零 · data段拷贝 · 堆栈指针设置
23
内存使用率优化
代码/数据压缩 · 栈深度分析工具
24
安全关键系统内存规范
MISRA-C · DO-178C内存覆盖
25
内存调试技巧
打印堆栈 · dump分析 · watchpoint
26
低内存设备优化
XIP · overlay · zram压缩
27
C++与C混合编程
new/delete与malloc/free · placement new
28
内存管理单元MMU
页表 · TLB · 虚拟地址映射
29
内存性能分析
cache命中率 · TLB miss · 带宽测试
30
综合案例:内存管理器
从零设计嵌入式内存管理器 · 单元测试