Zigbee學習(一)之新建Zstack協議棧工程
本人學習Zigbee有一段時間了,想把一些基礎和學習心得記錄下來,以便和廣大Zigbee發燒友交流探討,也作為一種學習筆記可以複習參考。我想把新建Zstack工程來作為Zigbee學習的第一篇文章,初來乍到,有心的朋友多多指教。
在新建工程之前,我們要做的是要安裝IAR編譯軟體,並且下載ZStack協議棧,我用的版本是ZStack-CC2530-2.3.1-1.4.0,這是TI公司的協議棧,在官網上或者百度一下都能下載的到的。前期準備工作就緒之後,正式進入主題,這裡說的新建一個Zigbee工程是以TI的Zstack協議棧裡的例子作為模板來修改成自己的協議棧,如果光自己新建,要寫的程式碼實在太多,所以我們呼叫原始的參考例子來新建,然後新增一些程式碼程式來實現自己要的功能就行了。下面來實現具體步驟:
第一,新建一個資料夾,將ZStack-CC2530-2.3.1-1.4.0中的檔案都複製到自己新建的資料夾中,其中Documents是一些對協議棧的開發指導,可以不用複製,TOOLS資料夾也是可要可不要的。然後,進入projects資料夾下的zstack資料夾,如下圖所示,其中HomeAutomation,samples,SE,utilities,ZNP都是TI提供的example,我們可以選擇自己需要的例子來修改,那麼別的例子就可以刪除,比如我要使用samples資料夾中的GenericApp例程,就可以將其他資料夾都刪除,切記ZMain資料夾和Libraries,Tools資料夾不能刪除,否則會導致編譯錯誤,以為在協議棧中涉及到這三個資料夾中的APP函式和一些定義。
第二,接下來就要重新命名資料夾,比如我用PuppyApp來取代GenericApp,然後進入PuppyApp資料夾有兩個資料夾,分別是CC2530DB和Source,我們要將其內部的和GenericApp有關的所有名稱都改成自己的名稱,首先進入CC2530DB資料夾,毫不猶豫的將三個檔名都改成PuppyApp.字尾,完成之後只是表面上的修改而已,這時開啟PuppyApp.eww的結果如圖:
正確的做法是再將這三個檔案用記事本開啟,將檔案中的所有GenericApp都替換為PuppyApp,然後我們可以進入IAR進行編譯,MAKE一下以後發現Fatal Error[Pe005]: could not open source file "C:\Documents and Settings\Administrator\桌面\puppygod text2\Projects\zstack\Samples\PuppyApp\Source\ 。
第三,要解決上述問題,不難發現錯誤是無法開啟Source檔案下的PuppyApp.c檔案,那我們就去尋找Source資料夾下的檔案,發現也有三個檔案,我們依舊對它們進行重新命名,將GenericApp改成PuppyApp,並將其用記事本開啟,查詢替換完成之後再make一下,發現沒有錯誤,如圖所示:
但是這並沒有完成,細心的同學不難發現程式碼中好多定義都是GENERICXXXX之類的,我們還是要將其改為自己的名字比較好,為了後期能比較清晰,不容易在巨集定義上犯錯誤,所以我們將剛才三個檔案中GENERICAPP都改成PUPPYAPP就行了,當然OSAL_PuppyApp中其實是沒有GENERICAPP的,這一點改不改也沒關係。
相關文章
- ZigBee ZStack 協議棧學習--架構分析篇協議架構
- ZigBee協議棧Zstack介紹協議
- zstack協議棧協議
- 1、zstack協議棧協議
- 【無線通訊篇 | Zstack協議棧】CC2530 Zigbee Zstack協議棧組網專案及詳細講解篇協議
- CC2530 ZigBee協議棧 學習心得協議
- Zstack協議棧結構的初步解析協議
- 【Zigbee精華教程02】一圖讀懂ZStack協議棧的核心思想與工作機理協議
- [ZigBee] 15、Zigbee協議棧應用(一)——Zigbee協議棧介紹及簡單例子(長文,OSAL及Zigbee入門知識)...協議單例
- 【Zigbee技術入門教程-02】一圖讀懂ZStack協議棧的核心思想與工作機理協議
- zigbee協議棧OSAL執行原理-----個人理解協議
- 計算機網路學習筆記(10) TCP/IP協議棧 之TELNET協議計算機網路筆記TCP協議
- BGP路由協議學習一路由協議
- ble學習筆記九----------ble協議棧之OSAL的執行機理筆記協議
- Python學習之迭代器協議Python協議
- HTTP 協議 學習筆記一HTTP協議筆記
- zigbee協議的缺點 zigbee的主要應用領域協議
- http協議學習系列(協議詳解篇)HTTP協議
- Http協議學習(轉)HTTP協議
- 自我學習HTTP協議HTTP協議
- 全棧資料工程學習-sublime全棧
- TCP/IP學習筆記之協議和郵件TCP筆記協議
- Raft協議學習筆記Raft協議筆記
- Raft 協議學習筆記Raft協議筆記
- IP協議學習筆記協議筆記
- 學習筆記 - DNS協議筆記DNS協議
- 全棧工程師學習路線全棧工程師
- 【雲隱】TI CC2530 Zigbee協議棧開發的七大深坑,歡迎來跨~協議
- Java學習筆記之基於TCP協議的socketJava筆記TCP協議
- 小白學習安全測試(一)——Http協議基礎HTTP協議
- 使用wireshark學習網路協議協議
- OAuth 2.0 協議學習筆記OAuth協議筆記
- 【Zigbee精華教程01】Zigbee無線組網技術入門建議與學習路線
- Linux學習之常用的遠端管理協議有哪些?Linux協議
- TI的TCP/IP協議棧--NDK .TCP協議
- [計算機網路]協議棧計算機網路協議
- ZooKeeper一致性協議ZAB學習筆記協議筆記
- IOS學習之一個示例弄懂代理(delegate)和協議iOS協議