Page 1 of 1

ESP-IDF如何裁剪代码,缩小固件大小?

Posted: Thu May 20, 2021 10:28 am
by outlander
ESP32在不使用WiFi或蓝牙时如何裁剪代码以缩小编译出的固件大小?
作为对比,ESP32编译出的bin文件大小为300KB(未使用WiFi和蓝牙),原先使用STM32实现相同功能时的bin文件大小约100KB。
固件大小对OTA所花的时间有很大影响,因此希望能尽可能的缩小固件大小。

Re: ESP-IDF如何裁剪代码,缩小固件大小?

Posted: Fri May 21, 2021 3:33 am
by ESP_Gargamel
几个比较快速的优化:
Compiler options → Optimization Level 改成 Optimize for size (-Os)
Compiler options → Assertion level 改成 Silent (saves code size)
Component config → Log output → Default log verbosity 改成 Warning
Component config → Log output 的 Use ANSI terminal colors in log output 关了

你可以用 idf.py size-components 和 idf.py size-files 来看具体每个模块的开销。