编号:_______________
本资料为word版本,可以直接编辑和打印,感谢您的下载
甲 方:___________________
乙 方:___________________
日 期:___________________
zigbee协议栈源码
说明:本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与
义务,同时阐述确定的时间内达成约定的承诺结果。文档可直接下载或修改,使用
时请详细阅读内容。
zigbee协议栈源码
篇一:zigbeez-stack 协议栈构架
zstack 基础
1、zstack协议栈构架
zigbee协议栈就是将各个层定义的协议都集合在一起, 以函数的形式实
现,并给用户提供一些应用层 api,供用户调 用。协议栈体系分层架构与协议栈
代码文件夹对应表如下:
整个协议栈的构架,如图所示
app:应用层目录,这是用户创建各种不同工程的区域, 在这个目录中包含
了应用层的内容和这个项目的主要内容, 在协议栈里面一般是以操作系统的任
务实现的。
hal :硬件层目录,包含有与硬件相关的配置和驱动及 操作函数。
mac: mac层目录,包含了 mac层的参数配置文件及其 mac的lib库的函
数接口文件。
mt:监控调试层,主要用于调试目的,即实现通过串口 调试各层,与各层
进行直接交互。 nwk:网络层目录,含网
络层配置参数文件及网络层库的函数接口文件, aps层库的 函数接口。
osal :协议栈的操作系统。
profile : aF层目录,包含aF层处理函数文件。
security :安全层目录,安全层处理函数接口文件,比
如加密函数等。
services :地址处理函数目录,包括着地址模式的定义
及地址处理函数。
tools :工程配置目录,包括空间划分及 zstack相关配
置信息。
zdo: zdo 目录。
zmac: mac层目录, 包括 mac层参数酉己置及 mac层lib
库函数回调处理函数。 zmain :主函数目录,包括入口函数 main ()及硬件配置
文件。
output :输出文件目录,这个 ew8051ide自动生成的。
2、zigbee20xx协议栈源码库结构分析
了解了 zigbee20xx协议栈整个构架后,再来看看协议
栈源码库结构是什么样的,各层的具体文件是什么,建立不
同的项目、添加自己的应用层任务及处理函数需要修改什么
文件。zigbee20xx 协议栈zstack-1.4.2 文件目录及说明如
下:
打开 smapleapp 项 目工程
先看app层:
从上图可以看出,对于不同的项目,大部分代码都是相
同的,只是在用户应用层,添加了不同的任务及事件处理函
数。因此一般情况下,用户只需额外添加上图中的三个文件
(主文件、头文件、操作系统接口文件)就可以完成一个项
目,然后编写自己的任务处理函数就可以了。层目录:
common目录下的文件是公用文件,基本上与硬件无关,
hal_assert.c 文件是断言文件,用于调试, hal_drivers.c
是驱动文件,抽象出与硬件无关的驱动函数,包含有与硬件
相关的配置和驱动及操作函数。 include目录下主要包含各
个硬件模块的头文件,target目录下的文件是跟硬件平台相
关的,可以看到有两个平台, 其中我们正在用的是 cc2430eb
平台。mac层目录:
mac分为高层和低层两层,include目录下包含了 mac
层的参数配置文件及lib库的函数接口文件。
其中
zmac.c 是 zstackmac 层接 口文件, zmac_cb.c 是 zmac
需要调用的网络层函数。 zmain目录:
z-stack 由 main () 函数开始执行, main () 在 zmain.c
中,该函数共做了 2件事:一是系统初始化,另外一件是开
始执行轮转查询式操作系统, onboard.c中包含了对硬件开
发平台各类外设进行控制的接口函数。
篇二:zigbee协议栈各层分析
phy :物理层通过射频固件和硬件提供 mac层与物理
无线信道之间的接口。