进入新年,华为嵌入式操作系统LiteOS 1.0版终于发布了
http://developer.huawei.com/cn/ict/Products/IoT/Components/LiteOS/content/API
这一次仅开放了基础内核部分,其余部分说是陆续开放,可以看到,网络那一块和Contiki基本一样,估计是移植Contiki里的东西。希望不是这样吧,如果是这样那就太令人失望了。我之所以放弃再学习Contiki,一个重要原因就是它的路由部分写得一塌糊涂。华为做交换机起家,应该不会犯这样的错误。
这个发布整整迟到了一年。本以为华为不准备开源了,但最终还是来了。
之前一直在等华为的LiteOS,毕竟是国产操作系统,以当今如此强大的中国,华为又是中国最强大的、最有前途的公司、中国高科技的领羊,没有理由这款操作系统不会成功。之前一直研究Contiki和TI-RTOS,其实都是在为学这款操作系统做准备。但是但直到昨天看到这款操作系统,还是不免有些失望。
首先聊聊这几款操作系统的区别:
Contiki是一款非实时操作系统,它的最大优点是内存占用少,这一点是其它操作系统根本没办法比拟的。最大缺点是非实时,无任务优先级,无信号量,无邮箱。只有一个抛高,但还是无法保证时间上的精准。导致的后果就是网络连接变慢。当然,如果仅用于传感器的数据采集,这不是什么问题。另外,文档偏少,给学习带来很大难度,要想顺畅使用,只能阅读源码了。
TI-RTOS是一款实习操作系统,该有的机制全都有了,软中断、任务优先级、IDLE、信号量、邮箱、事件。还有优先级反转解决方案。代码规范,注释、文档详尽。并且,它的网络连接速度,传输速度、丢包率等参数是非常优秀的。尽显高科技大公司风范。
LiteOS,先看看框架图:
本人对TI-RTOS了解有限,LiteOS只看了文档,以下只是个人片面看法:
LiteOS是实时操作系统,这点肯定是比Contiki好多了,相比TI-RTOS少了软中断、邮箱。多的东西是相同优先级任务可分配时间片轮流运转,而TI-RTOS则需要手动实现。看LiteOS文档,并未给出优先级反转的处理方法,从文档中推断出它的处理方法很简单,拥有互斥资源的任务无法抢占,甚至无法更改任务优先级。或者这也是不错的处理方法。
LiteOS代码注释基本没有,文档简单,完全没有显示出中国高科技公司领头羊的风范,未免让人失望。一个号称十数万工程师的公司把这事做好不难吧。又或许华为对这东西并没有我们想象的那么重视。开发板只有一块,网上并无购买,无针对低功耗无线MCU的开发板。
思来想去,暂时还是不在上面花时间了吧。发布迟到一年,对公司信用是一个打击,现在这款操作系统关注度几乎为0。等什么时候LiteOS移植到了CC2650上再看看,希望华为能对这款产品更加重视吧,早日统一物联网操作系统平台。