CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
ci_nvdata_manage.h
浏览该文件的文档.
1 
12 #ifndef _CI_NVDATA_MANGE_H_
13 #define _CI_NVDATA_MANGE_H_
14 
15 
16 #ifdef __cplusplus
17 extern "C"{
18 #endif
19 
20 
21 /**************************************************************************
22  user modify defined
23 ****************************************************************************/
24 
25 /*ID don't use 0xFF000000 to 0xFFFFFFFF*/
26 #define NVDATA_ID_VOLUME 0x50000001 /*'VOLU'*/
27 #define NVDATA_ID_CWSL_START 0x50001000 /*CWSL*/
28 
29 #define NVDATA_ID_VP_MOULD_INFO 0xA0000001 /*VP mould info*/
30 
31 #define NVDATA_ID_USER_START 0x60000001 /*Start ID for user define. The ID user defined mast greater than this.*/
32 /*Add user ID here */
33 
34 #define NVDATA_ID_USER_END 0xF0000000 /*End ID for user define. The ID user defined mast smaller than this.*/
35 
36 //#define CINV_FLASH_BASE_ADDR (0x7F0000) //xiang.x:use the last 64k flash when test
37 
38 #define CINV_FLASH_ERASE_BLOCK_SIZE (4096)/*4KB,32KB,64KB,4KB suggest,64KB max,so some used uint16_t for save code size*/
39 
40 //#define CINV_FEB_TOTAL_COUNT (16)/*flash total used size is CINV_FLASH_ERASE_BLOCK_SIZE*CINV_FEB_TOTAL_COUNT*/
41 
42 /*last byte also can for version, if want used all new nvdata, can modify this, will casue erase all feb*/
43 #define CINV_FEB_HEADER_MAGIC_VALID (0xABCDEF03)
44 
45 /**************************************************************************
46 
47 ****************************************************************************/
57 typedef enum
58 {
64 
65 void cinv_init(uint32_t flash_addr, uint32_t size);
66 cinv_item_ret_t cinv_item_init(uint32_t id, uint16_t len, void *buf);
67 cinv_item_ret_t cinv_item_read(uint32_t id, uint16_t len, void *buf, uint16_t *real_len);
68 cinv_item_ret_t cinv_item_write(uint32_t id, uint16_t len, void *buf);
70 
73 cinv_item_ret_t cinv_register_hotid(uint32_t hot_id);
74 
75 void nvdata_test(void *p_arg);
76 
77 #ifdef __cplusplus
78 }
79 #endif
80 
81 #endif
82 
Definition: ci_nvdata_manage.h:60
cinv_item_ret_t
nvdata 函数返回值
Definition: ci_nvdata_manage.h:57
cinv_item_ret_t cinv_register_hotid(uint32_t hot_id)
register hotid.
Definition: ci_nvdata_manage.c:279
Definition: ci_nvdata_manage.h:61
cinv_item_ret_t cinv_item_init(uint32_t id, uint16_t len, void *buf)
如果nvdata 项不存在,会创建和初始化传入的id参数项,在调用cinv_item_read()或cinv_item_write()函数前,...
Definition: ci_nvdata_manage.c:1370
cinv_item_ret_t cinv_item_delete(uint32_t id)
删除nvdata里的数据项.
Definition: ci_nvdata_manage.c:1557
Definition: ci_nvdata_manage.h:59
void nvdata_test(void *p_arg)
cinv_item_ret_t cinv_item_read(uint32_t id, uint16_t len, void *buf, uint16_t *real_len)
从nvdata里读数据。该函数可以读nvdata项的全部内容或一部分。数据会拷贝到*buf数据指针,如果传入的长度大...
Definition: ci_nvdata_manage.c:1496
Definition: ci_nvdata_manage.h:62
void cinv_init(uint32_t flash_addr, uint32_t size)
初始化nvdata管理信息和nvdata区域
Definition: ci_nvdata_manage.c:1184
cinv_item_ret_t cinv_item_write(uint32_t id, uint16_t len, void *buf)
将数据项写到nvdata中
Definition: ci_nvdata_manage.c:1428