ESP32 内存分析与优化(ESP32-S2通用)

分析工具

  1. idf_size.py
  2. xtensa-esp32-elf-size

idf_size.py计算的是实际连接到可执行文件中的大小,xtensa-esp32-elf-size计算整个库文件大小,前者相对更小。

iRAM:instruction RAM
dRAM:data RAM

idf_size 内存分析

  1. idf.py size
  2. idf.py size-components
  3. idf.py size-files

Any external PSRAM is not accounted for. (PSRAM can’t be used as static memory, only as dynamic heap memory.)

用户可支配内存大小

ESP32 ESP32-S2
内置 SRAM 530KB 320KB
WiFi 初始化占用 SRAM 35 KB
BLE 初始化占用 SRAM 38 KB
用户一般可支配 SRAM 298 KB

数据来自参考1 2

自定义数据代码存放位置

三种粒度的自定义:

  1. 文件级别:object file (.obj or .o files)
  2. 符号级别:symbol (function/variable)
  3. 库级别:archive (.a files)

参考文献:

  1. ESP32-S2 ESP32 ESP8266参数对比表格
  2. ESP32 测试(十一):ESP32 Wi-Fi、BLE 等示例的固件大小及优化 & 相关组件大小对比 作者:HHHulk
  3. New tool for analyzing static memory size

你可能感兴趣的:(ESP系列物联网开发教程,ESP32,ESP32-S2,物联网)