阅读更多

1顶
0踩

开源软件

转载新闻 contiki:开源的物联网操作系统

2014-06-09 09:52 by 正式记者 newer7 评论(0) 有11599人浏览
Contiki 是一个适用于低内存的嵌入式系统开源的、高可移植、支持网络的多任务操作系统。采用 C 语言开发,包括一个多任务核心、TCP/IP 堆栈、程序集以及低能耗的无线通讯堆栈。

在一个较为典型的配置中,Contiki系统只需2Kb的RAM与40Kb的ROM。 Contiki包括了一个事件驱动的内核,因此可以在运行时动态载入上层应用程序。Contiki中使用轻量级的protothreads进程模型,可以在事件驱动内核上提供一种线性的、类似于线程的编程风格。


完整的Contiki系统包括以下特性:

  • 多任务内核
  • 每个应用程序中可选的先占式多线程
  • Protothreads模型
  • TCP/IP网络支持,包括IPv6
  • 视窗系统与GUI
  • 基于VNC的网络化远程显示
  • 网页浏览器
  • 个人网络服务器
  • 简单的Telnet客户端
  • 屏幕保护程序
Contiki特性:

1.  联网能力

Contiki 提供了完整的IP网络栈,包含UDP、TCP、HTTP等标准IP协议,还包含新的低功耗协议,如6LoWPAN、RPL、CoAP等。Cisco开发并贡献的Contiki IPv6协议栈完全通过了IPv6 Ready Logo program认证。

Contiki 支持IETF最新为低功耗IPv6网络制定的标准协议,包括6LoWPAN适配层、RPL多跳路由协议和REST风格的CoAP应用层协议等。

2.  快速开发

Contiki 应用程序是以标准C语言编写,开发快速、简单。使用 Cooja 模拟器可以不用借助硬件设备就能测试 Contiki 网络; Instant Contiki 提供了Linux下的一整套开发环境;Contiki Studio 则为Windows用户提供了一套良好的IDE。

3.  支持多种系统

Win32,native,TI CC2530,TI CC2430,TI MSP430,STM32,Atmel AVR,Freescale MC1322x,LPC2103 等

代码模块说明:

  • contiki/Makefile.include:通过Contiki构建系统,应用程序可以很容易地编译至任意目标平台,在不同的平台上使用应用程序非常简单。没有硬件设备?不要紧,用Cooja可以模拟任何支持的硬件设备!
  • contiki/core/loader/:Contiki 支持运行时的模块动态装载和链接。当应用程序需要在部署后改变自身行为时,这项特性非常有用。Contiki 的模块装载器能够对标准ELF文件进行装载、重新分配和链接。用于装载的ELF文件需要能够移除调试符号以减小文件大小。
  • contiki/core/lib/{memb,mmem}.[ch]:Contiki 是为只有KB级别内存的微型系统设计的,因此在内存使用上极为高效,同时提供了一套内存分配机制:内存块分配memb,托管内存分配函数memm,和标准C内存分配函数malloc
  • contiki/core/net/:Contiki 提供了完整的IP网络栈,包含UDP、TCP、HTTP等标准IP协议,还包含新的低功耗协议,如6LoWPAN、RPL、CoAP等。Cisco开发并 贡献的Contiki IPv6协议栈完全通过了IPv6 Ready Logo program认证。
  • contiki/core/net/rpl/和contiki/apps/erbium/:Contiki 支持IETF最新为低功耗IPv6网络制定的标准协议,包括6LoWPAN适配层、RPL多跳路由协议和REST风格的CoAP应用层协议等
  • contiki/core/net/mac/:在无线网络中,节点可能需要作为中继替其他节点传输消息。在Contiki中,中继节点(路由节点)也可以用电池驱动。Contiki采用的ContikiMac射频duty-cycling机制允许路由节点在中继间隙中进行休眠。
  • contiki/core/cfs/cfs-coffee.[ch]:Contiki为具有外部Flash存储的设备提供了一种名为Coffee的轻量级文件系统。应用程序不需要了解Flash扇区的底层操作就可以对外部 Flash中的文件进行打开、关闭、读取、写入、追加等操作。Coffee文件系统的效率能够达到原生Flash存储操作的95%。
  • contiki/apps/shell/:Contiki提供了一个可选的控制台和一套用于Contiki开发与调试的常用命令,并且支持类似Unix的管道功能。开发者也可以添加自定义命令。
  • contiki/core/net/rime/:对于带宽有限或者不能运行完整IPv6网络栈的环境,Contiki定制了名为Rime的无线网络栈。Rime栈既支持简单操作,例如向所有邻居或指定邻居节点发送消息,也支持一些复杂机制,例如网络洪泛、多跳数据采集等。Rime可以运行在休眠路由上以降低功耗。
  • contiki/core/sys/pt.h:Contiki采用了一种称为Protothreads的机制,提供良好的控制流的同时可以节省内存。Protothreads混合了事件驱动模型与多线程模型。在Protothreads中,事件处理过程可以阻塞等待特定事件的发生。
  • contiki/platform/和contiki/cpu/:Contiki支持多种微型平台,包括8051、MSP430、AVR以及许多ARM设备,还有其他一些平台。
  • contiki/sys/energest.[ch]:Contiki 的设计目的是在极端低功耗的系统中运行,这些系统甚至可能需要只用一对AA电池能够工作许多年。Contiki 为辅助这些低功耗系统的开发提供了功耗估计和功耗分析机制。
  • contiki/regression-tests/:为了确保Contiki正确工作,Contiki开发者们采用了一套每日回归测试,每天在Cooja模拟器中对Contiki的重要部分进行测试。回归测试脚本可以作为使用模拟环境的起点,也可以用于了解Contiki机制有哪些不同。
  • contiki/examples/:Contiki 源码树中有足够多的示例,包括如何进行网络编程、如何操作硬件设备等,展示了 Contiki 系统的方方面面。多数示例有相应的 Cooja 模拟环境。这些示例能够帮助开发者开始快速地开发自己的应用程序。
官方站点contiki-os.org

GITHUBcontiki-os

文章来自:乐嵌网
  • 大小: 81.5 KB
来自: 乐嵌网
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Spring粘合iBatis时多种配置SqlMapConfig.xml路径的方法

    Spring粘合iBatis的时候需要配置iBatis的SqlMapConfig.xml 对于项目多个模块而又想同时能管理起来,普遍的单个SqlMapConfig.xml就会显得臃肿 可喜的是Spring已经为大家想好这一切,提供能灵活的配置 ...

  • Spring配置iBatis多个SqlMapConfig.xml

    Spring粘合iBatis的时候需要配置iBatis的SqlMapConfig.xml   对于项目多个模块而又想同时能管理起来,普遍的单个SqlMapConfig.xml就会显得臃肿   可喜的是Spring已经为大家想好这一切,提供能灵活的...

  • iBATIS的配置文件sqlmapconfig.xml详细说明。

    转自:... >>>>>>sqlMapConfig.xml文件详解" href="http://blog.csdn.net/kardelpeng/article/details/6276643" style="color:rgb(202,0,0); text-decoration:none">i

  • ibatis+spring WEB-INF\SqlMapConfig.xml (系统找不到指定的路径。)

    http://www.iteye.com/problems/71112 改变applicationContext.xml中     classpath:SqlMapConfig.xml      ...classpath:SqlMapConfig.xml  ...然后把SqlMapConfig.xml放到src下面

  • Mybatis中SqlMapConfig.xml文件的解析

    SqlMapConfig.xml文件是mybatis的核心配置文件,mybatis框架在管理数据层的过程中首先加载该文件,读取使用该框架的一些核心约束条件。 该文件中的配置项及顺序如下(来自官方文档): configuration 配置 ...

  • ibatis mysql 配置文件详解_Ibatis—sqlMapConfig.xml配置文件详解

    xmlversion="1.0"encoding="UTF-8"?>PUBLIC"-//iBATIS.com//DTDSQLMapConfig2.0//EN""http://www.ibatis.com/dtd/sql-map-config-2.dtd">cacheModelsEnabled="true"enhancementEnabled="true"e...

  • Mybatis中的核心配置文件SqlMapConfig.xml详细介绍

    可以引用java属性文件中的配置信息如下 jdbc.properties代码如下: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8 jdbc.username=root jdbc.password=...

  • MyBatis学习(二)SqlMapConfig.xml配置

    MyBatis学习(二)SqlMapConfig.xml配置 示例工程:mybatis-demo2 本文档记录的是学习过程,主要描述了MyBatis中关于SqlMapConfig.xml的配置,版权所有 1、搭建MyBatis的开发环境 1.1、创建Maven项目 1)在IDEA中...

  • ibatis mysql 配置文件详解_ibatis - sqlMapConfig.xml配置文件详解

    目前提供了以下几种选择:1) JDBC 通过传统JDBCConnection.commit/rollback实现事务支持.2) JTA使用容器提供的JTA服务实现全局事务管理.3) EXTERNAL 外部事务管理,如在EJB中使用ibatis,通过EJB的部署配置即可实现自动...

  • spring+springmvc+ibatis框架整合

    导入jar包并加载到library中,修改编译路径到WEB-INF下classes目录下,spring的配置可以参考这个spring简单入门实例 注意:以下所给的代码都是整个步骤完成后的代码,有些中途测试不需要的先注释掉,不然可能会影响...

  • mybatis和spring整合的时候出现的问题--Failed to parse config resource: class path resource [SqlMapConfig.xml]

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed;...

  • MyBatis系列之(三):SqlMapConfig.xml全局配置文件解析

    经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置文件中都有哪些可以配置的东西:...

  • ibatis之——sqlMapConfig.xml配置文件详解

    sqlMapConfig.xml配置文件详解: <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd" > cacheModelsEnabled ="true

  • Struts+Spring+Ibatis

    前几天因为需要,将spring2、struts2和ibatis进行了整合,整合过程涉及到很多技巧,因此作为日志保存在此,以便今后查询。 各个框架在本项目内的作用: spring2:主要利用ioc,以及对事物的管理,减少硬性编码和...

  • Struts2+Spring+Ibatis

    做一个项目笔记,spring+struts2+ibatis整合的项目

  • Python项目-自动办公-59 PPT_pptx_在PPT中写入图片和表格.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • Python项目-实例-20 快递查询.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • 杂货产品检测43-YOLO(v5至v9)、CreateML、Paligemma、TFRecord、VOC数据集合集.rar

    杂货产品检测43-YOLO(v5至v9)、CreateML、Paligemma、TFRecord、VOC数据集合集.rarIPCV分配-V6 2024-01-21 6:10 PM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包括7012张图像。 家庭废物以createMl格式注释。 将以下预处理应用于每个图像: *像素数据的自动取向(带有Exif-Arientation剥离) *调整大小为640x640(拉伸) 没有应用图像增强技术。

  • 绝对给力的源码,在线音乐播放器完整项目.zip

    Android 毕业设计,Android 毕业设计,小Android 程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

Global site tag (gtag.js) - Google Analytics