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

outlander
Posts: 1
Joined: Thu May 20, 2021 9:34 am

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

Postby outlander » Thu May 20, 2021 10:28 am

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

ESP_Gargamel
Posts: 786
Joined: Wed Nov 14, 2018 8:45 am

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

Postby ESP_Gargamel » Fri May 21, 2021 3:33 am

几个比较快速的优化:
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 来看具体每个模块的开销。

Who is online

Users browsing this forum: Bing [Bot] and 79 guests