WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
nv.h
浏览该文件的文档.
1
10#ifndef NV_H
11#define NV_H
12
13#include <stdint.h>
14#include <stdbool.h>
15#include "errcode.h"
16#include "key_id.h"
17
18#ifdef __cplusplus
19#if __cplusplus
20extern "C" {
21#endif /* __cplusplus */
22#endif /* __cplusplus */
23
38
46typedef void (*nv_changed_notify_func)(uint16_t key);
47
55typedef struct {
56 bool permanent;
58 bool encrypted;
62 uint8_t reserve;
65
73typedef struct {
74 uint32_t total_space;
76 uint32_t used_space;
81 uint32_t corrupted_space;
85 uint32_t max_key_space;
88
132
140typedef struct {
141 bool region_mode[KEY_ID_REGION_MAX_NUM];
144
152typedef struct {
153 bool region_mode[KEY_ID_REGION_MAX_NUM];
156
172void uapi_nv_init(void);
173
197errcode_t uapi_nv_write(uint16_t key, const uint8_t *kvalue, uint16_t kvalue_length);
198
199
230errcode_t uapi_nv_write_with_attr(uint16_t key, const uint8_t *kvalue, uint16_t kvalue_length, nv_key_attr_t *attr,
232
261errcode_t uapi_nv_read(uint16_t key, uint16_t kvalue_max_length, uint16_t *kvalue_length, uint8_t *kvalue);
262
291errcode_t uapi_nv_read_with_attr(uint16_t key, uint16_t kvalue_max_length, uint16_t *kvalue_length, uint8_t *kvalue,
292 nv_key_attr_t *attr);
293
314
334errcode_t uapi_nv_backup(const nv_backup_mode_t *backup_mode);
335
352
373
374
393
415errcode_t uapi_nv_register_change_notify_proc(uint16_t min_key, uint16_t max_key, nv_changed_notify_func func);
416
421#ifdef __cplusplus
422#if __cplusplus
423}
424#endif /* __cplusplus */
425#endif /* __cplusplus */
426
427#endif /* NV_H */
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
errcode_t uapi_nv_flush(void)
确保NV数据从Ram上同步到Falsh
Definition soc_nv_storage.c:218
errcode_t uapi_nv_read_with_attr(uint16_t key, uint16_t kvalue_max_length, uint16_t *kvalue_length, uint8_t *kvalue, nv_key_attr_t *attr)
读取指定NV数据项的值,同时获取key的属性值
Definition soc_nv_storage.c:105
void(* nv_storage_completed_callback)(errcode_t result)
nv存储回调函数。
Definition nv.h:37
void uapi_nv_init(void)
初始化nv模块,必须在使用nv函数之前调用。
Definition soc_nv_storage.c:21
nv_key_id_region_t
key_id取值区域
Definition nv.h:96
errcode_t uapi_nv_backup(const nv_backup_mode_t *backup_mode)
执行NV备份
Definition soc_nv_storage.c:185
void(* nv_changed_notify_func)(uint16_t key)
nv值更改回调函数。
Definition nv.h:46
errcode_t uapi_nv_register_change_notify_proc(uint16_t min_key, uint16_t max_key, nv_changed_notify_func func)
注册nv键值改变通知的回调函数
Definition soc_nv_storage.c:227
errcode_t uapi_nv_write_with_attr(uint16_t key, const uint8_t *kvalue, uint16_t kvalue_length, nv_key_attr_t *attr, nv_storage_completed_callback func)
写入NV数据项,并根据业务需求配置属性及回调函数
Definition soc_nv_storage.c:26
errcode_t uapi_nv_set_restore_mode_all(void)
设置NV全量恢复标志
Definition soc_nv_storage.c:199
errcode_t uapi_nv_write(uint16_t key, const uint8_t *kvalue, uint16_t kvalue_length)
写入NV数据项
Definition soc_nv_storage.c:66
errcode_t uapi_nv_read(uint16_t key, uint16_t kvalue_max_length, uint16_t *kvalue_length, uint8_t *kvalue)
读取指定NV数据项的值
Definition soc_nv_storage.c:136
errcode_t uapi_nv_set_restore_mode_partitial(const nv_restore_mode_t *restore_mode)
设置NV部分恢复标志
Definition soc_nv_storage.c:208
errcode_t uapi_nv_get_store_status(nv_store_status_t *status)
获取NV存储的空间使用情况
Definition soc_nv_storage.c:166
@ KEY_ID_REGION5
Definition nv.h:107
@ KEY_ID_REGION7
Definition nv.h:111
@ KEY_ID_REGION4
Definition nv.h:105
@ KEY_ID_REGION10
Definition nv.h:117
@ KEY_ID_REGION9
Definition nv.h:115
@ KEY_ID_REGION6
Definition nv.h:109
@ KEY_ID_REGION14
Definition nv.h:125
@ KEY_ID_REGION15
Definition nv.h:127
@ KEY_ID_REGION13
Definition nv.h:123
@ KEY_ID_REGION12
Definition nv.h:121
@ KEY_ID_REGION3
Definition nv.h:103
@ KEY_ID_REGION_MAX_NUM
Definition nv.h:129
@ KEY_ID_REGION2
Definition nv.h:101
@ KEY_ID_REGION1
Definition nv.h:99
@ KEY_ID_REGION11
Definition nv.h:119
@ KEY_ID_REGION0
Definition nv.h:97
@ KEY_ID_REGION8
Definition nv.h:113
备份区域配置,true代表要备份
Definition nv.h:152
NV属性
Definition nv.h:55
uint8_t reserve
Definition nv.h:62
bool encrypted
Definition nv.h:58
bool non_upgrade
Definition nv.h:60
bool permanent
Definition nv.h:56
恢复出厂区域配置,true代表要恢复
Definition nv.h:140
nv存储状态
Definition nv.h:73
uint32_t used_space
Definition nv.h:76
uint32_t reclaimable_space
Definition nv.h:78
uint32_t max_key_space
Definition nv.h:85
uint32_t corrupted_space
Definition nv.h:81
uint32_t total_space
Definition nv.h:74