专栏首页嵌入式iot谈一谈国产物联网操作系统rt-thread

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

工欲善其事,必先利其器

关注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),作者:bigmagic

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • rt-thread中的压栈与出栈分析

    本文主要想分析一下rt-thread中线程的压栈与入栈的相关操作。从而更好的掌握线程切换与线程恢复的相关知识。

    bigmagic
  • 嵌入式编程中的复杂指针的使用

    在C语言编程中,指针是最容易出错的地方,尤其是在很多指针同时出现的时候,看的眼花缭乱的,本文从嵌入式中常用的复杂角度进行分析,彻底搞清楚c语言中的容易弄错的指针...

    bigmagic
  • 树莓派3b在rt-thread上移植LittlevGL

    本文主要针对树莓派3b,对rt-thread上移植lvgl进行叙述。用最简单的办法,实现rtt移植lvgl的过程。只需要加几个文件,就可以在使用最新版本的Lit...

    bigmagic
  • Python其实超简单:只需记住3个、4类、5大、6种即可轻松入门

    再纠结对于初学者入门这块,一直没有想到很好的指导方法,今日很多群友问书籍获取,今日我就再发送一次书籍给广大Python爱好者。记着看最后!末尾有彩蛋

    用户2966292
  • PHP开源Apache日志分析工具收集与比较

    我们知道已经有很多像Awtstat这样的使用perl、c或者c++开发的强大的日志分析工具,但是同样也有很多使用PHP开发并且开源的日志分析软件,今天我就收集了...

    大江小浪
  • Hadoop HA 机制学习

    最近分享过一次关于 Hadoop 技术主题的演讲,由于接触时间不长,很多技术细节认识不够,也没讲清楚,作为一个技术人员,本着追根溯源的精神,还是有必要吃透,也为...

    温球良
  • 详解Hadoop HA 如何运作

    最近对于Hadoop技术有比较大的兴趣,但由于接触时间不长,很多技术细节认识不够,作为一个技术人员,本着追根溯源的精神,还是有必要吃透,也为自己的工作沉淀一些经...

    挖掘大数据
  • 手动实现jQuery Tools里面tab功能

    平时开发中用的Javascript类库都是jQuery,用到插件或者第三方类库能从jQuery Tools里面找到,基本不用其他的。当然有时同事喜欢使用jQue...

    八哥
  • 机器学习——线性回归

    py3study
  • 每天一道leetcode142-寻找链表中环的入口

    乔戈里

扫码关注云+社区

领取腾讯云代金券