嵌入式有必要学习RTOS吗,“程序员出身”的RT-Thread是否更适合你?
扫描二维码
随时随地手机看文章
通过观察近年来招聘网站的招聘信息,嵌入式工程师的要求中总会多出一条“掌握至少1-2种RTOS”,网友头上也经常“有许多问号”表示,到底有没有必要学RTOS?
RTOS是啥,有必要学吗
RTOS,英文全称Real-time operating system,又称“实时操作系统”。
与其相对应的还有TSOS这一概念,英文全称Time Sharing Operating System,意为“分时操作系统”,我们所熟知的Windows、Linux、Unix便都属于TSOS。
RTOS其实只有“实时性”才是它的最大特征,因为RTOS在被发明之初便是因为早期CPU任务切换开销过大,另外随着工业和物联网的发展,许多特殊场景重要任务执行优先度又极高。
因此利用实时操作系统可以避免频繁切换任务浪费的CPU时间,并且能够满足一些实时要求较高的场景。
当然,RTOS不仅此而已,除了实时,从本质上来说,它还是一款操作系统。
因此在厂商的“精心呵护”之下,普遍来说RTOS都拥有着极小的体积、极低的功耗和快速的启动速度,提供非常丰富的组件、工具链和社区。
在物联网爆发式发展下,RTOS是必备的。为何这么说?如果没有RTOS,设备便是处于“裸奔”的状态,这样的状态性能是无法最大化利用的。而反观招聘网站,RTOS几乎成了“必修课”。
(图:招聘网站上嵌入式实时操作系统几乎成为必备)
所以在物联网的爆发兴起下,嵌入式工程师掌握使用1-2种RTOS作为知识储备是很有必要,说不定哪一天项目中就会使用到了。
同时,一些著名的嵌入式专家也给出建议学习RTOS的观点,因为目前来说,使用RTOS的人和场景也越来越多了。
不过,RTOS虽然坐拥诸多优点,但也并非一把“万能钥匙”,任意场景都“一股脑”使用。
虽然的确在物流网兴起下,RTOS的应用越来越多,但许多工程师动不动就给项目给出使用RTOS的方案,这在设计中是很大的一个误区。
一般来说,是否使用RTOS取决于任务的数量和复杂程度。从方案来说,问题简单化才是一切的核心。
国产RTOS至关重要
中兴事件、实体清单、华为事件……从2018年到2020年,“缺芯”成了卡脖子的关键问题,近年来国产芯片愈发扬眉吐气。
不过十多年前的老话题“绕的过芯片,却绕不过系统”还是要拿出来翻一翻的。华为在此前发布了“鸿蒙”,另外还在最近投入了2亿元进一步发展鸿蒙。可见,即使国外拥有一些开源系统可使用,但国产自主的系统仍然是必不可少的。
目前的操作系统市场一种是收费的RTOS,一种是下游厂商打造的开源RTOS,不过随着市场的不断变换一些收费RTOS也逐渐转入免费。
在嵌入式领域,虽然不乏VxWorks、μCOS或FreeRTOS等优秀的国外RTOS,不过开源免费是一个伪命题,并没有任何保证,可以确定它是否会出现在下一次类似“实体清单”的事件中。
国产的RTOS还是有很多的。就拿巨头来说,2015年,华为发布了轻量级RTOS LiteOS;2017年,阿里发布了面向IOT的 AliOS 操作系统。另外,djyos是一款由长园深瑞继保自动化有限公司主持开源操作系统嵌入式RTOS。
在此,不得不提到RT-Thread,作为一款拥有将近14年历史的RTOS,目前来说拥有的知名度和用户方面相对占有优势。
不过,华为、阿里的加入必然是强有力的竞争,虽然AliOS和LiteOS依旧处于系统的技术建设完善期,但不容小觑的便是其强大的背景支持。一款产品必须拥有自己的独到优势才能在巨鳄的阴影下生存。
RT-Thread起源于工匠,而根据其创始人熊谱翔坦言,未来还会继续坚持工匠的精神做产品。目前来说,AliOS和LiteOS还是以自己产品主导,针对开发者支持还是短板,因此面向开发者便是RT-Thread的生态建设上的优势。
而嵌入式工程师,在如今的这种情境下,掌握一款国产的RTOS也似乎是一个不可或缺的课题,RT-Thread是其中一个好选择。
程序员出身的RTOS
RT-Thread创始人熊谱翔被人爱称为“熊大”,程序员出身的他让这款RTOS更懂开发者的需求。
出生于广西桂林的他,父母都是高中教师。自幼理科偏科的他,一不小心拿了一个桂林单科数学的状元,考入了重庆邮电学院,这是通信行业的黄埔军校西南分校。
(RT-Thread创始人熊谱翔)
极度偏科的人一般都是绝顶聪明的人,纯理工科的他自然也陷入了代码的世界。熊大与Linux的“亲密接触”可以说与RT-Thread的诞生有着必不可少的关联,正因Linux也是一款免费开源的系统。
90年代,精通Linux的程序员凤毛麟角,在没有任何教程的情况下,熊大把Linux代码读了无数遍。而他也顺利成为了BBS的大佬,西南程序员圈子的名人。
2000年大学毕业以后,先后加入贝尔阿尔卡特、华为、NEC和松下合资成立的宇梦通信和美国半导体公司Marvell上海分公司,直至2005年辞职创业。
在技术社区交流过程中,熊大发现市面上缺少真正小尺寸、开源且符合Linux简约代码风格的嵌入式RTOS。
2005年,熊大便着手这个操作系统的编写。2006年,顺利发布了RTOS内核,命名为RT-Thread V0.0.1,意为实时线程。
2011年RT-Thread发布V1.0.0,支持更多MCU芯片,构建完整的生态;2015年发布V2.0.0,新增轻量级Javascript引擎和大量组件;2017年,RT-Thread发布V3.0.0,新增更多的IoT组件,大举进军物联网市场。
“RTOS之王”的目标
在Github 4.1K多颗星,6万多开发者,累积装机量超过4亿台的成绩,是RT-Thread在物联网时代可以称之为RTOS之王的证明。
与诸多RTOS诸如FreeRTOS,uC/OS主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件。
不仅支持市面所有主流编译工具诸如GCC、Keil、IAR等;还支持所有标准接口诸如POSIX、CMSIS、C++应用环境、Javascript执行环境等;支持所有主流MCU架构,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V。
并且值得注意的是,RT-Thread遵循Apache 2.0,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。
熊大曾经表示,RT-Thread的目标是成为国内最主流、物联网终端首选、联网装机量数十亿台的IoT OS,成为物联网产业的基石,让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。
一场始料未及的新冠,让这个春节按下了暂停键,RT-Thread作为有担当的企业,几经辗转后,在疫情最关键的几天采购了一批防护服为前线的“他们”也做了帮助。
现在,RT-Thread为大家提供这样一个机会,RT-Thread联合一众国产主流芯片和云厂商发起一场专属于电子工程师的线上竞赛。
参加“RT-Thread应用创新设计大赛” ,报名即领开发板,利用RT-Thread+开发板+云的三重加持下,开发者可以设计医疗类解决方案,提高疫情防护效率,为疫情增添一份力。
对于许多还没有尝试过RT-Thread,却又跃跃欲试的工程师,亦可参加此次活动,可以设计智能家居类,提升家用设备的智能体验;也可以是数据采集分析,提升设备维护效率等。
“RT-Thread应用创新设计大赛”旨在让开发者基于合作伙伴的芯片、云以及物联网操作系统RT-Thread设计出创新的应用,推动国产化芯、物联网操作系统、云的发展。
值得一提的是,本次大赛不仅可与RT-Thread官方工程师直接联系沟通,还有机会获得重磅奖品!喜爱RT-Thread的你,赶快行动起来参与报名吧!
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!