You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32-WROOM(16MB Flash)读取NVS存储值失败,报错ESP_ERR_NVS_NOT_FOUND(0x1102/4354)

ESP32 NVS写入后读取失败(ESP_ERR_NVS_NOT_FOUND)排查与解决

先看你的问题场景:你使用搭载16MB Flash的ESP32-WROOM开发板,执行NVS写入操作后无法读取对应值,返回错误码4354(ESP_ERR_NVS_NOT_FOUND)。所有前置操作(分区初始化、打开命名空间、写入、提交)都返回成功,且分区表配置、操作模式(NVS_READWRITE)都符合要求。

你的测试代码与配置

测试代码(格式化后):

esp_err_t ret = 0;
nvs_handle handler = 0;
ret = nvs_flash_init_partition("nvs");
log_e("nvs_flash_init_partition CODE: %d", ret);
delay(500);
ret = nvs_open_from_partition("nvs", "tele", NVS_READWRITE, &handler);
log_e("nvs_open CODE: %d", ret);
delay(500);
ret = nvs_set_u8(handler, "kk", 7);
log_e("nvs_set_u8 CODE: %d", ret);
delay(500);
ret = nvs_commit(handler);
log_e("nvs_commit CODE: %d", ret);
delay(500);
int8_t max_buffer_size = 256;
ret = nvs_get_i8(handler, "kk", &max_buffer_size);
log_e("nvs_get_u8 CODE: %d", ret);
log_e("nvs_get_u8 STORED: %d", max_buffer_size);
delay(500);
ret = nvs_flash_deinit_partition("nvs");
log_e("nvs_flash_deinit_partition CODE: %d", ret);
nvs_close(handler);

分区表配置:

# Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,16K,
otadata,data,ota,0xd000,8K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,8M,
ota_0,app,ota_0,0x810000,1M,
ota_1,app,ota_1,0x910000,1M,

代码中的小细节提醒

注意到你用nvs_set_u8写入无符号8位整数,但读取时用了nvs_get_i8(有符号8位整数)。虽然两者字节长度相同,但NVS会为每个键存储类型标识,类型不匹配理论上会返回ESP_ERR_NVS_TYPE_MISMATCH(错误码4353),而非NOT_FOUND,所以这不是当前问题的直接原因,但建议后续统一类型操作,避免潜在问题。

核心原因:Flash物理损坏

从你的更新来看,更换开发板后代码运行正常,这说明原开发板的Flash存在物理损坏:

  • 尽管NVS写入和提交操作返回成功,但数据并未真正写入到Flash的NVS分区(可能对应区域存在坏块)
  • 读取时NVS无法在分区中找到对应的键值记录,因此返回ESP_ERR_NVS_NOT_FOUND

后续类似问题的排查建议

如果再遇到此类情况,可以尝试:

  • 擦除NVS分区:使用esptool.py erase_region 0x9000 0x4000(对应你的分区偏移和大小),重新测试
  • 检查Flash状态:通过ESP-IDF的esp_flash_get_chip_info、esp_flash_get_size接口确认Flash的实际容量与健康状态
  • 验证分区表:确保编译时使用的分区表与配置一致,避免分区重叠或配置错误导致异常

内容的提问来源于stack exchange,提问作者SXN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 06:49:08