🚗 MCU内存优化实战
30章 · 车载嵌入式
📚 资源受限 · 极致压缩
01
MCU内存全景
SRAM/Flash
寄存器映射
地址划分
02
编译器优化
-Os/-Oz
链接脚本裁剪
GCC
03
栈空间优化
溢出检测
递归替代
栈大小估算
04
堆空间管理
静态vs动态
自定义malloc
碎片避免
05
全局变量优化
const/static
.bss压缩
位域联合体
06
代码段压缩
LTO
函数内联
死代码消除
07
常量数据优化
查表法
字符串池化
CRC校验表
08
RTOS任务栈优化
协程
栈共享
深度分析
09
DMA与内存搬运
双缓冲
Cache一致性
零拷贝
10
Bootloader内存布局
分区表
OTA升级
RAM/Flash分配
11
CAN/LIN通信缓冲区
环形缓冲
零拷贝通信
报文打包
12
AUTOSAR内存分区
BSW/RTE
内存隔离
SW-C保护
13
静态分析工具
Polyspace
Coverity
TASKING
14
运行时内存监控
高水位
堆统计
泄漏检测
15
Flash磨损均衡
写次数
日志存储
ECC处理
16
Bootloader双区备份
A/B切换
回滚机制
校验策略
17
中断服务程序优化
ISR栈独立
嵌套限制
快速响应
18
内存对齐与填充
结构体对齐
缓存行对齐
packed
19
链接脚本高级技巧
段放置
内存区域定义
符号注入
20
汇编级优化
手写汇编
寄存器使用
指令选择
21
功耗与内存
低功耗模式
内存保持
唤醒恢复
22
安全内存
MPU配置
堆栈溢出检测
内存保护
23
多核MCU内存
核间通信
共享内存
缓存一致性
24
外设内存映射
GPIO/ADC
位带操作
PWM寄存器
25
日志与调试
printf重定向
半主机模式
RTT/SWO
26
Bootloader安全
签名验证
加密存储
安全启动链
27
内存测试
March算法
MBIST
ECC纠错
28
OTA升级内存
差分升级
压缩传输
断点续传
29
工具链集成
IDE内存分析
Map文件解读
脚本自动化
30
综合案例
榨出最后1KB
128KB Flash
32KB RAM