44 lines
1.0 KiB
C
44 lines
1.0 KiB
C
#include "nvs_flash.h"
|
|||
|
|
#include "freertos/FreeRTOS.h"
|
||
|
|
#include "freertos/task.h"
|
||
|
|
#include "nvs.h"
|
||
|
|
#include "esp_log.h"
|
||
|
|
#include <string.h>
|
||
|
|
|
||
|
|
static const char *TAG = "emoji_information";
|
||
|
|
|
||
|
|
//NVS 命名空间
|
||
|
|
#define NVS_NAMESPACE "emoji_config"
|
||
|
|
//版本号的键名
|
||
|
|
#define VERSION_KEY "emoji_version"
|
||
|
|
|
||
|
|
#define VERSION_BUF_SIZE 32
|
||
|
|
|
||
|
|
esp_err_t nvs_emoji_init(void) // nvs 初始化
|
||
|
|
{
|
||
|
|
esp_err_t err = nvs_flash_init();
|
||
|
|
|
||
|
|
if(err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND)
|
||
|
|
{
|
||
|
|
ESP_LOGI(TAG,"NVS paratition need erase , reinitializing ...");
|
||
|
|
err = nvs_flash_erase();
|
||
|
|
if(err != ESP_OK)
|
||
|
|
{
|
||
|
|
ESP_LOGI(TAG,"NVS flash erase failed : %s ", esp_err_to_name(err));
|
||
|
|
return err;
|
||
|
|
}
|
||
|
|
err = nvs_flash_init();
|
||
|
|
}
|
||
|
|
|
||
|
|
if(err != ESP_OK)
|
||
|
|
{
|
||
|
|
ESP_LOGI(TAG,"NVS initialization failed : %s",esp_err_to_name(err));
|
||
|
|
return err;
|
||
|
|
}
|
||
|
|
|
||
|
|
ESP_LOGI(TAG,"NVS initialized successfully");
|
||
|
|
return ESP_OK;
|
||
|
|
}
|
||
|
|
|
||
|
|
|