内存使用情况对比

[English]

此文档用来归纳不同芯片运行常用例程时的内存消耗情况。

常用例程剩余内存大小对比

请注意,以下测试结果没有经过任何内存优化,仅仅是直接运行 ESP-IDF 里的基础示例后获得的结果,如想查看内存优化后的结果,可参考 举例:ESP32-C3 内存优化前后的剩余内存大小对比

Application free memory Comparison

example

ESP32

ESP32-C3

ESP32-C3(ECO7)

ESP32-C2

ESP32-S3

ESP32-C6

ESP32-H2

ESP32-C5

ESP32-P4

Empty project

366 K

332 K

332 K

197 K

392 K

474 K

269 K

347 K

608 K

Station

230 K

219 K

230 K

100 K

273 K

321 K

not support

220 K

not support

Gatt_server

205 K

215 K

225 K

80 K

276 K

358 K

150 K

225 K

not support

bleprph

201 K

205 K

214 K

98 K

267 K

370 K

166 K

231 K

not support

provision(ble & Wi-Fi coexis)

140 K

126 K

136 K

26 K

189 K

259 K

not support

192 K

not support

thread

not support

not support

not support

not support

not support

364 K

166 K

231 K

not support

备注

the data is tested in release/v5.5 (commit 2e7a9174fcdc18f4c242aba5d9ff90644ea03cd2), use the default sdkconfig of each example.

备注

In ES32-C3(ECO7), there is more available RAM for Wireless application, 10 KB for Wi-Fi related, 15 KB for BLE, 20 KB for coexist. If you want to use the ESP32-C3 (ECO7), please eanble the following in menuconfig: - Component config > Hardware Settings > Chip revision > Minimum Supported ESP32-C3 Revision > Rev 1.1 - Component config > SPI Flash driver > Use esp_flash implementation in ROM

举例:ESP32-C3 内存优化前后的剩余内存大小对比

Available free heap after optimization for ESP32-C3/ESP32-C2

example

内存优化前

内存优化后

Physical memory

400 K

400 K

Station

230 K

304 K

Station + 1TLS(MQTTS)

210 K

300 K

bleprph_wifi_coex

178 K

248 K

备注

  • ESP32-C3 数据在 ESP-IDF v5.2.2 中测试

  • got ip 事件后打印站点的空闲堆内存

  • Station + 1TLS(MQTTS) 的数据基于 ESP-IDF mqtt/ssl 示例,空闲堆内存在 MQTT_EVENT_DATA 事件后打印

  • ESP-IDF bleprph_wifi_coex 示例 测试中,nimble BLE 广播在 got ip 事件后启动,然后打印空闲堆内存