CC2530: ZigBee协议栈实践例程(一)

1.ZigBee版本

          ZigBee是ZigBee联盟建立的技术标准。第一个ZigBee协议栈规范于2004年发布,称为ZigBee 2004或者ZigBee 1.0;第二个ZigBee协议栈规范于2006年发布,称为ZigBee 2006;第三个ZigBee协议栈规范于2007年发布,称为ZigBee 2007;然后呢?现在是2018年了。。。

2.Z-Stack版本

        Z-Stack是Zigbee协议栈的一个具体实现。它是TI公司提供的半开源的协议栈,其核心代码是以库的形式提供的。该协议栈支持 CC2530。Z-Stack目前有多个版本,网上使用最广泛的版本是Z-Stack 2.5.1a,本文也是使用此版本。新版本可以在官网下载,不过先要注册。网址:http://www.ti.com.cn/tool/cn/Z-Stack

        Z-Stack开发环境(IDE)使用的是IAR,不同版本的Z-Stack其IAR版本也不一样。之所以选择Z-Stack 2.5.1a而不是最新版本,不是因为资料多好开发,而是单纯地不想更新IAR(各种**之类,有一丝丝罪恶感)。

3.使用协议栈

        首先下载与安装协议栈。所谓安装其实就是解压文件到某个路径而已。安装完成后在安装的路径里找到对应的协议栈版本文件夹,里面通常包含有Components与Projects等几个文件夹。IAR工程文件路径为\Projects\zstack\Samples\SampleApp\CC2530DB\SampleApp.eww;打开此工程使用,如下图:

      

        简单的功能开发,一般就只需要更改ZMain与App两个文件夹里面的内容。甚至更简单地,只需要在SampleApp.c修改、添加用户内容,也基本可以了。

        需要说明的是,Zigbee设备的分为Coordinator、Router、Enddevice三种角色,在IAR工程中,点击“Workspace”下的下拉列表可以选择不同角色。也可以通过菜单“Project”->“Edit Configurations...”打开Configurations对话框,进行选择、添加、删除配置定义。


        当选择一种配置之后,工程名后面也会跟随改变,如下图


        右键工程名->选择“options...”


        在对话框里,像下图,按1-2-3步骤,在3里可以进行全局#define操作


        所以,其实选择不同的Configurations选项,差别主要在于使用了不同的全局#define,最后进行编译的时候,由于#define不同,程序编译后结果也会不一样。

        下一章进行源码分析。