创建Zigbee Z-Stack 3.0.1 BSP(二)--Z-Stack协议栈目录结构

时间:2021-11-21 16:12:11

创建Zigbee Z-Stack BSP前,首先需要了解Z-Stack协议栈的目录结构。

在安装完成协议栈后其目录如下:
创建Zigbee Z-Stack 3.0.1 BSP(二)--Z-Stack协议栈目录结构

开发的过程中主要使用的文件目录:Documents,Components,Projects,Tools

Documents目录

Documents文件夹中包含了TI官方提供的认为有助于进行Zstack开发的文档,主要分为2类,一类为API接口,描述了Z-Stack提供给开发者能够使用的API接口,另一类是开发相关的说明,例如协调器、路由器、终端设备是是什么。终端设备的状态机机制,入网机制等。
这里面的东西都相当的实在和给力,建议大家在接触使用时,多参看其中的文档,很多东西在这些文档中都已经做了很详细和深刻的介绍和使用了。是一个很有用的开发辅助资料。
创建Zigbee Z-Stack 3.0.1 BSP(二)--Z-Stack协议栈目录结构
创建Zigbee Z-Stack 3.0.1 BSP(二)--Z-Stack协议栈目录结构

Components目录

Components目录下的文件夹是Z-Stack协议栈的各个功能部件的实现:

创建Zigbee Z-Stack 3.0.1 BSP(二)--Z-Stack协议栈目录结构
Note:Bsp,driverlib usblib是cc2538相关的目录。
Components
|- hal 文件夹为硬件平台的抽象层,开发板相关的信息及硬件功能实现就在这里实现的。
|- mac 文件夹包含了802.15.4物理协议的实现说需要代码文件的头文件, 由于TI公司处于某种考虑,这部分并没有给出具体的源代码,而是以库文件的形式存在.\Projects\zstack\Libraries文件夹给出
|- mt 文件夹包含了为系统添加在电脑上有Z-tools调试的功能所需要的源文件
|- osal 包含了操作系统抽象层所需要的文件
|- service文件夹保护了Z-Stack提供的两种服务:寻址服务和数据服务所需要的文件
|- stack 文件夹是components文件夹最核心的部分,是ZigBee协议栈具体实现部分,在在其下有分为了af(应用框架),nwk(网络层),sapi(简单应用接口)、sec(安全)、sys(系统头文件),zcl(ZigBee簇库),zdo(ZigBee设备对象)等7个文件夹
|- zmac文件夹包含了Z-Stack MAC 导出层文件

其中最值得注意的是mac和zstack这两个文件夹,这是整个zstack的灵魂所在。打开各自的子目录,大家可以发现,里面只提供了.h文件,即只提供了所谓的接口调用,这就是所谓的TI的不开源协议栈的方式。这两层大家都只能够调用,而不能查看具体的源代码。而其他子文件夹中,有很多是开源的,比如说osal文件夹,这是TI的Zstack小型操作系统的资源文件所在,在其中我们可以看见不光提供了.h调用,甚至还提供了诸如Osal_timer.c各模块的源文件和Osal.c主源文件,有兴趣的朋友可以根据这些源代码把OSAL移植到其他架构的单片机上去哦。这是关于Components文件夹的介绍,其中存放了Zstack工程所必需的各种源文件和调用声明。

Projects目录

Projects
|-tools 空中升级相关的应用程序
|-zstack
|-HomeAutomation IT提供的基于CC2530EB开发板的样例程序。TI 2530芯片为核心的Zigbee解决方案
|-ZNP 即Zigbee and Processor,即CC2530+MCU的解决方案,这也是TI所提供的两种不同的解决方案,具体的在Documents文件夹中有相关的介绍文档
|-Libraries 库文件,TI 的MAC和Zstack是不开源的,在Compoents文件夹中仅提供了.h文件供调用,而库文件.lib就在这里,Libraries文件夹中
|-OTA 空中升级设计实例
|-Tools 存放设备的配置文件,例如信道,设备类型,网络扫描间隔时间等。
|-Utilities 工具类,还未使用到
|-ZMain 程序的入口函数,板块共性函数定义

Tools目录

Tools目录下主要存放一个Z-Tool工具,该工具可以通过串口往Zigbee发送命令,但是要注意的是,要是用Z-Tool功能,zigbee必须开启MT功能和相关的功能的宏定义,具体可以参考Documents/API/MT Z-Stack Monitor and Test API.pdf文件。