查看: 6687|回复: 2

基于6LoWpan的Contiki在BPI-M2上安装编译成功,CC2530测试可用!

[复制链接]
  • TA的每日心情
    开心
    2016-11-18 11:38
  • 签到天数: 57 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2015-9-29 15:35:40 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 恶魔花花 于 2015-9-29 15:34 编辑

    在开始这篇教程之前,首先要感谢一下阿莫电子论坛的qingwei_cui大神开创了国内contiki在CC2530上移植的先河。
    开始之前先介绍一下什么是6LoWpan和Contiki!

    一、6LoWpan
    6LoWPAN是一种基于IPv6的低速无线个域网标准,即IPv6 over IEEE 802.15.4的通信协议
    6LowPan工作组的研究重点为适配层、路由、报头压缩、分片、IPv6、网络接入和网络管理等技术,目前已提出了适配层技术草案.其他技术还在探讨中。
    6LowPan技术底层采用IEEE 802.15.4规定的PHY层和MAC层,网络层采用IPv6协议。由于IPv6中,MAC支持的载荷长度远大干6LowPan底层所能提供的载荷长度,为了实现MAC层与网络层的无缝链接,6Low-Pan工作组建议在网络层和MAC层之间增加一个网络适配层,用来完成包头压缩、分片与重组以及网状路由转发等工作。
    说白了,6LowPan就是一种和比zigbee高级一点的,可以将设备接入互联网的一种通信协议。
    二、Contiki
    Contiki是一个开源的、高度可移植的多任务操作系统,适用于联网嵌入式系统和无线传感器网络,由瑞典计算机科学学院(Swedish Institute of Computer Science)的AdamDunkels和他的团队开发。Contiki完全采用C语言开发,可移植性非常好,对硬件的要求极低,能够运行在各种类型的微处理器及电脑上,目前已经移植到8051单片机、MSP430、AVR、ARM、PC机等硬件平台上。Contiki适用于存储器资源十分受限的嵌入式单片机系统,典型的配置下Contiki只占用约2Kbytes的RAM以及40Kbytes的Flash存储器。Contiki是开源的操作系统,适用于BSD协议,即可以任意修改和发布,无需任何版权费用,因此已经应用在许多项目中。
    -----------------------------------------------------------------------------------------------------------------------------------------
    然后,我们来看一下怎么将Contiki安装到BPI-M2上,然后编译成功,在移植到CC2530上。
    1、在BPI-M2上安装Contiki
    1. git clone git://contiki.git.sourceforge.net/gitroot/contiki/contiki
    复制代码
    安装contiki.png

    2、定制SDCC
    CC2530需要SDCC的支持才能完成编译。
    先安装SDCC:
    1. sudo apt-get install sdcc
    复制代码
    安装SDCC.png

    然而,我们下载的并不是SDCC的安装包,而是SDCC的源代码,需要我们把它编译成一个SDCC安装包。
    在编译之前我们需要做一些准备工作:
    安装Boost C++Libraries:
    1. sudo apt-get install libboost-graph-dev
    复制代码
    安装C  LIB.png

    安装srecord:
    1. sudo apt-get install srecord
    复制代码
    安装SRE.png

    然后将目录调至 opt:
    1. cd /opt
    复制代码
    然后通过SVN下载SDCC:
    1. sudo svn co -r 7100 https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc/
    复制代码
    这里的7100为SDCC的版本号,建议使用7100的,也可以使用其他版本。
    下载完成后可以在 opt/sdcc目录下看到以下文件:

    optsdcc.png

    下载完成后需要对SDCC进行配置以支持CC2530,先输入命令:
    1. sudo nano /opt/sdcc/device/lib/incl.mk
    复制代码
    将最后一行MODELS = small medium large修改为:MODELS = small large huge

    small lage.png

    接着修改TAGETS配置:
    1. sudo nano /opt/sdcc/device/lib/Makefile.in
    复制代码
    将TARGETS += models small -mcs-stack-auto替换为TARGETS += models  model -mcs-stack-auto

    stack.png

    然后执行配置的三个步骤:configure、make、make install ,在这之前,需呀安装一些必要的工具:
    安装bison:
    1. sudo apt-get install bison
    复制代码
    安装flex:
    1. sudo apt-get install flex
    复制代码
    然后将路径调至  /opt/sdcc:
    1. cd /opt/sdcc
    复制代码
    进行配置:
    1. sudo ./configure
    复制代码
    进行编译:
    1. sudo make
    复制代码
    进行安装:
    1. sudo make install
    复制代码
    注意:上面的MAKE过程可能需要时间较长,发热较严重,建议大家谨慎操作!
    然后进行configure使SDCC支持8051:
    1. sudo ./configure --disable-gbz80-port --disable-z80-port --disable-ds390-port \
    2.   --disable-ds400-port --disable-pic14-port --disable-pic16-port \
    3.   --disable-hc08-port --disable-r2k-port --disable-z180-port \
    4.   --disable-sdcdb --disable-ucsim
    复制代码
    然后再执行一遍make 和make install:
    1. sudo make
    2. sudo make install
    复制代码
    安装完成后可以用:
    1. sdcc -v
    2. which sdcc
    复制代码
    来验证是否安装成功。命令分别对应的是查看SDCC的版本,以及查看SDCC可执行文件的路径。
    最后就可以进行编译和下载了,在这里我们可以对Contiki提供的例子进行编译和下载:
    编译前将目录调整至  home/contiki/examples/cc2530dk
    1. cd home/contiki/examples/cc2530dk
    复制代码
    然后随便编译一个目录下的例子文件,在这里我选的是blink-hello.c
    1. make blink-hello
    复制代码
    编译完成后在当前目录下会生成一个blink-hello.hex文件,然后我们将这个文件发到windows上,我是用邮箱发的,使用windows上的smartRF Flash Programmer将hex文件下载到CC2530上,上电以后用USB转串口线将CC2530和电脑相连接,打开电脑上的串口调试软件,波特率设置为115200,如果移植成功的话,在窗口调试软件上将会收到如下信息:

    %@8[UP`%XI}VC51ZHOUOPP6.png

    -------------------------------------------------------------------------------------------------------------------------------------
    其实这个过程在Linux系统上都是可以实现的,比如在Ubuntu系统上也可以,当然在树莓派上也是可以实现的。除此之外也有基于Ubuntu的Instant Contiki系统,Instant Contiki系统已经集成了Contiki的代码库与开发环境,只需要简单的配置就可以实现上述的功能。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-2-7 11:49
  • 签到天数: 2193 天

    连续签到: 33 天

    [LV.Master]伴坛终老

    发表于 2015-9-29 21:50:52 | 显示全部楼层
    赞一个,收藏了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-18 11:38
  • 签到天数: 57 天

    连续签到: 1 天

    [LV.5]常住居民I

     楼主| 发表于 2015-9-30 08:55:13 | 显示全部楼层
    fjjjnk1234 发表于 2015-9-29 21:50
    赞一个,收藏了

    哈哈!谢谢支持!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 19:40 , Processed in 0.135870 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.