一、 概述
NVDS 为用户信息保留在闪存的一个页面,称为非易失性数据存储 ( NVDS )。NVDS 中的每个条目都包含一个标记 ID 和一个数据值。本文将介绍如何使用 NVDS 来保存用户数据,实现掉电不丢失数据
二、 环境搭建
2.1 SDK 下载
本文基于 NXP QN9080 IC,SDK 可在 NXP 官网 https://mcuxpresso.nxp.com 下载
2.2 硬件
本文基于 QN9080 DK 板进行开发,DK 板如图 2.2 所示
图 2.2
2.3 开发软件
SDK 支持 IAR 、 Keil 、 MCUXpreeso IDE 三种开发软件、本文以 IAR 为开发环境作为介绍
三、 工程移植
在SDK_2.2.0_QN908XCDK\boards\qn908xcdk\wireless_examples\bluetooth\hid_device目录下的工程已经实现蓝牙鼠标的功能,我们可在此工程上介绍 NVDS 的使用
3.1 NVDS 初始化
在 SDK 工程 board.c 文件中已完成 NVDS 的初始化,初始化之后就可以使用 NVDS 的读、写、删除等操作,如图 3.1 所示
图 3.1
3.2 定义 NVDS TAG
在 nvds.h 中定义 NVDS_TEST ,ID 为 0x64。NVDS 中保存了芯片的一些重要信息,为保证与自定义不冲突,用户自定义 ID 可从 0x64 开始,如图 3.2 所示
图 3.2
3.3 NVDS 写操作
NVDS 写操作函数为 nvds_put ,函数第一个参数为 TAG,填写上一步定义的 NVDS_TEST,第二个参数是写入的个数,填写 1,第三个为填入的值,此处填写 0x55,如图 3.3 所示
图 3.3
3.4 NVDS 读操作
NVDS 读操作函数为 nvds_get ,函数第一个参数为 TAG,填写上一步定义的 NVDS_TEST,第二个参数是读取的个数,填写 1,第三个为获取的值,如图 3.4 所示
图 3.4
3.5 NVDS 删除
NVDS 删除操作函数为 nvds_del ,函数只有一个参数 TAG,填写上一步定义的 NVDS_TEST,如图 3.5 所示
图 3.5
四、 总结
本文介绍了 QN9080 NVDS 的使用方法,包括如何定义 NVDS TAG,NVDS读、NVDS 写以及删除 NVDS TAG 等操作,更多关于 QN9080 开发资料可关注大联大~大大通博文专区
五、 参考文献
【1】《 QN908X Product data sheet 》
【2】《 QN908x user manual 》
评论