微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > contiki开启记录

contiki开启记录

时间:10-02 整理:3721RD 点击:
昨天看到 lyzhangxiang 发的帖子,经过昨晚和他谈了谈,后来放弃了纠结。
决定不管怎么滴,先玩玩contiki吧。

(什么?你和我一样纠结?你听说了contiki的多任务机制不是基于 汇编写的?但是很多os以及c库的作者都觉得这是实现任务跳转的最好实现方案?
.......
算了,不要太纠结,先开始吧。)

然后,然后当然是首先安装contiki

因为昨天看了一下 contiki的首页(不要认错了,是 contiki-os.org)
这个东西的安装还是挺复杂的,主要是为了用的方便点,鉴于我最近一段时间的网速都会很悲剧,所以我决定这个时候下载,一边试着装,回家好照样画葫芦。(那网速,查查过程中遇到的问题怎么解决还有戏,想下载,那是门都没。)

乖乖,首先前面说了,contiki的安装属于(除非我想直接从源码去移植什么的......但这样比较麻烦还是算了) 安装麻烦,使用会比较方便那种,它提供了一个比IDE还要 一体化集成的工具链,就是那玩意下起来太痛苦,居然有 2G......

所以,它说,让我们点完下载去喝咖啡,而我呢则打算喝茶。
并且继续工作。

无论任何时候我都习惯看 官方的 Get Started来开始,除非是有比较好的中文,但contiki目前的状态,还是算了吧.....

正如昨晚和张祥聊了聊,他说有个什么国内最专业的(卖开发板的),那套工具箱居然要上万,我了个去......虽然我说既然是玩就不要太在意价格,但也不是这么个不在意法啊。
何况就是我自己查到的那家,也要 大几千大几百的,想想,我的乖乖,我还是先玩玩这个系统吧。记得昨天看了看移植,至少在系统本身部分还是不太难的,只是要移植一个 定时器而已。至于串口做console什么的,嘿嘿,我自己也在做,还怕移植么

http://www.contiki-os.org/start.html

别怕,虽然2.04G,一个上午大概也差不多了~~

话说回来,那个还要vm,太恐怖了,我不喜欢这哥们。
不过ubuntu的话倒是好说,我有ubuntu系统.......

9.3%
迅雷的速度还是杠杠的,乖,让他继续下。

喝茶,工作~~

板子都发出去了
不知道要不要加钱 还在审核

?什么板子?

神速呀

取消了。。
半孔工艺要多收三百,坑啊。。。

那接下来咋办呢?

再找找找支持半孔拼板的PCB厂家吧 四层板

at86rf212 模块

又是一周左右过去了。
今晚终于决定好好看看contiki的资料。
前天晚上在图书馆不抱什么希望的翻,没看到相关的书,大概有英文的,但中文没有,图书馆里都找不到那看来就没戏了。

于是决定看看网页上的资料,昨晚开始这网络似乎修好了,速度杠杠的,不担心开英文官网了。
习惯性的我希望找到马上可以上手的,而我手头都是stm32的器件,自然就跑去找stm32的,所幸国内当前这个是绝对大主流。
找了找,最终还是决定看官方的 英文文档。

这一看不要紧,真的是发现自己的无知。

首先,我经常是想研究研究 多任务机制的实现方法的。
所以实际上,我现在想到的事情居然是, 得,咱contiki就contiki,多任务归多任务,最多为这个我研究 FreeRTOS吧。

可是今天粗粗开始看那份要命的330页的文档(当然从目前来说,现在需要仔细看的估计不会超过十分之一的篇幅)
我就发现了不少的信息

第一,没错,最初我的确是在资料里看到 contiki的多任务机制采用的是 一个叫 protothread的 轻量级多线程机制。
它轻量到什么程度呢?
我曾经研究过一个下午这个东西。
它其实是一套宏,并不是真正意义上的 多任务跳转,这让我很不得劲。

而后我自己试图利用自己的C语法,考虑考虑如何实现的时候,最终发现,(在C层面上)我怎么也想不到一个实现方案。
后来看 PJP的 C标准库时,我看到了 PJP的评论
多任务机制并非不可能用C语言实现——比如,protothread就某种程度上实现了。
但是,最实际的实现方案仍然是 汇编。

这我就更郁闷了。
即使我以后全线使用arm,stm32我可以用统一的汇编,可我不会ARM汇编啊,事实上除了51,我什么汇编都不会。

这段时间,我还试图翻过 M0权威参考这一类的书,我只是想找到一个学习或者了解ARM汇编的比较经济的方案。

最后仍然没找到,只是打算靠,看一个真正开源的 RTOS来参考。

结果,我终于无奈的决定 “contiki归contiki,多任务归多任务 ”的时候,当我真的开始看contiki的时候,却发现,原来contiki的多任务机制实现有两套方案

其中一套确实是我已经了解过的那个 不能使用(估计是独立)堆栈的 protothread,但同时它也有一个可选的 multi-thread
虽然今晚我还没看全部,但从资料来看,这的确是一个与具体的CPU类型有关的东西,那想必是跑不了要汇编级实现的。

此外就是,contiki自然也会有一套 内存管理,这也是我所感兴趣的——是的,我所希望的就是把这些有用的部件都独立抽取出来使用......

也就是说,我不需要大老远跑去什么 一个归一个 了。

之所以在这里感慨,不仅某种程度上 总结刚刚看到的关于contiki的官方介绍的笔记内容,同时也是感慨,下次不要想太多,还是要先了解,先尝试再做结论。

接下来这大半个月恐怕会相当忙,但也不是忙到天天晚上都要加班那种。
此前的手机DIY还卡着。
结果还是很作孽
当我把 底层的按键和LCD显示全准备好,并打算反正这回工作也是要做一个 简单的 HMI显示框架。
也就是说我可以顺带完成 这个 人机界面。

那我就可以接着把GPRS部分再做进去了,那就有望收尾了。

然而今天我突然想了想,奶奶的,就当前已经做好的部分,我要用来调试 GPRS已经很简单了!
最简单的方法就是 一个按键单步运行 GPRS命令——事实上,现在在我手上,以及在我的理解里,串口或者12864屏,在某种程度上已经是一回事了......

有点乱了,打住。
简单的说就是,我再也不必要做漫长的等待,给自己一个拖延症的理由了!

因为上班时间会加速做HMI工作,我也不打算在 业余时间,在已经完成封装好的 底层 按键 LCD显示上的基础上同步做 HMI,而是直接用现成的条件,直接进入调试 GPRS

如果没记错,我的那张卡应该快停机了.......

晚安~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top