自己对Z-stack的架构一些理解(仅作学习笔记,有错误希望大家能指出来,初学Z-Stack菜鸟一只)
2015-05-02 20:28
796 查看
Z-stack程序架构理解
这一层包括了timer、I/O、串口、中断、key、LCD、等等硬件设备的封装!
1系统分层;
系统由硬件层、MAC层、网络层、系统层、应用层2各层作用与联系:
1)硬件层:
负责为MAC层,网络层、系统层、应用层提供底层硬件支持,这些层都会用到这一层相关的配置和API,这一层主要是把系统硬件配置好,并且封装好API和模块,为上层提供抽象化、简洁、方便的API,把复杂的底层工作屏蔽掉。这一层包括了timer、I/O、串口、中断、key、LCD、等等硬件设备的封装!
2)MAC层
这一层主要是负责系统的无线网络部分的MAC层,为网络层服务,类似以太网MAC层。3)网络层
主要是为系统层和应用层服务是无线网络的网络层,类似以太网IP层。4)系统层
这一层主要负责系统的各种调度,协调系统的各个层次,然后负责系统中消息队列的管理,还有负责系统的运行,同时也为应用层提供了一些API,方便APP和底层打交道。这一层包括了:系统的消息队列,事件链表,事件对应的回调函数、还有负责轮询的计数器链表,内存管理、flash的管理,电源管理等等呢。5)应用层
这一层主要是把前面的各个层次利用起来,做自己想要做的事情,比如可以把硬件层的按键,LCD应用起来,也可以运用网络服务,无线收发数据。而如何应用则是由系统来处理,相当于应用层把自己的需求告诉系统,然后系统负责为APP完成任务调度,调用底层来实现APP的需求。相当于APP是餐厅客人,系统是服务员,而其它层次则是厨师,面点师等等。对于客人来说,不需要了解怎么炒菜怎么烤面包,只需要告诉服务员我要吃哪些东西,服务员告诉相应的员工,当员工做好了,服务员在吧东西端上来。这就是APP和其它层的类比关系。相关文章推荐
- cocos2d-xna-TweeJump学习笔记1(都是自己看别人代码后所感所想,希望有懂的人指出我的错误或者大家交流交流)
- cocos2d-xna-TweeJump学习笔记2(都是自己看别人代码后所感所想,希望有懂的人指出我的错误或者大家交流交流)
- 一只Linux小白,啊哈哈。。。以后就将自己的学习心得与大家分享啦!希望大家可以指出我的错误与不足之处
- Z-Stack的运行角度的理解(仅作个人学习笔记,希望别人评指正)
- 新人菜鸟——初学ArrayList,关于自己的理解(欢迎大家补充和修正)
- 图像、帧、片、NALU 是学习 H.264 的人常常感到困惑的一些概念,我在这里对自己的理解做一些阐述,欢迎大家讨论:
- 本人自己写的一个ASP.NET的验证码工具类,以供大家参考。因为本人经验尚浅,如有哪些地方不足或错误,希望大家指出来,不胜感谢!
- 发一些好东东出来大家学习用,自己收藏的
- 自己收藏在博客里的英语口语学习资料,贴出来分享给大家
- android菜鸟学习笔记.关于虚拟机里面的ubuntu 文件夹共享给windows XP的拷贝不出来的问题
- 学习笔记:对Tcp拥塞,超时重传的一些理解
- C++创始人——Bjarne Stroustrup,写给c++初学者,创始人的一些经验,此贴转的!希望给初学者能提供一些建议,为中共的软件爱你事业加油啊吧!有好东东大家都出来晒晒晒吧!
- webservice学习之AXIS初学笔记--创建自己的webservice
- 刚开始学习Jquery的一些笔记被我翻出来了
- 今天开始写技术博客,把每天所学写出来,有错误希望大家指点
- 转——自己整理的:学习verilog DHL问题笔记——Quartus常见错误
- SSH集成常见问题。锦囊!谢谢大家把自己的错误以及解决方案贴出来。
- 软考复习中,复习资料中有很多错误,写出来给自己和大家看看。
- 发布biztalk的一些onenote笔记,是一个mht格式的,希望对大家有帮助
- 从现在开始每天我要写学习笔记,希望成为自己一笔宝贵的财富!