TI 公司的 Z-Stack 应用层任务开发流程
看了近一个月的 TI 公司的 Z-Stack 协议,也浏览了不少网友分享的 Z-Stack 应用层任务开发流程,总是糊里糊涂的。原因当然是
多方面的,一是自己是编程新手,刚开始就接触这么深奥的流程,这么庞大的代码,真的是不知所措。二是自己一直就有走马观花的
习惯,看代码或者资料总是无法静心下来看,所以即使是一份前辈写的非常好的分享资料,在我这里看几遍也不能静心学习。导致时
间就这样悄无声息的溜走了。痛苦中挣扎的人……。
今天工作效率真的很高,总结了大致的 Z-Stack 应用层任务开发流程,当然是在研读了不少前辈总结的宝贵的资料基础上再加上自
己系统的梳理才恍然大悟的。希望可以和大家分享。
我用的是 TI 公司的 ZStack-1.4.2 协议,无线龙公司在 ZStack-1.4.2 协议基础上研发了一个应用层任务,实现简单的无线传感器网络
应用。就以这个无线龙研发的应用层任务为例,一起熟悉应用层任务研发流程。前提是你要下载到无线龙公司研发的包含有它们自己
研发的应用层任务代码。
一、必备知识:
(1)、具备 zigbee 协议知识,最好是 ZStack 协议知识。
(2)、ZStack-1.4.2 是 TI 公司研发很有名气的 zigbee 协议。
(3)、无线龙研发的基于 ZStack-1.4.2 协议的应用层任务包含两个文件夹。一个是 Components 文件夹,另一个是 Projects 文件夹。
Components 文件夹主要包含实现 Z-stack 协议的各种文件。Projects 文件夹主要是研发人员开发自己应用程序的各种文件。
二、几个重要的文件
Projects 文件夹下有几个文件夹。最主要有两个文件,一个是 ZMain.c 文件(在 Zmain 文件夹里面),这个 ZMain.c 文件里包含了
main 函数。任何一个 C 语言程序都是从 main 函数开始入口。你的应用层任务必须从这个 main 函数开始执行。在 Projects 文件夹下的
Samples/SampleApp/Source 文件夹里面有三个文件,分别是 WXL_OSAL_SampleApp.c、WXL_SampleApp.c、WXL_SampleApp.h。这
几个文件就是无线龙公司研发的应用层任务代码最主要的文件,通过学习这几个文件就可以简单学习到开发流程。
Zigbee 协议除了有物理层、 MAC 层、网络层、应用支持层、应用层外,还包括了一个精简的操作系统( osal),它是在
Components 文件夹里的 OSAL.c 实现的。想要开发 zigbee 协议,哪怕是开发最简单的 zigbee 应用层任务也要找到 OSAL.c,有能力话
仔细研读它。OSAL.c 中定义了很多函数,其中最重要有两个函数,一个是 osal_init_system()函数,另一个是 osal_start_system()函数。