开源如水
2021年已经过去,在过年前,社区上也把v4.1.0 beta版本发布出来了,令人惊喜的是,这个版本大部分是依赖社区的力量完成的,贡献尤为突出的是满同学,满同学在2021年总计提交的commits数达到了624个🚀!RT-Thread社区涌现出了越来越多技术牛人,这让我非常振奋,因为这意味着我们的开源进入了一个新的阶段。
过去一年,RT-Thread开源生态上的进展还有很多,从9月份的RT-Thread全球技术峰会,到大批的国内外芯片厂商加入到RT-Thread的阵营中来,越来越多的开发者、终端厂商选择RT-Thread开发产品。在这个过程中,RT-Thread一直遵循着开源开放,秉承着做中立,社区化的操作系统平台的原则来推动RT-Thread发展。
持续以开发者为中心,提升开发效率
RT-Thread 自v3.0.x依赖引入了软件包,它让RT-Thread变成了一个生态平台,有几百位开源社区小伙伴贡献了400多个软件包,软件包的下载数更是超过了700万。这些软件包解决了部分功能性上的问题,无形中也提高了使用门槛,后续我们会着重优化这块,把软件包规范成一个个的组件,在使用时以图形化建模的方式把它们有效的关联起来,变成低代码的开发平台。
通过开源,我们成功构建了从个人提升到企业赋能再从企业赋能到个人提升的生态循环。未来,在开源层面,RT-Thread团队仍将持续投入,以开发者为中心,做开发者用起来都舒服的平台。开源为水,润泽万物,我们凭借社区的推动力将持续奔涌向前,承载产业,赋能产业。
此外,在开源层面,2022年我们会着重去做哪几件事情?
1、版本迭代
年前已经发布了v4.1.0 beta版,之所以称之为beta版,是因为改动比较多,我们就先发布了一份beta版本让大家多试用,在获得更多反馈后再进一步优化,然后冻结定型成正式版本。
另外一份更重要的是v5.0.0版本,这个版本最值得期待的是,我们会把rt-smart分支合并进来。rt-smart分支经过2年的发展,已经完全遵循了RT-Thread组件化编程的思想,以仅在RT-Thread内核基础上添加一份lwP(轻型进程)扩展的基础上加入了内核态和用户态隔离的功能,做到了在用户态上对POSIX标准的完善兼容。所以这份组件化的轻型进程smart版本会合并到v5.0.x分支上,变成5.0系列最重要的功能特性(随之也会带来A核,64位多核上重要的完善和更新)。
2、社区委员会机制
RT-Thread操作系统应该是开源开放,中立,社区化的,这个是我们一直秉承的目标。所以整体发展的道路上我们不希望它会受个人或者企业的束缚。在v4.x版本上可以看见我们正朝着这个方向努力,目前我们已经在github上开放了PR review/merge权限,引入了+1/+2,-1,discussion等机制,就是希望它是充分社区化的,都欢迎大家来提PR,来沟通、来讨论。2021年我们也试图把RT-Thread托管到某基金会旗下,使得开源、社区运营整体变得更中立化。
这些努力的背后,埋藏着我们一个小小的希冀,我们希望能够建立起一个多人(包括代表企业、院校的技术专家,业界专家等)的社区委员会,来群策群力探索RT-Thread的未来技术方向,筹划组织社区活动(从定期社区活动,线下沙龙,到RT-Thread开发者大会等)。而基金会上,虽然存在些问题,但在2022年这依然是我们努力的方向,争取克服困难,达成合作。
另外值得一提的是,去年下半年多家国内外主流芯片厂商加入RT-Thread的生态会员计划,代表着RT-Thread的生态地位进一步得到主流厂商的认可,这将推动着RT-Thread生态更快更高质量地向前演进。这也激励我们投入更多的资源服务会员合作伙伴,实现共赢。
我们希望在2022年与会员伙伴更紧密、深入的合作,开展技术协作,推进会员深度参与开源社区建设,支持更多的芯片,原厂原生驱动支持;提供完备的一站式的开发环境,降低开发门槛;开展生态推广,整合资源以“用户需求为驱动”,与开发者进行优质的线上线下互动,实现价值沉淀,共建可持续的用户增长生态。
商业似船
对于睿赛德科技来说,我们不仅仅只为开源发展努力,而是凭借我们的技术实力也做好一个专业并有担当的核心软件供应商,有深度也有广度。
天上飞
使用RT-Thread的航天器终于上天了。为什么需要、可以使用RT-Thread?因为RT-Thread是一个宽范围的稳定操作系统,这个宽范围代表着:
- 可以在极简的MCU上使用,当功能不复杂时,它依然能提供坚实而稳定的基层系统;
- 也可以在复杂的芯片上运行,包括cache,64位,多核。当需要上高性能计算平台,而又需要实时性时,RT-Thread依然能打能扛(使用RT-Thread的64位多核芯片也早已经商业使用)。
长征二号丁运载火箭
地上跑
除了上天之外,汽车是另一个对安全要求非常苛刻的场合,不仅是大规模,而且还涉及人身安全。这对我们自身提出了新的挑战,为了满足功能安全产品的开发要求,公司实施了完整的功能安全开发流程,在整个软件产品开发周期中优先考虑功能安全要求。
其中包括对软件架构进行详尽的安全分析,编码时遵守功能安全以及 MISRA-C 标准要求的编码规范,并且进行百分百覆盖的单元测试、集成测试以及系统测试,严格执行功能安全规范提出的工程方法来提升软件质量。
V模型到ASPICE模型开发流程
2021年,睿赛德科技中标了知名汽车厂RTOS系统(基于8核ARM Cortex-A55处理器,采用RT-Thread Smart系统),我们努力的上车,为了能够给智能汽车行业提供一份国产底层操作系统的选择,既能够满足功能安全上的需求,同时又能在底层提供POSIX PSE51/52,C++ STL的支撑,让大家可以又快又好的造车。同样的,这也离不开生态的建设,所以睿赛德科技也和中国最南端的211高校海南大学一起联合推进ROS2在RT-Thread Smart上的移植,让RT-Thread Smart能够成为机器人操作系统的底层稳定可靠的底座。
在2022年,睿赛德科技也会在汽车领域有多项突破,3月份将揭晓更多!
发力高端
在RT-Thread发展的十几年中,因为其良好的稳定性、实时性而深受大家认可,在工业方向也颇有建树。比如在电力领域,从传输到二次设备,用电计量设备,再到绿色能源领域,光伏,风电,核能,都有非常多的应用案例。随着使用范围的扩展,RT-Thread也在逐步向高端方向迈进,保证实时性的同时满足大算力的需求,从双核龙芯2K1000,到4/8核ARM Cortex-AArch64位处理器。此外,在带MMU(内存管理单元)的领域也在逐步过渡到RT-Thread Smart系统。
RT-Thread Smart系统相较于传统的RT-Thread RTOS系统来说,它延续了RT-Thread的内核,继承了其优异的实时性。在用户态上则把每个应用的地址空间进行了隔离,当用户应用程序执行出错时,只影响到应用程序本身,而不会破坏到其他应用程序、包括系统:加入了全进程管理的支持。
在应用程序生态上,RT-Thread Smart系统则提供了完善的用户态POSIX环境,让一些Linux/Unix开源程序更容易地、无缝地移植到RT-Thread Smart系统上,例如使用非常广泛的OpenSSL,FFmpeg多媒体框架,完整版的Python等,都可以在不修改代码的情况下,在RT-Thread Smart环境下重新编译一遍即可运行。
在2021年,睿赛德科技也联合韦东山一起发布了ART-Pi Smart开发板(NXP iMX6ULL,单核A7),并提供完整的RT-Thread Smart SDK及辅助的vscode smart插件式开发环境,以支持到Windows/Linux等多端的开发模式。睿赛德科技希望这份ART-Pi Smart平台是RT-Thread Smart的第一个入门评估平台,在上面提供最齐全的RT-Thread Smart系统并不断演进,同时也包括技术支持,而这个支持期限,希望是十年!
支持应用程序源码级调试的vscode + smart扩展插件
RT-Thread Smart系统一经问世,就以其高安全性(隔离进程地址空间),高实时性,快速启动,POSIX兼容性等特点而受到广泛关注。而原来RT-Thread广为大家使用积累的口碑,众所周知的稳定性也让更多人愿意选择RT-Thread Smart系统。除此之外,在工业控制上,在智能家居上,RT-Thread Smart 都能很好的弥补Linux的一些短板,并越来越多的受到汽车、能源等高稳定性,高安全性场合的青睐和应用。
布局未来
计算系统总会围绕着几块来转,例如算力,功耗,安全性,实时性,现在也包括AI的计算能力。有些是相互制约的,例如不可能使用通用CPU算力来极速提升AI的算力;也不可能把算力提上去了,依然要求超低的低功耗特性;以及不会因为安全性,需要把整个芯片,整个系统的功能安全等级都提升到最高阶。这个时候,异构系统普遍成为大家的共识,在一颗SoC中集成CPU,GPU,DSP,实时核,神经网络加速器,由它们分别来完成不同领域的事情。
这类系统将是各个系统的融合。RT-Thread在2021.12.18的开发者大会上也展现了相关的技术布局,并在现场给出了一份在树莓派4B上同时虚拟化运行RT-Thread Smart 和 Ubuntu桌面的演示:
2021.12.18 RT-Thread开发者大会
在异构系统中,多系统编程、融合将成为挑战。而对于这类异构核、多高性能核的芯片系统,RT-Thread则提供了统一的编程、开发体验:
-
在ARM Cortex-AArch64的底层,在EL2模式下运行一份Hypervisor - vmRT-Thread,在它的上面则以资源相互隔离的方式运行多份虚机:
-
- 在不同的核上依据需求不同,追求高实时性,高安全特性的,可以运行一份RTOS的虚拟机,例如RT-Thread Smart;
- 在要求更丰富功能的场合,则可以运行一份或多份Linux或Android操作系统。
-
在M/R核上,可以运行RT-Thread RTOS,以满足高实时性,控制类的需求;
-
而VM与VM之间,VM与vmRT-Thread之间,以及和M/R核之间通过一份通信总线方式进行交互;在各VM上提供基于virtio的半虚拟化设备,从而打通不同系统之间的数据交互;
这套vmRT-Thread融合系统可以让一颗大的多核芯片非常容易满足不同场合的需求,例如车载中央电脑的丰富功能与安全并重,高性能工业控制场合的高性能与实时性并重等的复杂需求。