首页
›
嵌入式基础与RISC-V
›
167-嵌入式代码优化
›
《嵌入式代码优化代码压缩与内存对齐优化从入门到系统化实战》
VIP10
本课程属于:167-嵌入式代码优化
嵌入式基础与RISC-V · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
嵌入式代码优化代码压缩与内存对齐优化从入门到系统化实战
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
代码压缩入门
为什么需要代码压缩?代码膨胀的代价(… · 性能损耗)
代码压缩入门
为什么需要代码压…
02
编译器优化基础
GCC/ARMCC常用优化选项(-O… · -O1 · -O2
编译器优化基础
GCC/ARMCC
03
链接器优化
-flto(链接时优化)的原理与实战 · 如何减少符号表冗余
链接器优化
flto
04
内存对齐基础
什么是内存对齐?为什么CPU喜欢对齐…
内存对齐基础
CPU
05
结构体对齐与重排
结构体成员顺序对内存占用的影响 · 手动重排与__attribute__…
结构体对齐
重排
06
位域与联合体
使用位域压缩状态标志 · 联合体实现数据复用 · 降低内存开销
位域
联合体
07
常量与只读数据优化
const关键字 · 字符串池 · 只读数据段(.rodata)的合理使…
常量
只读数据优化
08
代码段优化
减少重复代码(函数内联 · 宏定义) · 死代码消除(Dead Code El…
代码段优化
减少重复代码
09
栈内存优化
局部变量生命周期管理 · 避免大数组在栈上分配 · 使用静态缓冲区
栈内存优化
局部变量生命周期…
10
堆内存优化
动态内存分配的风险 · 固定大小内存池的实现 · 避免碎片化
堆内存优化
动态内存分配的风…
11
循环优化
循环展开 · 循环合并 · 循环不变代码外提
循环优化
循环展开
12
条件分支优化
使用查找表替代switch-case · likely/unlikely宏优化…
条件分支优化
switch-case
13
函数调用优化
减少函数调用层级 · 使用内联函数 · 尾调用优化
函数调用优化
减少函数调用层级
14
数据压缩算法
RLE(游程编码) · Huffman编码在嵌入式中的轻量级…
数据压缩算法
RLE
15
字典压缩
LZSS/LZ77算法原理 · 在固件升级包中的应用
字典压缩
LZSS/LZ77
16
增量压缩与差分更新
差分算法(bsdiff/xdelta…
增量压缩
差分更新
17
运行时解压缩
gzip/zlib/miniz库的移… · 解压速度与压缩率的权衡
运行时解压缩
gzip/zlib/mi…
18
Flash存储优化
文件系统选择(LittleFS vs… · 磨损均衡与空间利用率
Flash
存储优化
19
RAM优化
变量作用域缩减 · 使用位段 · 共用体
RAM
优化
20
缓存优化
Cache Line对齐 · 数据预取 · 避免Cache Thrashing
缓存优化
Cache
21
DMA与内存优化
使用DMA进行内存拷贝 · 减少CPU干预 · 提高吞吐量
DMA
内存优化
22
双缓冲与环形缓冲区
解决生产者-消费者问题 · 避免数据竞争
双缓冲
环形缓冲区
23
代码尺寸与执行速度的权衡
-Os vs -O2的选择 · 性能关键代码的局部优化
代码尺寸
执行速度的权衡
24
静态分析工具
PC-Lint · Coverity · Cppcheck检测代码冗余与内存泄…
静态分析工具
PC-Lint
25
性能分析工具
gprof · perf · ARM DStream追踪函数调用与…
性能分析工具
gprof
26
内存分析工具
Valgrind · AddressSanitizer检测…
内存分析工具
Valgrind
27
链接器脚本优化
自定义段布局 · 将频繁访问变量放在快速内存区域
链接器脚本优化
自定义段布局
28
RTOS下的内存优化
任务栈大小计算 · 消息队列与信号量的内存高效使用
RTOS
下的内存优化
29
实战案例一
基于STM32的传感器数据采集系统 · 从200KB压缩到120KB
实战案例一
STM32
30
实战案例二
基于ESP32的OTA固件升级 · 差分更新使升级包缩小70%
实战案例二
ESP32
所属VIP或分类
同VIP:嵌入式代码优化代码压缩与编译器优化从入门到系统化实战
同VIP:嵌入式代码优化内存对齐与循环展开优化从项目性能调优实战
同VIP:嵌入式代码优化内存对齐与性能剖析工具使用性能调优实战