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

背景:目前边界路由器已经可以运转,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


编译通过后如下图所示:


反显色部分展示的是生成的对象文件。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值