zephyr学习笔记---前言

ARM 52浏览

一直在找适合用于教学嵌入式操作系统。在我心目中,适合用于教学的操作系统应具备如下特点:

  • 实时操作系统。了解实时操作系统,再去学习非实时操作系统,会更容易,反之不行。
  • 完全开源。
  • 规范的代码、详尽的注释。
  • 完善的机制。中断、线程、任务、Idle、优先级的可配置数量的多少、可按时间片轮流执行线程或任务、信号量、邮箱、事件等等。越多越好,掌握这些机制,再去学其它操作系统就不会太困难了。
  • 支持尽可能多的网络协议栈。其中必须有6LowPan
  • 将来会在物联网操作系统可以占有自己的一席之地。
Contiki是非实时操作系统,实时操作系统中的那些机制它几乎都没有,用于教学的确是不合适。当初学Contiki主要原因是它实现了6LowPan,也是在为将来学华为LiteOS作准备。
之后学TI-RTOS也是因为大部分的教学设备用的都是TI的芯片,手里也有TI公司的开发板,也是在为LiteOS作准备。其实TI-RTOS还是很好的,但它并非完全开源,只支持自己公司的芯片,不支持6LowPan(好象所有的6LowPan协议栈都源自contiki),了解下还是不错的,作为教学那是万万不行的。
等了一年,华为LiteOS终于开源了,饼画得很大,但放出来的东西真是少得可怜。经过一个时间观察,我终于痛苦地发现,华为公司是一个典型的传统企业,非互联网企业,他不具备互联网思维。所以个人并不看好LiteOS的前途。当然,这不影响华为在我心目中的地位,他依然是最值得中国人尊敬的企业。
然后,只能继续找了,现阶段,FreeRTOS市场占有率是最高的,但不支持6LowPan;mbed-OS支持6LowPan,这些操作系统一直在关注,其中就包括了zephyr。
前几天突然发现zephyr已经支持arm系列下的近30块开发板了,这发展速度,光速啊!赶紧数了下,支持各系列MCU共45块开发板。这才发布短短一年时间,看来支持者众啊!几乎囊括了所有的物联网相关网络协议,可裁剪、灵活配置,功能强大,这不正是我要找的操作系统嘛!现在,国内没什么人关注zephyr,但嵌入式操作系统必定是将来的一个趋势,个人相信,将来它会如Linux一样光芒万丈。
之所以会知道zephyr,是缘于博客里的一个网友,他原本研究contiki,之后转去zephyr。已经做了大量工作,真正的大牛啊。以下是他的博客网址:
今天开始,我也加入zephyr行列。由于特殊原因,现在已经无法象之前那样有大块时间去学习了。以后只能使用零碎时间,而今迈步从头越,慢慢爬吧。