在ESP32低功耗设计中,RTC内存(RTC_SLOW_MEM)与NVS分区是两种截然不同的持久化方案。RTC内存本质是SRAM,由RTC电源域供电,在Deep Sleep下保持数据,但掉电(如电池耗尽)即丢失,且容量有限(约8KB),写入无磨损限制,访问速度快,适合存放唤醒后立即需要的临时状态(如唤醒计数器、传感器校准值)。NVS则基于Flash,通过磨损均衡和掉电保护机制保证数据可靠性,适合长期存储配置、Wi-Fi凭据等关键数据,但写入次数有限(约10万次),且每次写入需擦除扇区,功耗较高。选型策略:若数据需跨Deep Sleep周期且可容忍掉电丢失,用RTC内存;若数据必须永久保存或需跨设备重启,用NVS。实操建议:将高频更新的临时状态放RTC,低频关键配置放NVS;在进入Deep Sleep前,将RTC关键数据同步至NVS作为备份;注意NVS写入时避免频繁调用,可合并批量写入。
mcuku 阿沐 · 2026-08-27