[已解决] ESP32的NVS blob问题

YONGWONG
Posts: 12
Joined: Mon Aug 09, 2021 9:47 am

[已解决] ESP32的NVS blob问题

Postby YONGWONG » Fri Sep 03, 2021 7:12 am

使用ESP32的NVS-BLOB存储12000个字节数据,每次完全擦除flash后编程写第一次都没问题,但之后再写就报错误ESP_ERR_NVS_NOT_ENOUGH_SPACE (0x1105): There is not enough space in the underlying storage to save the value
但每次读出都问题,数量也对,重新上电也不行,请问这是什么原因呢?使用的是IDF4.3稳定版本

ESP_Gargamel
Posts: 786
Joined: Wed Nov 14, 2018 8:45 am

Re: ESP32的NVS blob问题

Postby ESP_Gargamel » Fri Sep 03, 2021 8:15 am

错误是 ESP_ERR_NVS_NOT_ENOUGH_SPACE,你的 NVS 分区多大?搞大些。

YONGWONG
Posts: 12
Joined: Mon Aug 09, 2021 9:47 am

Re: ESP32的NVS blob问题

Postby YONGWONG » Tue Sep 07, 2021 3:03 am

# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,

NVS分区存储的数据是足够了,第一次读写都是正常的,之后读正常,写报错

ESP_Gargamel
Posts: 786
Joined: Wed Nov 14, 2018 8:45 am

Re: ESP32的NVS blob问题

Postby ESP_Gargamel » Thu Sep 09, 2021 1:35 am

你 nvs 是 24KB,写入的是 12000,nvs 里可能本来还有些其他参数在,你再写就没这么大空间了。
他写入的话,是不会把原来的擦掉的,在写入新的之后,会把原来的置成无效。
具体看下 https://docs.espressif.com/projects/esp ... flash.html
另外,你这样的参数存储,最开单独再开一块 nvs 分区,不要和系统的放在一起。

YONGWONG
Posts: 12
Joined: Mon Aug 09, 2021 9:47 am

Re: ESP32的NVS blob问题

Postby YONGWONG » Thu Sep 09, 2021 5:25 am

正解,我今天刚好测试了下,情况就是这样,不是先擦除后写。

Who is online

Users browsing this forum: No registered users and 38 guests