1. 程式人生 > >CC2530: ZigBee協議棧實踐例程(一)

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不同,程式編譯後結果也會不一樣。

        下一章進行原始碼分析。