Skip to content

1.1 Z-Stack 3.0.1 文件组织 ​

本节导读

上一节说过:C:\Texas Instruments\Z-Stack 3.0.1 里有两个核心目录——Components(核心代码)和 Projects(应用例程)。本节把整个安装目录从头到尾逛一遍,弄清楚每个文件夹是干什么的。逛完之后,你再打开 Z-Stack 源码,就"认识路"了。

协议栈简介 ​

Z-Stack 3.0 是 TI(德州仪器)针对 ZigBee 3.0 协议开发的技术方案,也叫 TI ZigBee 3.0 协议栈。

通俗地说:Z-Stack 3.0 就是 TI 根据 ZigBee 3.0 协议规范编写的程序(库)。开发者可以方便地调用 Z-Stack 3.0 中的各个 API,来进行基于 ZigBee 协议的数据通信——不需要自己去实现复杂的底层协议。

安装方法见《第一部分·准备》章节;安装完成后,默认路径是 C:\Texas Instruments\Z-Stack 3.0.1。

安装目录总览 ​

默认安装完成后,在电脑 C 盘可以找到对应文件夹:

Z-Stack 安装路径

打开 Z-Stack 3.0.1 文件夹,可以看到:

Z-Stack 3.0.1 根目录

顶层文件/文件夹清单:

目录/文件作用
_iss隐藏文件夹,存放用于卸载 Z-Stack 3.0 的相关文件
Accessories辅助工具目录
Components⭐ 核心源代码与链接库
Documents开发文档
Projects⭐ 应用例程工程与源码
Tools开发调试相关工具
各类 PDF / TXT / HTML版权、版本说明、开始向导、资源清单等

下面逐个进入关键目录。

Accessories 目录:辅助工具 ​

进入 Accessories 目录:

Accessories 目录

  • OtaServer:存放 OTA(Over The Air,空中升级)测试工具;
  • SerialBootTool:存放串口升级测试工具。

Components 目录:核心源代码 ⭐ ​

进入 Components 目录:

Components 目录

这是整个协议栈的核心,目录中的文件夹描述如下:

文件夹作用通俗理解
bsp板级支持包,适配 TI 官方开发板的硬件资源开发板的"身份证信息"
driverlib驱动程序链接库(未开源部分)厂家封好、只给用的黑盒驱动
hal⭐ 硬件抽象层,存放各种驱动程序驱动 LED/按键/串口等外设的"开关面板"
mac媒体介质访问控制,实现物理层通信及 IEEE 802.15.4 协议快递员+信封
mt监视层,监视协议栈各层运行状态协议栈的"监控摄像头"
osal⭐ 操作系统抽象层,Z-Stack 3.0 的"操作系统"排班经理
services一些公共的、常用的功能公共工具箱
stackZigBee 协议的实现(NWK 层等)城市邮局
usblibUSB 链接库(芯片支持 USB 时用,如 CC2538)USB 专属工具
zmac属于 mac 层的内容快递员的分支

后面讲源码时,你会反复进出 hal(第 4~6 章)和 osal(第 2~3 章)这两个文件夹。

Documents 目录:开发文档 ​

进入 Documents 目录:

Documents 目录

  • API:Z-Stack 3.0 相关 API 的说明文档;
  • CC2530 / CC2538:适用于对应型号 MCU 的文档;
  • Z-Stack 3.0 Developer's Guide.pdf:Z-Stack 3.0 开发指导(写代码前推荐翻一翻);
  • Z-Stack 3.0 Sample Application User's Guide.pdf:应用例程指导;
  • Z-Stack OTA Upgrade User's Guide.pdf:OTA 空中升级说明。

Projects 目录:应用例程 ⭐ ​

进入 Projects 目录:

Projects 目录

  • tools:与 ZigBee 例程应用相关的工具;
  • zstack:存放 ZigBee 相关例程(重点)。

进入 zstack 文件夹:

zstack 目录

文件夹作用
HomeAutomation⭐ 面向家庭自动化领域的相关例程
Libraries链接库文件(TI 不开放的源代码编译为库)
OTAOTA 空中升级例程
Tools工程配置文件
Utilities公共文件夹
ZMain主函数及系统硬件启动源码
ZNPZNP(ZigBee And Processor)例程

进入 HomeAutomation 文件夹:

HomeAutomation 目录

例程用途通俗理解
GenericApp通用应用场景例程万能模板
SampleDoorLockZigBee 3.0 门锁例程智能门锁
SampleDoorLockController门锁控制器例程开锁的钥匙端
SampleLightZigBee 3.0 灯例程智能灯
SampleSwitchZigBee 3.0 插座/开关例程智能开关(本书主讲例程)
SampleTemperatureSensor温湿度传感器例程温湿度计
SampleThermostat温度控制器例程恒温器
Source存放公共代码公共零件仓库

后续章节我们主要基于 SampleSwitch(智能开关)例程讲源码——它麻雀虽小,五脏俱全。

其他文件 ​

  • Tools:开发调试相关的工具;
  • EULA.pdf:版权声明文件;
  • Getting Started Guide - CC2530.pdf / - CC2538.pdf:对应型号的开始向导;
  • Z-Stack 3.0 Release Notes.txt:版本发布描述;
  • Z-Stack 3.0 Software Development Kit Resource Guide.html:开发资源向导;
  • Z-Stack Core Release Notes.txt:核心发布描述;
  • Z-Stack_3.0.1_Manifest.html:关键信息描述清单;
  • _iss:卸载相关隐藏文件夹。

小结 ​

逛完整个目录,记住这 3 条"路标"就够了:

  1. 写代码 → Projects\zstack\HomeAutomation\SampleSwitch(例程工程);
  2. 改驱动 → Components\hal(硬件抽象层);
  3. 看系统 → Components\osal(操作系统抽象层)。

一句话总结:Z-Stack 的安装目录 = Accessories(工具)+ Components(核心代码)+ Documents(文档)+ Projects(例程)。其中 Components\hal、Components\osal、Projects\zstack\HomeAutomation 是你接下来最常光顾的三个地方。


内容来源:紫甲 IoT《ZigBee 3.0 开发指南》第三部分·1.1 节,经本站整理优化以便于理解;原站链接

aioteer · 物联网专业课程群

💬AI 伴学配置