SMeshLink Contiki 开发指南
1
Contiki 开发教程
——基于 iDuino-mini 和 SMeshStudio 的快速入门指南
傅骞博士 fuqian@smeshlink.com
一、 Contiki 简介
Contiki 是一个适用于单片机的嵌入式开源操作系统,它具有移植方便、支持 TCP/IP
网络、自带多线程能力、完全使用 c 语言编写、内存占用极小等特点,再加上它是当前唯一
一个比较完善的实现了 6LowPan(IPV6 在无线个域网上传输)相关协议,并且支持 RPL
多跳标准的嵌入式操作系统,所以它被公认为物联网研究和应用的首选操作系统。具体来说,
它有以下优势:
硬件平台支持广泛:当前 contiki 已经可以在多个架构的微处理器上使用,简单列
表如下:AVR,MSP430,ARM(stm32,lpc1768,mc13224),8051(cc2530,cc2430)等;
网络协议支持广泛:当前 contiki 已经实现了以下网络协议:TCP/IP V6/V4、HTTP、
DNS、802.15.4、6LowPan、RPL、COAP;
可方便移植的精简内核:contiki 的多线程并没有使用任何硬件功能,完全使用软
件编码实现,而且 contiki 采用精简内核,操作系统只负责系统调度,并没有硬件
抽象层、所以移植起来非常方便;
极低的内存使用:contiki 系统采用 protothread 多线程模型,RAM 使用只需 2k,
FLASH 使用只需 40k。
从用途上来说,由于 Contiki 已经封装了各类复杂的网路协议,而且全部都是符合 IETF
相关标准的开放协议,所以用户可以直接把它应用到各类项目中,并享受它的标准化带来的
应用的方便性;另一方面,也正是因为 Contiki 实现了多种网络协议,并且代码都是开放的,
所以也非常适合研究者在其之上进行进一步的研究,并享受它的开放性带来的研究的便捷性。
所以,不管是应用者还是研究者都有必要了解 Contiki 系统。