注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
dan158185的个人空间 https://home.eeworld.com.cn/space-uid-349284.html [收藏] [复制] [分享] [RSS]
日志

谈一谈玩Tinyos(2012年)和Contiki到现在(2530/2538)的感想

已有 1992 次阅读2015-12-1 10:26

1,结缘Tinyos
       媳妇强迫来到北京工作;她是保定人,离她家近,工作是zigbee行业,我从来北京到现在一直在这个单位,也正是这个关系,上网搜索了解到了TinyOS,怀念当时的谷歌,现
在的搜索都要代理翻墙了,Contiki那会不清楚出没出来,年轻冲动,看着国外TeloSB天价
的开发板,想着为什么不能移植到CC2530,于是开始了自己的2530TinyOS之旅,那个时
候6lowpan的代码固件也就是包头压缩解压缩刚刚出来,还是采用udp广播模式,没有相应
的路由支持,等到大约年底看到了RPL,心里很高兴,马上移植测试;后来的COAP出来,
植测试,天知道那会的边界路由还是ip-driver,tinyos开发者们自己写的一个串口转soc
ket(BLIP1.0),看了看觉得没什么用处,于是自己写了一个linux串口转socket,来实现2
530串口的直接firefox访问:链接接在这:http://tieba.baidu.com/p/2877735328
2530的驱动部分移植是我自己对照tinyos的tep文档自己测试修改的,当时最初选择了keil
编译器,现在还是回归了IAR,SDCC也可以,,懒得去弄了;

2,移植 到2530的痛苦
      植过程是痛苦的,随着路由协议不断的推出新版本,2530各种捉襟见肘,TeloSB也招架不住了
2530(8K RAM)或者TeloSB(10K RAM),当然还有当时红极一时的(micaz,micaz2早就退出了,
内存更小,没记错好像是4K),于是整天的裁剪2530代码内存申请,8051的内核,IAR对lib6lowpan,
coap等库源码支持性不好,很多需要自己去调试修改,举个简单的例子,我到现在也搞不清楚是不是我
的IAR优化等级是最高的缘故,一个函数的形参是bool的话,函数体执行判断他是true或false都没用,
始终认为是false,如果改成uint8就行了,要说是代码写法问题,可是其他的函数形参bool都可以,唯独
这一个函数当然也是我玩2530的一个个例,现在大家下载到的我的2530的源码,是付出了很多的时间
调试的;
      想2530既然老是要裁剪并且使用IAR,为什么不能用一款cortex-m3来做呢;首先想到的是stm32w108;
但是对ST做zigbee的经验不太敢相信,好在2538出来了,好吧,开始淘宝买2538板子;买到了板子,自己
再买了XDS100V3,发现我买的板子和我买的编程器 JTAG口对不上,板子卖家不是标准的JTAG口接法,还需
要买转接板,而且代码神马的也没有给我,牛脾气一下子就上来了,让我媳妇自己画2538板子,这两块板子直接
扔了,我这人淘宝买东西从来不退货,后来媳妇的板子做回来,使用网上买了那个长的特别像JLINK的XDS100
V3,发现不了芯片,媳妇急了,检查硬件怎么也没问题,联系仿真器技术支持,好吧,销售转支持,电话第一次
还接,说不清楚,后面直接没接过;重新购买北京一家的XDS100V3,下载成功,板子没有问题;想想干脆淘宝挂
上吧,至少给大家提供学习的选择。但是2530也不能扔掉吧,于是给大家弄了个虚拟机加yeti2方便大家入门!
3,移植2538到TinyOS
     内外找不见2538移植的资源的,国外github有一家公司做了,但是源码不开放,大哥别闹啊;好吧,从零开始
自己移植,这年头还是得靠自己,视频中大家看到的TinyOS部分视频,2530和2538的移植都是我自己一个人完成的

4,谈一谈TinyOS和Contiki的选择
       两者都非常优秀;见仁见智,我是两者都玩
       TinyOS我接触最早,也是现在认为比较舒服的系统,先不谈新秀RIOT,Contiki相对就没有那么有绅士感觉;
       如果是经验欠缺的可以玩TinyOS,官方的网站文档齐全,甚至齐全到每个例程都有网页介绍;例程源码中也都会
附上测试说明;如何安装测试需要的一些插件(从下载到安装到使用);对于系统组件网络等部分会提供单元
测试以及(**.py脚本)来解决用户的问题,从单元测试着手一步一步的查找问题;
        Contiki;先呵呵一下哈,我真正测试估计是做视频的期间;2.7版本源码一看2538的驱动就有问题,详情看我的帖子
上github看了一下,都3.0版本了,下载来看看,测试(可以看我的视频);打开源码一看,驱动目录倒还好,app
应用部分我就头疼了,怎么编译呢,亲,怎么测试呢,亲;新手完全摸不着头脑,上contiki官网找找吧,找了半天
也找不见有用的东西;哎,这玩意初学者难啃的;
        所以我视频中说TinyOS像商场,Contiki像集贸市场;指得就是对使用者的友好程度;

        到现在为止的例程视频,不管Contiki也好TinyOS也好,都是官方的源码
        contiki,测试最新版本3.0
        tinyos是现在github2015最新的代码,姑且叫2.2.13版本吧

以后我会补充APP的应用;
之所以用2538是因为:
1,  没有版权问题;不会使用IAR等破解版软件了
2,需要一个资源超过这些系统的经典平台的新平台
     看看TeloSB的垄断,心里就是不舒服,而且TeloSB节点并不能满足应用
     需求;不信大家可以去看看他的测试例程,tinyos官网 网页,一般COAP等协议
     有一句话:只在teloSB节点测试过;后面注意测试命令附近的小字,limit ram,资源所限
     resource只有某些;
3,GCC的编译让我使用很舒服,源码如coap等c库不用再去像2530自己修改了








本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章