ESP32 优化笔记(一)内存优化

本文介绍了ESP32在内存优化方面的五个关键措施,包括修改SPI RAM配置、调整BLE设置、检查全局变量、动态内存调试和优化任务栈大小。通过对这些方面的调整,可以有效地解决物联网应用中面临的内存不足问题,提高系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存优化

ESP32 内部 SRAM 有 520KB,但是系统启动后可用内存约为 300KB(以 Hello World 工程为例),很多物联网应用都会使用 Wi-Fi 连接云端/ Bluetooth 和手机通信/ OTA 升级等功能,可能会面临内存不足问题。尽管 ESP32 可以外挂 PSRAM,为了节省成本,可以不使用 PSRAM 当然最佳。

优化措施

1 修改 SPI RAM config

2 修改 BLE 的配置

如果有打开蓝牙功能,可以关闭没有使用到的蓝牙部分功能。如图:

修改 BLE 的配置

3 检查是否有较大的全局变量

使用 make size-components 查看生成的固件内存使用情况, 查看你的模块中是否存在较大的全局变量

total sizes:
 DRAM .data size:   13272 bytes
 DRAM .bss  size:   34024 bytes
Used static DRAM:   47296 bytes (  77284 available, 38.0% used)
Used static IRAM:   96352 bytes (  34720 available, 73.5% used)
      Flash code: 1101719 bytes
    Flash rodata:  2677
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值