您的位置:首页 > 其它

11、congtiki系统开发-coap功能测试-知识储备

2014-11-04 07:25 239 查看
背景:目前边界路由器已经可以运转,6lowpan连接互联网的网络环境已经建立起来,COAP作为应用层协议,需要深入了解,这一节先做知识储备,计划从以下几个方面进行学习和探索:

1、COAP的定义和相关应用

1)contiki-2.6 cc2530平台 添加coap应用重启问题

2) Contiki:RDC &CoAP

3) uIP
IPv6 specific features

4) Contiki Makefile结构

5) Contiki移植—cfs-coffee 文件系统在pc上的验证

6)应用层开发相关的开源函数库

2、Contiki 源代码结构与APP应用添加方法 【摘自网络

Contiki 是一个高度可移植的操作系统,它的设计就是为了获得良 好的可移植性,因此源代码的组织很有特点。

本节简单介绍 Contiki 的

源代码组织结构以及各部分代码的作用。

Contiki 源文件目录可以在 Contiki 官网下载的源代码中找到。打开 Contiki 源文件目录,可以看到主要有 apps、core、cpu、doc、examples、

platform、tools 等目录。下面将分别对各个目录进行介绍。 1)Core:此目录下是 Contiki 的核心源代码,包括网络(net)、文件

系统(cfs)、外部设备(dev)、链接库(lib)等等,并且包含了时钟、 I/O、ELF 装载器、网络驱动等的抽象;

2)Cpu:此目录下是 Contiki 目前支持的微处理器,例如 arm、avr、 msp430 等等。如果需要支持新的微处理器,可以在这里添加相应的源 代码;

3)Platform:此目录下是 Contiki 支持的硬件平台,例如 mx231cc、 micaz、sky、win32 等等。Contiki 的平台移植主要在这个目录下完成。

这一部分的代码与相应的硬件平台相

4)Apps:此目录下是一些应用程序,例如 ftp、shell、webserver 等 ,在项目程序开发过程中可以直接使用。使用这些应用程序的方式为,在项目的 Makefile 中,定义 APPS = [应用程序名称]。在以后的示例中会具体看到如何使用 apps;

5)Examples:此目录下是针对不同平台的示例程序。Smeshlink 的示例程序也在其中;

6)Doc:此目录是 Contiki 帮助文档目录,对 Contiki 应用程序开发

很有参考价值。使用前需要先用 Doxygen 进行编译;

7)Tools:此目录下是开发过程中常用的一些工具,例如 CFS 相关 的 makefsdata、网络相关的 tunslip、模拟器 cooja 和 mspsim 等等。

为了获得良好的可移植性,除了 cpu 和 platform 中的源代码与硬件

平台相关以外,其他目录中的源代码都可能与硬件无关。编译时,根据

指定的平台来链接对应的代码。

2、contiki系统中coap应用程序的编译

此处以IPV6-UDP为例进行测试,修正Makefile文件如下:

DEFINES+=PROJECT_CONF_H=\"project-conf.h\"

DEFINES+=WITH_COAP

DEFINES+=APPS

HAVE_BANKING=1

UIP_CONF_IPV6=1

UIP_CONF_RPL=1

PROJECT_SOURCEFILES += ping6.c

CONTIKI_PROJECT = client server

all: $(CONTIKI_PROJECT)

APPS = rest-coap

CONTIKI = ../../..

#include $(CONTIKI)/apps/rest-http/Makefile.rest-http

#include $(CONTIKI)/apps/rest-common/Makefile.rest-common

#include $(CONTIKI)/apps/rest-coap/Makefile.rest-coap

include $(CONTIKI)/Makefile.include

编译通过后如下图所示:



反显色部分展示的是生成的对象文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: