系统NV区:
初始化nv数据项
读取nv数据项
写入nv数据项
在使用osal_nv_read()或osal_nv_write()之前必须调用
osal_nv_item_init()。
函数原型:
uint8 osal_nv_item_init( uint16 id, uint16 len, void *buf )
--id: NV项的ID
--len: 项的长度
-- buf: 初始化项的数据,如果没有设置为NULL
uint8 osal_nv_read( uint16 id, uint16 ndx, uint16 len, void *buf )
-- id: NV项的ID
-- ndx: 项中的索引
-- len: 项的长度
-- buf: 项的数据
uint8 osal_nv_write( uint16 id, uint16 ndx, uint16 len, void *buf )
-- id: NV项的ID
-- ndx: 项中的索引
-- len: 项的长度
-- buf: 项的数据
0x0000
0x0001-0x0020
0x0021-0x0040
0x0041-0x0060
0x0061-0x0080
0x0081-0x00A0
0x00A1-0x0200
0x0201-0x0FFF
0x1000-0xFFFF
系统已定义NV的项:
// osal 的项
ZCD_NV_EXTADDR
ZCD_NV_BOOTCOUNTER
ZCD_NV_STARTUP_OPTION
(ZCD_STARTOPT_DEFAULT_CONFIG_STATE)
(ZCD_STARTOPT_DEFAULT_NETWORK_STATE)
ZCD_NV_START_DELAY
// NWK层的项
ZCD_NV_NIB
ZCD_NV_DEVICE_LIST
ZCD_NV_ADDRMGR
ZCD_NV_POLL_RATE
ZCD_NV_QUEUED_POLL_RATE
ZCD_NV_RESPONSE_POLL_RATE
ZCD_NV_REJOIN_POLL_RATE
ZCD_NV_DATA_RETRIES
ZCD_NV_POLL_FAILURE_RETRIES
ZCD_NV_STACK_PROFILE
ZCD_NV_INDIRECT_MSG_TIMEOUT
ZCD_NV_ROUTE_EXPIRY_TIME
ZCD_NV_EXTENDED_PAN_ID
ZCD_NV_BCAST_RETRIES
ZCD_NV_PASSIVE_ACK_TIMEOUT
ZCD_NV_BCAST_DELIVERY_TIME
ZCD_NV_NWK_MODE
ZCD_NV_CONCENTRATOR_ENABLE
ZCD_NV_CONCENTRATOR_DISCOVERY
ZCD_NV_CONCENTRATOR_RADIUS
ZCD_NV_MAX_SOURCE_ROUTE
// APS层的项
ZCD_NV_BINDING_TABLE
ZCD_NV_GROUP_TABLE
ZCD_NV_APS_FRAME_RETRIES
ZCD_NV_APS_ACK_WAIT_DURATION
ZCD_NV_APS_ACK_WAIT_MULTIPLIER
ZCD_NV_BINDING_TIME
// 安全层的项
ZCD_NV_SECURITY_LEVEL
ZCD_NV_PRECFGKEY
ZCD_NV_PRECFGKEYS_ENABLE
//ZDO层的项
ZCD_NV_USERDESC
ZCD_NV_NWKKEY
ZCD_NV_PANID
ZCD_NV_CHANLIST
ZCD_NV_LEAVE_CTRL
ZCD_NV_SCAN_DURATION
ZCD_NV_LOGICAL_TYPE
// ZCL 层的项
ZCD_NV_SCENE_TABLE
// Non-standard NV item IDs
ZCD_NV_SAPI_ENDPOINT
用户自定义NV项:
为用户保留的NV项目号从
原语操作NV:
1、初始化
2、设置默认的NIB,设备表,绑定表
3、从NV中恢复网络存储器项
4、把NIB写入到NV中
byte enables )
--NWK_NV_NIB_ENABLE
--NWK_NV_DEVICELIST_ENABLE
--NWK_NV_BINDING_ENABLE
--NWK_NV_ADDRMGR_ENABLE