- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Contiki学习笔记(重写版)
Contiki 学习笔记(重写版)
Jelline Blog :
新个人独立博客:
如果您引用本文的内容,记得添加引用:
[1]苏铅坤.无线传感器网络文件系统与重编程技术研究[D].电子科技大学.2013.
2.1 运行原理 3
2.2 CONTIKI 内核 5
2.2.1 Protothreads 5
2.2.2 进程控制块 6
2.2.3 进程调度 8
2.2.4 事件调度 12
2.2.5 定时器 16
2.3 文件系统COFFEE 18
2.4 动态加载 18
2.5 RIME 协议栈 19
2.5.1 协议栈结构 19
2.5.2 建立连接 20
2.5.3 数据发送 22
2.5.4 数据接收 22
2.5.5 释放连接 23
2.6 本章小结 24
I
图表目录
图2- 1 CONTIKI 运行原理示意图 4
图2- 2 THREAD 与PROTOTHREADS 栈对比示意图 5
图2- 3 CONTIKI 进程链表PROCESS_LIST 7
图2- 4 CONTIKI 进程状态转换图 8
图2- 5 函数PROCESS_START 流程图 10
图2- 6 CALL_PROCESS 流程图11
图2- 7 EXIT_PROCESS 流程图 12
图2- 8 CONTIKI 事件队列示意图 13
图2- 9 PROCESS_POST 函数流程图 14
图2- 10 DO_EVENT 函数流程图 15
图2- 11 TIMER 链表TIMER_LIST 示意图 16
图2- 12 ETIMER_SET 流程图 17
图2- 13 ETIMER_PROCESS 的函数THREAD 流程图 18
图2- 14 RIME 协议栈结构框图 19
图2- 15 OPEN 、COON 、CALLBACKS 对应关系 21
图2- 16 RECV 函数流程图 23
II
Contiki 学习笔记(重写版)①
Contiki 是由瑞典计算机科学研究所开发专用的网络节点操作系统,自2003 年
发布1.0版本以来,得到飞速发展,成为一个完整的操作系统,包括文件系统Coffee、
网络协议栈uIP 和Rime 、网络仿真器COOJA,并于2012 年发布全新版本2.6 。
Contiki 由标准C 语言开发,具有很强的移植性,已被移植到多种平台,包括8051、
MSP430 、AVR 、ARM ,并得到广泛应用。除此之外,Contiki 将Protothreads 轻量
级线程模型和事件机制完美整合到一起,Proththreads 机制使得系统占用内存极小,
事件机制保证了系统低功耗,非常适合资源受限、功耗敏感的传感器网络。
本工作开展之初,Contiki 最高版本为2.5 ,除了几篇官方发表的论文及少许的
介绍性资料外,没有详细的参考资料。为了深入理解无线传感器网络中的文件系
统和重编程技术,不得不深入分析源码重现Contiki 的技术细节。本文关于Contiki
所有讨论是基于2.5 版本。
2.1 运行原理
嵌入式系统可以看作是一个运行着死循环主函数系统,Contiki 内核是基于事
件驱动的,系统运行可以视为不断处理事件的过程。Contiki 整个运行是通过事件
触发完成,一个事件绑定相应的进程。当事件被触发,系统把执行权交给事件所
绑定的进程。一个典型基于Contiki 的系统运行示意图如下:
① 分析Co
文档评论(0)