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 3.0.1 文件夹,可以看到:

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

- OtaServer:存放 OTA(Over The Air,空中升级)测试工具;
- SerialBootTool:存放串口升级测试工具。
Components 目录:核心源代码 ⭐
进入 Components 目录:

这是整个协议栈的核心,目录中的文件夹描述如下:
| 文件夹 | 作用 | 通俗理解 |
|---|---|---|
bsp | 板级支持包,适配 TI 官方开发板的硬件资源 | 开发板的"身份证信息" |
driverlib | 驱动程序链接库(未开源部分) | 厂家封好、只给用的黑盒驱动 |
hal | ⭐ 硬件抽象层,存放各种驱动程序 | 驱动 LED/按键/串口等外设的"开关面板" |
mac | 媒体介质访问控制,实现物理层通信及 IEEE 802.15.4 协议 | 快递员+信封 |
mt | 监视层,监视协议栈各层运行状态 | 协议栈的"监控摄像头" |
osal | ⭐ 操作系统抽象层,Z-Stack 3.0 的"操作系统" | 排班经理 |
services | 一些公共的、常用的功能 | 公共工具箱 |
stack | ZigBee 协议的实现(NWK 层等) | 城市邮局 |
usblib | USB 链接库(芯片支持 USB 时用,如 CC2538) | USB 专属工具 |
zmac | 属于 mac 层的内容 | 快递员的分支 |
后面讲源码时,你会反复进出
hal(第 4~6 章)和osal(第 2~3 章)这两个文件夹。
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 目录:

tools:与 ZigBee 例程应用相关的工具;zstack:存放 ZigBee 相关例程(重点)。
进入 zstack 文件夹:

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

| 例程 | 用途 | 通俗理解 |
|---|---|---|
GenericApp | 通用应用场景例程 | 万能模板 |
SampleDoorLock | ZigBee 3.0 门锁例程 | 智能门锁 |
SampleDoorLockController | 门锁控制器例程 | 开锁的钥匙端 |
SampleLight | ZigBee 3.0 灯例程 | 智能灯 |
SampleSwitch | ZigBee 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 条"路标"就够了:
- 写代码 →
Projects\zstack\HomeAutomation\SampleSwitch(例程工程); - 改驱动 →
Components\hal(硬件抽象层); - 看系统 →
Components\osal(操作系统抽象层)。
一句话总结:Z-Stack 的安装目录 = Accessories(工具)+ Components(核心代码)+ Documents(文档)+ Projects(例程)。其中 Components\hal、Components\osal、Projects\zstack\HomeAutomation 是你接下来最常光顾的三个地方。
内容来源:紫甲 IoT《ZigBee 3.0 开发指南》第三部分·1.1 节,经本站整理优化以便于理解;原站链接