关于Contiki中Rime代码的一些分析记录
来源:互联网 发布:c语言新建项目 编辑:程序博客网 时间:2024/06/05 19:59
/*------------------------------------------------------------------------------------------------------*/
2013-02-01
1、
在Contiki中有一个自己的内存管理,方式是预先分配,使用时调用其中的一块。
/*------------------------------------------------------------------------------------------------------*/
2013-01-31
1、
这里选择查看List因为链表是编程中,最常用的一种方式。
函数中,使用二级指针来返回链表头,因为链表头,既是一个指针。
链表头,指向链表的首元素。
这里用的是单向链表。
这里明白为什么是这样做了。
并不是像以前我们自己做的那样,其实就是将链表当做一个线性数组来使用。而这里就是当做一个来管理数据的方式,
因此,是根据各个元素来使用的。
这里以后要慢慢习惯这样的方法。
明白了这里为什么将next指针,放在首位,因为在指针转换时,和转换后的list_t 结构的next指针对应,这样就忽略了具体的结构形式。
应该说在这一点,Contiki做的应该是很好的了。
使用一个公用的链表操作所有的结构体链表。
这里算是一个比较高明的地方。
之前在《系统程序员成长计划》中开篇也是以一个共用链表开始,感觉两个各有优劣。
/*------------------------------------------------------------------------------------------------------*/
2013-01-29
1、
关于stunicast.c中,感觉比unicast.c中多的是多了一层ctimer。有了超时控制。这个可能会使链路的稳定性更好,
超时会有一些处理。
之于stbroadcast.c比于broadcast.c也是这样。多了ctimer控制里边的帧发送。
照此而言,稳定与非稳定,的差异在于时间的控制上。
1.1同时,置于其上的rmh,是使用stunicast等加上了ctimer的函数实现的一组函数调用。
2、
同时,由于Rime并不提供路由等支持,如果要通过Rime实现组网,就需要在实现mesh,route等一些算法的东西。
Rime下的几个文件
| | | |-broadcast.c
| | | |-broadcast.h
| | | |-mesh.c
| | | |-mesh.h
| | | |-rmh.c
| | | |-rmh.h
| | | |-broadcast.h
| | | |-mesh.c
| | | |-mesh.h
| | | |-rmh.c
| | | |-rmh.h
| | | |-route.c
| | | |-route.h
| | | |-stbroadcast.c
| | | |-stbroadcast.h
| | | |-stunicast.c
| | | |-stunicast.h
| | | |-unicast.c
| | | `-unicast.h
| | | |-route.h
| | | |-stbroadcast.c
| | | |-stbroadcast.h
| | | |-stunicast.c
| | | |-stunicast.h
| | | |-unicast.c
| | | `-unicast.h
注:
原理见《Rime&Contiki Chameleon》
- 关于Contiki中Rime代码的一些分析记录
- contiki的rime协议分析-abc
- contiki的rime协议分析-channel
- Contiki——Rime Stack分析
- Contiki——Rime缓冲区packetbuf分析
- Rime&Contiki Chameleon
- Contiki-NETWORK层:Rime与uIPv6(6loWPAN)的关系
- contiki SLIP代码分析
- 关于可靠编写代码的一些记录
- Android中关于Proguard的一些记录
- Contiki网络协议栈uIP和rime
- Contiki源码阅读之节点Rime地址
- Contiki协议栈Rime:引子introduction
- Contiki协议栈Rime:包属性packetbuf_attr
- Contiki协议栈Rime:通道channel
- Contiki协议栈Rime:变色龙接口chameleon
- Contiki协议栈Rime:匿名广播abc
- Contiki协议栈Rime:广播ibc
- 1011. World Cup Betting
- 使用画刷画图
- java 使用相对路径读取文件
- 中国互联网移动互联网消费者分析
- myeclipse8.5安装findbugs插件
- 关于Contiki中Rime代码的一些分析记录
- 分享一个GSM短信猫接口程序
- 【Android 开发教程】修改首选项文件的默认名字
- Contiki中Ctimer遗留的问题
- jstl完整标签库
- LigerUi中设置把设置日期选择框的【日期显示格式】!
- JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit error .
- FFMPEG CODEC使用总结
- 推动全方位数字转型