介绍
在使用 ESP32 系列芯片(如 ESP32、ESP32-C3、ESP32-S3)开发某些对启动时延比较严格的产品来说,优化系统启动时间将改善产品用户体验,通常最低可以将系统启动时间优化到几十毫秒。例如:智能灯产品,对时延较为敏感,优化系统启动时间可以让用户无法感知到智能灯重启。
优化措施
以下优化选项均可在 ESP-IDF v4.4 的 menuconfig 中找到,如果没有找到,请同步您的 ESP-IDF 版本。
1. 取消二级 bootloader 的 log 打印
Bootloader config
-> Bootloader log
-> No output
2. 跳过固件检查
Bootloader config
-> Skip image validation when exiting deep sleep
Bootloader config
-> Skip image validation from power on reset (READ HELP FIRST)
Bootloader config
-> Skip image validation always (READ HELP FIRST)
3. 取消应用固件的 log 打印
Component config
-> Log output
-> No output
4. 修改 SPI flash 的 SPI 模式参数
Serial flasher config
-> Flash SPI mode
-> QIO
5. 修改 FreeRTOS 的 Tick 参数
Component config
-> FreeRTOS
-> Tick Rata (HZ)
-> 1000
如果还需要在上电后快速使用 Wi-Fi,则可以进一步调整以下 menuconfig 选项:
6. 保存之前从 DHCP 服务器获取的DHCP 信息
Component config
-> LWIP
-> DHCP
-> Restore last IP obtained from DHCP server
7. 关掉 Wi-Fi AMDPU RX
Component config
-> Wi-Fi
-> DHCP
-> close Wi-Fi AMDPU RX
8. 如果没有使用 IPV6,可以取消使能 IPV6
Component config
-> LWIP
-> Enable IPV6
Notes:
优化后,需重新编译烧写固件。