谈一谈国产物联网操作系统rt-thread

大憨熊 提交于 2020-11-30 06:24:05

工欲善其事,必先利其器



      关注rt-thread已经两年多了,从2017年的第一次接触到现在已经能够熟练的使用这个操作系统工具了。现在我想谈一谈嵌入式与操作系统的理解,将自己的想法和大家分享。


01

初次接触rt-thread

       2017年以前,对于rtos最多接触到的还是ucos,freertos之类的实时操作系统。当时公司使用的是君正x1000硬件。君正x1000官网上提供的是Linux版本的。由于Linux的启动速度慢,系统庞大。所以看到rt-thread的bsp包中有支持x1000平台,所以对这个系统进行一段时间的探究。

      最开始的时候,x1000的bsp包中只有很少的外设驱动,而我主要的工作就是在rt-thread框架的基础上调通摄像头驱动和语音驱动。所以在很长一段时间内都在学习和思考rt-thread的基本使用,包括驱动框架和系统调度方面的问题。后来对这个系统慢慢的有了一些认识。rt-thread的在2017年的优势就是这些,支持一些国产的芯片和一些相关的bsp包,不需要自己进行移植,加快了产品成型的速度。并且驱动框架也很清晰,便于开发。还有就是如果之前有过Linux代码编写经验的工程师,基本上上手很快,代码风格完全的一致。所以从Linux转到做物联网,学习rt-thread是一个不错的选择。

      再谈一谈rt-thread在项目上的使用的问题。其实rt-thread系统内核基本上已经比较完善,没有太多的bug。但是君正x1000的bsp包中的bug就比较的让人难受了。其中小内存管理和slab内存管理切换后系统运行起来就卡死的问题,音频框架不能打断的问题,以及后面的串口底层的接收的问题。其实这只是一个很小的部分,基本上在做出产品的过程中,也摸索了不少解决问题的办法。由于君正x1000的rt-thread的bsp维护的并不是很好,自己也在这个基础上下了很大的功夫。所以在用到bsp包的时候,一定要非常熟悉rt-thread的内核代码,这样即使出现了故障也能很快的定位问题所在。

      后来在熟悉了rtt内核代码后,就在该系统上做一些业务逻辑。一方面完善产品功能,另一方面继续学习和跟进rtt的动态信息。

02


rt-thread的发展过程

      2017年可以说是rt-thread的转折点,将国产rtos操作改为国产物联网操作系统。针对点变成了物联网操作系统。针对IOT方向,做了很多事情,首先的网络框架的重点推进,然后完善env工具使用,使得裁剪内核可以像Linux那样在图形化界面中进行操作。这样和Linux操作方式基本上一致。构建工具采用scons,这种构建工具比Makefile要方便,这是一种优势。

     工欲善其事,必须利其器。我认为得力于更加方便的工具的使用,使得rtt上手比较容易。也提高用户体验。

     记得2018年,rtt一方面大力发展iot方面,贡献许多很好的东西,比如网络方面,提供AT指令框架,WIZNet网卡指令框架。并且大量支持软件包的扩充。各种软件包的加入让系统更加健壮。

      在社区建设方面,文档的完善是非常重要的,rtt在这一点上确实做得不错,文档很详细,基本上认真看一遍然后操作就可以使用了。


03


使用rt-thread有什么好处

      说到底其实rtt只是一个工具而已,就像其他的rtos一样。得益于众多的软件包的提供,可以省很多事情。写很多功能不必每次都自己重构或者自己移植。除了写协议和业务逻辑之外,底层都可以按照rtt的驱动框架进行。降低程序的耦合性。

       另外开源精神的也是应该提倡的,大家共同维护一份好的代码,这将会让系统更加的稳定。所以我觉得,国内的工程师也应该在有开源精神,支持国产操作系统的发展,做出自己的贡献。从长远来看,使得rtt的生态更加繁荣与昌盛。

       另外学习使用rtt可以让自己学习更多更好的编码技巧,因为各种软件包的提供让工程师有更多机会接触更好的代码,阅读代码的过程中,让自己学到很多技巧。

04


对rt-thread未来的思考

     目前国产操作系统陆续的出现,华为的liteos,阿里的alios,腾讯os,各种物联网操作系统出现也对rtt提出更高的要求和挑战。但是只要有繁荣的生态,并且不断完善的软件包生态,这样就会让rtt社区有更多的用户。

     rt-thread一方面可以在文档和技术支持服务上做的更加的完善和平民化,让工程师更好的去使用这个系统。然后就是举办一些有意义的活动,让更多人知道和使用。

     还可以对于最新的risc-v芯片提供更好的操作系统。对于这种芯片定制的操作系统也是一片很大的市场。

     然后提供柿饼UI的技术宣传,可以让更多人了解柿饼UI的优势。针对目前的嵌入式GUI,目前开源的littlevgl很火,周立功的AWTK也不错,如果柿饼UI的界面更加友好,未必不会是一个非常好的选择方向。

     最后,我想说一句话:"追求卓越,成功就会在不经意间追上你"。

本文分享自微信公众号 - 嵌入式IoT(Embeded_IoT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!