内存使用情况对比
此文档用来归纳不同芯片运行常用例程时的内存消耗情况。
常用例程剩余内存大小对比
请注意,以下测试结果没有经过任何内存优化,仅仅是直接运行 ESP-IDF 里的基础示例后获得的结果,如想查看内存优化后的结果,可参考 举例:ESP32-C3 内存优化前后的剩余内存大小对比。
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 内存优化前后的剩余内存大小对比
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 事件后启动,然后打印空闲堆内存