1.为什么说是IAR而不是Keil?
是因为TI的官方协议栈是在IAR编译环境下开发的,因此我们写程序就必须用IAR。
2.如果协议栈用的IAR版本比你的安装的版本高,这时打开程序后左边的WorkSpace窗口就是空白的,程序也无法编译。如何安装正确的IAR版本?
可以查看TI的官方说明文档:Z-Stack Core Release Notes文件,该文件在协议栈的安装文件夹下,具体路径如下图。文件说明Z-Stack Home 1.2.1协议栈支持的IAR最低版本是EW8051 8.30.3,因此你安装的IAR for 8051的版本必须是这个版本或高于这个版本。
3.熟悉协议栈的预编译选项及设置:
ZStack的预编译选项非常多,官方在Z-Stack Developer's Guide文档中列出的就有46个,其余未列出的实际应中也有用到,先必须了解编译选项的含义,然后可以在学习过程中根据实际的例程逐步熟悉其用法。并不是每个预编译选项都会用得上,真正用到的可能不超过1/3。
4.熟悉常用的API函数:
协议栈的各个层都有自己的API函数,用户可以调用这些编写好的API函数实现自己的功能,而不必自己去构造这些函数。API函数是半开源的,你不必深入了解每个API函数是怎么写的、怎么实现的,但是必须知道常用的API函数该如何使用,函数的形参代表什么含义,有哪些设置值。预编译选项和API函数的说明文档在协议栈的安装文件夹下具体路径如下图:
5.协议栈的版本:
协议栈分很多版本,TI在Z-Stack 2.5.1a发布以后,并没有继续以Z-Stack 2.6.x的形式直接发布,而是按照应用场景的分类进行发布,原因是TI希望开发者根据实际应用选择更有针对的性的协议栈进行开发。例如Z-Stack Home 1.2.1协议栈是针对智能家居相关产品,其应用层和智能家居的实际应用相关,核心协议栈为Version 2.6.2。
初学者可以先学习开发套件中提供的协议栈版本,一般为ZStack-CC2530-2.3.0-1.4.0或者ZStack-CC2530-2.5.1a,等熟悉这些低版本的协议栈之后可以将自己的应用程序移植到新版本的协议栈,后续就用新版本的协议栈进行开发。
6.学会使用Packet Sniffer软件抓取数据包进行数据分析
Packet Sniffer软件配合协议分析仪能够从空中抓取Zigbee数据包。通过分析数据包能够更深入地了解网络的建立过程,设备加入网络的过程、各个设备的通信流程等等与Zigbee协议栈相关的内容,是理论联系实际的最直观的表现。另外,通过对数据包进行分析,可以验证用户应用程序的正确性,对调试分析和解决问题有很大帮助。
7.初步了解IEEE802.15.4标准
IEEE 802.15.4是ZigBee规范的基础。
虽然不要求了解得那么全面和透彻,但是必须掌握IEEE 802.15.4的数据帧格式、Zigbee的分层结构、Zigbee设备的分类、各个设备在网络中的作用等基础知识。这样才能看懂协议分析仪抓取的Zigbee无线数据包。
参考链接https://jingyan.baidu.com/album/a501d80c1373bfec630f5ee4.html