Zigbee协议栈ZStack构架

Zigbee协议栈ZStack构架协议栈版本信息:ZigBee2006\ZStack-1.4.3-1.2.11、ZStack协议栈构架  Zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层API,供用户调用。协议栈体系分层架构与协议栈代码文件夹对应表如下:   整个协议栈的构架,如图所示APP:应用层目录,这是用户创建各种不同工程的区域,在这个目录

大家好,又见面了,我是你们的朋友全栈君。



协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1

1ZStack协议栈构架

   Zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层API,供用户调用。协议栈体系分层架构与协议栈代码文件夹对应表如下:

Zigbee学习第四天-2——Zigbee协议栈ZStack构架
    整个协议栈的构架,如图所示

Zigbee学习第四天-2——Zigbee协议栈ZStack构架
APP:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。

HAL:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。

MAC:MAC 层目录,包含了MAC 层的参数配置文件及其MAC 的LIB 库的函数接口文件。

MT: 监控调试层,主要用于调试目的,即实现通过串口调试各层,与各层进行直接交互。

NWK:网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS 层库的函数接口。

OSAL:协议栈的操作系统。

Profile:AF 层目录,包含AF 层处理函数文件。

Security:安全层目录,安全层处理函数接口文件,比如加密函数等。

Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。

Tools:工程配置目录,包括空间划分及ZStack 相关配置信息。

ZDO:ZDO 目录。

ZMac: MAC 层目录,包括MAC 层参数配置及MAC 层LIB 库函数回调处理函数。

ZMain:主函数目录,包括入口函数main()及硬件配置文件。

Output:输出文件目录,这个EW8051 IDE 自动生成的。 

2、ZigBee2006协议栈源码库结构分析

   了解了ZigBee2006协议栈整个构架后,再来看看协议栈源码库结构是什么样的,各层的具体文件是什么,建立不同的项目、添加自己的应用层任务及处理函数需要修改什么文件。

   ZigBee2006协议栈ZStack-1.4.2文件目录及说明如下:

   Zigbee学习第四天-2——Zigbee协议栈ZStack构架
   打开SmapleAPP项目工程

先看APP层:

Zigbee学习第四天-2——Zigbee协议栈ZStack构架
   从上图可以看出,对于不同的项目,大部分代码都是相同的,只是在用户应用层,添加了不同的任务及事件处理函数。因此一般情况下,用户只需额外添加上图中的三个文件(主文件、头文件、操作系统接口文件)就可以完成一个项目,然后编写自己的任务处理函数就可以了。

HAL层目录:

Zigbee学习第四天-2——Zigbee协议栈ZStack构架 

Common目录下的文件是公用文件,基本上与硬件无关,hal_assert.c文件是断言文件,用于调试,hal_drivers.c是驱动文件,抽象出与硬件无关的驱动函数,包含有与硬件相关的配置和驱动及操作函数。Include目录下主要包含各个硬件模块的头文件,Target目录下的文件是跟硬件平台相关的,可以看到有两个平台,其中我们正在用的是CC2430EB平台。

MAC层目录:

Zigbee学习第四天-2——Zigbee协议栈ZStack构架
     MAC分为高层和低层两层,Include目录下包含了MAC层的参数配置文件及LIB库的函数接口文件。

Zigbee学习第四天-2——Zigbee协议栈ZStack构架
     其中Zmac.c是ZStack MAC层接口文件,Zmac_cb.c是ZMAC需要调用的网络层函数。

ZMain目录:

Zigbee学习第四天-2——Zigbee协议栈ZStack构架

 

Z-Stack 由main()函数开始执行,main()在Zmain.c中,该函数共做了2件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统,OnBoard.c中包含了对硬件开发平台各类外设进行控制的接口函数。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140321.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 舆情分析系统技术解决方案及作用论文_网络舆情解决方案

    舆情分析系统技术解决方案及作用论文_网络舆情解决方案网络舆情分析工作的开展最先需要做好的就是网络舆情的搜集工作,由于互联网信息内容庞杂多样,舆情信息搜集起来困难,所以要进行舆情分析更是难上加难。但若舆情信息收集的不全,就极易导致舆情分析不正确。那么,到底舆情分析工作要怎么做呢?针对此问题,提供了以下舆情分析系统技术解决方案,供各位参考。在了解方案的前,先来说说为什么要采用舆情分析系统进行监测分析。一、使用舆情分析系统进行监测分析的意义网络信息化时代,信息数据量庞大,若一味采用人工进行舆情信息分析,容易出现收集的舆情不全、舆情分析不正确等问题。而通过利用

    2022年9月20日
    0
  • 【SpringBoot】41、SpringBoot中使用脚本命令启动、停止程序「建议收藏」

    【SpringBoot】41、SpringBoot中使用脚本命令启动、停止程序「建议收藏」我们经常部署SpringBoot应用,一般将应用打包成jar包的方式上传至服务器,通过命令启动程序,我们每次都需要去手动敲命令来控制程序的启停,容易出错,我们可以通过脚本的方式,记住一些常用的命令1、后端启动nohupjava-jartest-1.0.jar>nohup.out2>&1&启动后,并将日志输出到nohup.out文件中2、修改配置启动nohupjava-jartest-1.0.jar–server.port=8081

    2022年9月7日
    0
  • pycharm 2021.11.3激活补丁【2021.10最新】[通俗易懂]

    (pycharm 2021.11.3激活补丁)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~2…

    2022年3月29日
    70
  • 全排列 leetcode_leetcode top100

    全排列 leetcode_leetcode top100原题链接给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题解回溯即可class Solution {public: vector<vector<int> >res; vector<int>t; void dfs(int num,int len,vecto

    2022年8月8日
    1
  • mac安装的vagrant访问laraval欢迎页面,执行时间15秒,安装nfs挂载点(亲测可行)「建议收藏」

    mac安装的vagrant访问laraval欢迎页面,执行时间15秒,安装nfs挂载点(亲测可行)

    2022年2月14日
    43
  • pyttsx3 快速上手之:语音合成播报

    pyttsx3 快速上手之:语音合成播报Pythonpyttsx3使用之:语音播报pyttsx3是python中最常用的文字转语音库,使用方便,功能较为完整首先安装pyttsx3lib:pipinstallpyttsx3然后封装下API,实现为speaker.py:importpyttsx3global__speak_engine__speak_engine=Nonedefsay(content): global__speak_engine ifnot__speak_engine:

    2022年6月26日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号