CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

概述

非易失性数据存储(Non-volatile Data Storage,NVDS)是一个轻量级键值对数据存储系统,其利用Flash硬件抽象层(Flash HAL)提供的Flash读写接口,将数据存储于Flash中,可确保系统掉电后数据也不会丢失。

NVDS系统适用于存储小块数据,如应用程序的配置参数、校准数据、状态信息以及用户信息等。低功耗蓝牙(Bluetooth LE)协议栈也会使用NVDS存储设备绑定等参数。

NVDS系统具有以下特性:

  • 每个存储项(tag)都具有唯一的tag ID用于标识。用户程序可以根据tag ID对数据内容进行读取和更改操作,而无需关心数据存储的物理地址。
  • 针对Flash存储介质的特性进行了优化,支持数据校验、垃圾回收和擦写平衡。
  • 存储区域的大小和起始地址可配置。Flash区域以扇区(Sector)为单位,一个Sector的大小为4 KB。NVDS存储区域可配置为若干个Sector,且配置的起始地址需按4 KB对齐。

GR54xx SDK默认使用Flash最后几个Sector作为NVDS存储区域,其起始地址为Flash结束地址减去NVDS区域大小。开发者可在custom_config.h中配置宏NVDS_START_ADDR和NVDS_NUM_SECTOR来指定NVDS起始地址和Sector数。需注意NVDS_NUM_SECTOR不包含NVDS垃圾回收区域,整个NVDS所占用的Sector数为NVDS_NUM_SECTOR + 1

扫描关注

打开微信,使用“扫一扫”即可关注。