满鉴霆:希望国产操作系统走出国门,走向世界
社区之星推荐语:满鉴霆,获得 2020 年 RT-Thread 社区杰出贡献奖。RT-Thread 社区工作小组成员之一,热衷于分享、推广 RT-Thread 操作系统,为 RT-Thread 英文社区翻译 BSP 文档,半年时间贡献了 49 个 PR、11 个软件包,配合 RT-Thread 制作中英文视频教程。
2020 开发者 * 会获得 RT-Thread 社区杰出贡献奖
社区贡献
在使用 RT-Thread 之前,我使用的是 uCOS-III 的操作系统,因为项目的缘故需要移植一些在 Linux 上跑的软件包移植到 STM32 上,因为 uCOS-III 本身就是一个内核,而基于 Linux 开发的软件都是使用统一的 read/write 方式进行操作(一切皆文件),因此我费了半天劲将写了一个虚拟文件系统层,将 FATFS 和 LWIP 统一起来,而且还要实现一些标准的 libc 库函数,其实就是重新造了一个轮子,而且这个轮子还特别的简陋。那时候我逐渐意识到必须要向 Linux 看齐,于是我找到了 RT-Thread 操作系统。其实只要你用了 RT-Thread,你就会爱上他,离不开他;因为所有的驱动开源社区的小伙伴都给你写好了,只要使用 Env 工具或者 RT-Studio 就可以快速配置出一套工程。这让我想到了王境泽的真香定理。
我也将 RT-Thread 推荐给其他的工程师使用,但是工程师们的心态都是,我已经使用了 uCOS 或者 FreeRTOS,我也 * 惯了自己写设备驱动,你还让我再学一个其他的操作系统,多麻烦。所以很多工程师都是,RT-Thread 听过、了解过,就是没有用过,不愿意走出自己的舒适圈。于是我发现了 RT-Thread 在推广上面临的一个巨 * 阻力,即市场是有惯性的。于是针对这个痛点,我决心为我国独立自主的操作系统做些什么,既然这些工程师不愿意走出自己的舒适圈,那么好,我就走进你的舒适圈。于是从 2020 年 6 月末开始,每天熬到凌晨 3-4 点钟,花了一个月的时间,编写出了 RT-Thread 的 uCOS-III 兼容层(https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-III),让工程师可以沿用已有的 uCOS-III 的编程经验,以前编写的应用层和业务逻辑模块都不需要做任何修改,就可以直接运行在 RT-Thread 上,即只要你有其他 RTOS 的基础,借助兼容层,入门 RT-Thread 不需要任何额外的成本。
在 uCOS-III 兼容层发布之后,有小伙伴希望我编写 uCOS-II 兼容层,于是我在 2020 年 9 月开始编写 uCOS-II 兼容层,由于学业缘故,uCOS-II 兼容层的编写比较慢,花了将近 3 个月的时间,已经于 12 月发布(https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-II)。真心希望,尤其是在中美贸易战的背景之下,中国的工程师尽量使用我们国家自己的操作系统。
同时,我还负责给 RT-Thread 英文社区翻译一些 BSP 文档,在半年时间里,我贡献了 49 个 PR,除了 RT-Thread 源码的 PR 之外,这其中的一小半是在翻译文档。现在我正在忙于撰写和录制英文教学视频,配合 RT-Thread 的“Going
Global”计划,让 RT-Thread 走出国门,走向世界。目前 RT-Thread 的第一支以英语、系统性讲解 RT-Thread 的教学视频就要发布啦!
自从我加入 RT-Thread 开源社区,我接触到了很多技术 * 佬。在 2020 年深圳开发者 * 会上,终于有机会见到了他们,听他们谈话甚至一些术语我听都没听过,这也让我意识到自己还有很多东西要去学 *。
技术展望
目前,嵌入式领域在迎来一场革新,以 RTOS+MCU 的设计方案正在挤占和逐渐取代传统的 Linux+MPU 的方案的市场,加之 MCU 与 MPU 之间的界限越来越模糊,一些 MCU 也具备了丰富的资源和超群的性能,这种低成本的解决方案使得高性能物联网终端得以 * 范围普及。我认为 AI 在终端上的运用将是未来的趋势,以 RTOS+MCU 为平台的设备也将实现 AI 算法,并使产品落地。这倒逼传统 AI 算法的迭代和升级,以适应 MCU 资源受限的情况。因此 AIoT 将是未来的趋势。
开发者寄语
RT-Thread 不同于 uCOS 或者 FreeRTOS 这类实时内核 (real-time kernel),RT-Thread 是一个完整的实时操作系统 (real-time operating system),除了基本的实时内核之外,还有设备框架、虚拟文件系统等一系列“上层建筑”。因此若沿用 uCOS 或 FreeRTOS 的学 * 方法,即什么都要搞明白是不现实的,建议初学者用到什么学什么,在运用过程中搞清机理,而不是盲目的死磕源码。如果你还没有接触过 RTOS,或者刚从其他 RTOS 转过来,建议先使用 RT-Thread Nano 版本(该版本仅是一个实时内核 + 必要组件)学 *,学 * 成本 ** 降低。然后再转入完整版进行学 *,用到什么学什么。
在这里给初学者介绍一下如何高效检索 RT-Thread 的相关资料。自 RT-Thread3.0 发布之后,在社区小伙伴和 RT-Thread 工程师们的共同努力下,RT-Thread 的中文资料得到了极 * 丰富。但是与此同时,面对现如今信息碎片化的网络资源,对于刚刚入门 RT-Thread 的小白来说,如何找到自己想要的学 * 资料就变成了一个麻烦的问题。在这里我和 * 家分享一下经验。
1) 搜索引擎的选择
在此之前,我们搜索嵌入式相关的资料时,一般使用百度和 Google,这两个搜索引擎各有侧重,百度一般侧重于中国本土的技术博客和论坛等资料,而 Google 一般侧重于外文资料和文献。但是无论是百度还是谷歌都有一个很 * 的问题就是没有办法搜索微信公众号的文章,因为微信公众号的搜索权限仅授权给了搜狗搜索引擎。而在微信公众号上,除了 RT-Thread 官方以外,还有很多嵌入式相关的微信公众号也推送了相当多质量极高的教学文章。如果使用百度或者谷歌去搜索,这些文章将不会被检索到。因此我建议如果 * 家要检索 RT-Thread 基础教学资料的话,一定要考虑使用搜狗搜索引擎的微信搜索功能,当然也可以直接在微信中搜索。
2) 官方文档中心
官方的文档中心是由 RT-Thread 工程师撰写的说明文档,具有很高的权威性,一些基础的概念与使用方法,建议到官方文档中心查找 (https://www.rt-thread.org/document/site/)。为了能够加速官方文档中心的文档丰富速度,日后,官方文档中心将开放权限给社区小伙伴,可以类似于提 PR 一样修改或者增加文档的内容。
3) 视频资源
视频资源建议 * 家去 B 站 (www.bilibili.com)
去搜索,B 站没有广告,不需要登陆也可以看视频,目前除了官方账号以外,还有很多社区的小伙伴也上传了 * 量关于 RT-Thread 的教学视频。欢迎 * 家关注 RT-Thread
B 站官方账号 (https://space.bilibili.com/423462075/)。
RT-Thread 官方网站:https://www.rt-thread.org/index.html