阅读更多

1顶
0踩

开源软件

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

2014-06-09 09:52 by 正式记者 newer7 评论(0) 有11661人浏览
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整合的项目

  • chatbox 本地部署大模型 私有化部署

    chatbox 本地部署大模型 私有化部署

  • Delphi 12.3控件之pdfium-win-x86.rar

    Delphi 12.3控件之pdfium-win-x86.rar

  • 图神经网络中注意力机制的应用及其最新研究进展

    内容概要:本文详细探讨了图神经网络(GNN)与注意力机制的结合,特别是在图结构数据处理中的应用。文章首先简要介绍了图神经网络和注意力机制的概念,接着重点介绍了图注意力网络(GAT),以及其他几种基于注意力机制的图神经网络模型,如GATE、GaAN、RGAT等。文中还讨论了这些模型在节点分类、图分类、链接预测等任务中的具体应用,并指出了现有模型存在的问题及改进措施。最后,文章展望了未来的研究方向,强调了提升模型表达能力、增强可解释性和构建多尺度结构的重要性。 适合人群:从事图神经网络研究的科研人员、研究生及相关领域的从业人员。 使用场景及目标:① 提升图神经网络在处理复杂图结构数据时的性能;② 改善图神经网络的可解释性和可视化能力;③ 设计更高效的图注意力机制以应对大规模图数据。 其他说明:本文不仅回顾了图注意力网络的经典模型,还介绍了最新的研究成果,为未来的研究提供了有价值的参考。

  • CSDN博客之星:技术分享盛宴助力交流与品牌成长

    文案: “CSDN博客之星”是技术圈的年度盛事,助力博主闪耀成长!通过参与评选,你不仅能提升个人品牌、链接行业大牛,还能在创作与交流中精进技术。活动汇聚优质内容与活跃作者,为技术人提供展示舞台。无论你是资深博主还是新人,这里都有机会被看见、被认可。原创干货+粉丝互动,让你的技术分享更有影响力!快来加入,与同行共赴星光之约! (注:严格控制在100字左右,突出活动价值与参与收益,简洁有力。)

Global site tag (gtag.js) - Google Analytics