MCU_ZigBee之TI_Z-stack软件架构

本文通过一个生动的单身妈妈小王的例子,解释了轮转查询式操作系统的概念,指出TI的Z-stack协议栈基于这种操作系统。Z-stack的main函数主要负责系统初始化和启动操作系统。操作系统通过不断查询任务中的事件来执行相应的函数,实现任务调度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*****************************************************************************************************************************************

*Author:JYW

*Time:2019_02_28

*Describe:学而记之进而习之

*****************************************************/

 

TI_Z-stack软件架构

 TI Z-stack 是基于一个轮转查询式操作系统的。

最简单的操作系统

   小王是一个单身的年轻妈妈,独自喂养者自己的宝宝和自己年迈的母亲,需要自己努力工作进而获取必要的社会生存资料,为了照顾好宝宝和父母,她请求老板批准在家工作即SOHO的生活方式,她每天要做的事就是:

      1,宝宝的事情

      2,父母的事

      3,自己的事

小王的大脑是命令机构,可以当作是“操作系统”,她的身体是执行机构,可以看作是电脑的“CPU”,我们把她每天要做的事叫做“任务”,小王每天要做的事就相当于操作系统安排CPU执行,在操作系统中,这种安排任务的过程可以称作“调度

因此,一个最简单的操作系统就是这么一段程序代码,它的作用就是对几项不同的任务进行调度,使其协调有序的在CPU上运行。

轮转查询式操作系统的应用

按照上面的叙述,可以编写一个操作系统,来支配小王的身体这个CPU,就是说对其进行“调度”。

 

上面的操作系统是个无休止的循环,每个任务轮转执行;

 

Z-Stack软件架构

上文以小王的例子讲述了一个最基本的轮转查询式操作系统,实际上,TI的Z-stack协议栈就是基于这么一个操作系统的。

协议栈的main函数总体来说就做了两个工作,一个是系统的初始化,还有一个就是开始操作系统实体。

     系统初始化

初始化分为初始化系统时钟,检测芯片工作电压,初始化堆栈等

     操作系统的执行

启动代码为操作系统的执行做好准备工作后,就开始执行操作系统的入口程序,并且彻底将控制权移交给操作系统;

操作系统实体其实只有一行代码:

这句代码有注释,意思是本函数不会返回,也就是说它是一个死循环,它所做的就是不断的查询每个任务中是否有事件发生,如果发生就会执行相应的函数。

osal_start_system()具体分析:

通过上面的循环就得到了有事件待处理的具有最高优先级的任务的序号idx;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值