原创 ZigBee OSAL NV 区操作

2010-8-13 21:28 3223 4 4 分类: 通信

系统NV区:


初始化nv数据项 osal_nv_item_init()读取nv数据项 osal_nv_read()


 


写入nv数据项 osal_nv_write()


 


在使用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 OSAL


 


0x0021-0x0040 NWK


 


0x0041-0x0060 APS


 


0x0061-0x0080 Sec


 


0x0081-0x00A0 ZDO


 


0x00A1-0x0200 保留


 


0x0201-0x0FFF APP


 


0x1000-0xFFFF 保留


 


系统已定义NV的项:


// osal 的项


 


ZCD_NV_EXTADDR 0x0001 64位扩展地址


 


ZCD_NV_BOOTCOUNTER 0x0002 boot计数器


 


ZCD_NV_STARTUP_OPTION 0x0003 开始的控制选项


 


(ZCD_STARTOPT_DEFAULT_CONFIG_STATE)


 


(ZCD_STARTOPT_DEFAULT_NETWORK_STATE)


 


ZCD_NV_START_DELAY 0x0004 开始延迟时间


 


// NWK层的项


 


ZCD_NV_NIB 0x0021


 


ZCD_NV_DEVICE_LIST 0x0022


 


ZCD_NV_ADDRMGR 0x0023


 


ZCD_NV_POLL_RATE 0x0024 轮询率


 


ZCD_NV_QUEUED_POLL_RATE 0x0025 队列轮询率


 


ZCD_NV_RESPONSE_POLL_RATE 0x0026 响应轮询率


 


ZCD_NV_REJOIN_POLL_RATE 0x0027 重新连接轮询率


 


ZCD_NV_DATA_RETRIES 0x0028 传输数据重试次数


 


ZCD_NV_POLL_FAILURE_RETRIES 0x0029 轮询失败重试次数


 


ZCD_NV_STACK_PROFILE 0x002A 使用的profile ID


 


ZCD_NV_INDIRECT_MSG_TIMEOUT 0x002B 默认间接消息举手超时


 


ZCD_NV_ROUTE_EXPIRY_TIME 0x002C 路由的有效期


 


ZCD_NV_EXTENDED_PAN_ID 0x002D 扩展PAN ID


 


ZCD_NV_BCAST_RETRIES 0x002E 广播参数


 


ZCD_NV_PASSIVE_ACK_TIMEOUT 0x002F 广播参数


 


ZCD_NV_BCAST_DELIVERY_TIME 0x0030 广播参数


 


ZCD_NV_NWK_MODE 0x0031 网络模式


 


ZCD_NV_CONCENTRATOR_ENABLE 0x0032 多对一的value


 


ZCD_NV_CONCENTRATOR_DISCOVERY 0x0033 多对一的value


 


ZCD_NV_CONCENTRATOR_RADIUS 0x0034 多对一的value


 


ZCD_NV_MAX_SOURCE_ROUTE 0x0035 多对一的value


 


// APS层的项


 


ZCD_NV_BINDING_TABLE 0x0041 绑定表


 


ZCD_NV_GROUP_TABLE 0x0042 组表


 


ZCD_NV_APS_FRAME_RETRIES 0x0043 传输失败允许传输的最大次数


 


ZCD_NV_APS_ACK_WAIT_DURATION 0x0044 这个数被用做轮询设备


 


ZCD_NV_APS_ACK_WAIT_MULTIPLIER 0x0045 这个数被用做非轮询设备


 


ZCD_NV_BINDING_TIME 0x0046 终端设备绑定时间数


 


// 安全层的项


 


ZCD_NV_SECURITY_LEVEL 0x0061 安全等级


 


ZCD_NV_PRECFGKEY 0x0062 预先配置的安全密钥


 


ZCD_NV_PRECFGKEYS_ENABLE 0x0063 密钥配置为整个网络还是协调器


 


//ZDO层的项


 


ZCD_NV_USERDESC 0x0081


 


ZCD_NV_NWKKEY 0x0082 网络密钥


 


ZCD_NV_PANID 0x0083 PAN ID


 


ZCD_NV_CHANLIST 0x0084 默认的信道列表


 


ZCD_NV_LEAVE_CTRL 0x0085 控制等级


 


ZCD_NV_SCAN_DURATION 0x0086 默认开始扫描的期限


 


ZCD_NV_LOGICAL_TYPE 0x0087 逻辑设备类型


 


// ZCL 层的项


 


ZCD_NV_SCENE_TABLE 0x0091


 


// Non-standard NV item IDs


 


ZCD_NV_SAPI_ENDPOINT 0x00A1


 


用户自定义NV项:


为用户保留的NV项目号从 0x0201 --- 0x0FFF


 


原语操作NV:


1、初始化 byte NLME_InitNV( void )


 


2、设置默认的NIB,设备表,绑定表 void NLME_SetDefaultNV( void )


 


3、从NV中恢复网络存储器项 byte NLME_RestoreFromNV( void )


 


4、把NIB写入到NV中 void NLME_UpdateNV(


 


byte enables )


 


--NWK_NV_NIB_ENABLE 0x01 保存网络NIB


 


--NWK_NV_DEVICELIST_ENABLE 0x02 保存设备列表


 


--NWK_NV_BINDING_ENABLE 0x04 保存绑定表


 


--NWK_NV_ADDRMGR_ENABLE 0x08 保存管理表地址

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条