Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread
熊谱翔:变化的RT-Thread 不变的初心
发布于 2020-07-03 17:01:20 浏览:4064
订阅该版
[tocm] 前段时间有爆出了某大佬的OS和RT-Thread很像,所以画了这么张图,同时也发在社交媒体上: "Roadmap or history of RT-Thread? No matter what RT-Thread is, it's alway there. Hope RT-Thread is a locomotive, lead us all to the future." ![roadmap.jpg](/uploads/20200703/e957d56778f323c71d2d7656373f66b4.jpg) 提到RT-Thread的发展路线,其实是被很多社区小伙伴关心的:RT-Thread到底会走向何方? ### **初心出发** 由于个人兴趣及项目需求动手写了一个RTOS,在2006年初发布了RT-Thread的第一个内核版本并开源,一开始纯粹以工程师的角度去做,当时有个看似遥远的目标是能做成一个开放式,嵌入式系统领域的Linux。 然而接下来几年RT-Thread这个项目进入了一个艰难时期,因为仅仅只是一个RTOS内核很难得到关注,期间凭借个人兴趣不断去做不同平台移植,完善功能。期间也做过一些社区活动,很多时候就是一些爱好者在汉堡王、KFC这类地方AA制聚会交流,记得最惨淡的时候聚会只有两个人。 长时间的坚持和付出,RT-Thread开始有了些支持者,然后不断有开发者加入进来贡献代码和完善。ARM Cortex M3的出现,让开源的RT-Thread走上了新的阶段,此时的RT-Thread已不再只是一个实时内核了,包括了Shell、文件系统及TCP/IP协议栈等,凭借低资源占用、功能丰富吸引了大批的用户。 ### **正当时** 直至2011年,RT-Thread才发布1.0.0版本,这样一个稳定版本的发布花了6年时间。 2015年,RT-Thread 2.0.0发布,引入了menuconfig,而这次大版本的发布花了4年时间。 2017年,RT-Thread 3.0.0发布,定下IoT OS的战略,花了2年时间。 2018年,RT-Thread 4.0.0发布,支持更多芯片、开发板、云等,也逐步向生态走得更远更广,仅1年。 而在2019年,则在潜行中仔细思考,没做大版本发布,但却开始走向新的领域。 在RT-Thread发展过程中我们深知“无生态不OS”,一款操作系统是需要开发者使用,需要开发者对它的认可。脱离了生态的操作系统只是一款软件,一项产品,这和RT-Thread的初衷是相违背。在生态这条路上,在产品层面以开源版本RT-Thread为主干开始开枝散叶延伸向更广阔的领域: 1. ……OS,其他OS、或衍生OS。RT-Thread在这个过程中也会尝试向一些合作伙伴许可、授权。因为RT-Thread遵循Apache License v2.0许可协议,在许可协议合法的范围内都是可行的,从生态上说也是更好的补充。当然RT-Thread的运营主体,睿赛德科技自有产权软件包也会对外进行授权。总体的许可协议问题会处理好。 2. PersimUI OS(暂定名,名字并不重要)是基于RT-Thread上,辅以柿饼UI的面向智能穿戴、智能硬件的系统(方案),目前在海外已有一款使用柿饼UI的手环在售;预计今年会有更多的手表上市。从去年下半年到今年,我们这边柿饼UI团队几乎都投在这个上面,所以外界看起来似乎没什么动静,实则向前推进了一大步,把手表的UI操控能力优化到顶尖品牌厂商的流畅度上,同时也包括柿饼用的JavaScript执行性能飞速提升。这也是RT-Thread上的另一个分支,在带屏低功耗智能硬件这个领域走得更深更远。 3. MoM,这个是一个缩写,全称是Microkernel on MCU。从名字上来说,它和4️⃣有一定关系,只是没预料到它先于混合微内核商业化、落地。MoM被应用在一些表计类场合,为MCU提供系统与应用分离的技术,同时还进行了用户进程间内存隔离<通过MCU中的MPU(Memory Protection Unit,内存保护单元)技术>。为一些应用场合提供了理想的应用单独升级,隔离运行的模式,可用于一些行业安全系统上。这份MoM的开发环境也会部署到RT-Thread Studio集成开发环境及QEMU针对Cortex-M3/4/7的软件模拟执行工具中。通过MoM,也可以让一些高端MCU(例如Cortex-M7/M55,及未来的多核MCU)具备独立应用开发的功能,开发方便,应用可调试,可独立升级,同时保留MCU的快速,强实时,低成本的特点。 4. 混合微内核,RT-Thread Smart,目前是箭上待发,已经有部分社区小伙伴开始拿到在内测中。它主要面向带MMU的处理器,例如ARM Cortex-A(国产处理器肯定不会缺)。对于RT-Thread Smart,有很多突破,系统服务可根据实际情况放在内核中或用户态执行,而在整体系统上则采用了微内核的架构,进程间采用IPC/共享内存方式通信、交互。 ![microkernel.jpg](/uploads/20200703/93c4b8478faa0d7baba62edd79c605cf.jpg) 期望通过RT-Thread已有的生态,来覆盖MCU …… MPU的场景,而能够和国际顶尖的操作系统PK。 ![qnx.png](/uploads/20200703/3651b2c23847fff083502775a8f1b3c6.png) 所有这些,都并不是一蹴而就的,需要经历过:提出想法,小心验证,实现原型,应用落地,打磨完善等的过程。这个过程经历的时间周期一般都非常长,中间历经波折、迭代繁多等等,例如混合微内核是由团队小伙伴们历时1年多时间打磨的,从最初的lwP(轻型进程),实现(浮动地址执行)原型,而后又推翻加入MMU,进程地址隔离,然后到逐步加入文件系统服务,网络协议栈服务,图形UI服务,以及gdb用户进程调试,POSIX threads等。后面同样的会集成到RT-Thread Studio中,让它真正变成开发,调试,执行一体化的模式。 这一系列的开枝散叶(分支或方案),也和RT-Thread的基因、品质相关:找到真实的需求,以**强大的韧性,百折不挠的精神**,一定能把事情做成,一定要把事情做成! ### **新长征** 未来是未知的,RT-Thread不变的是开源的初心,会依然以Apache License v2.0、开源的方式发布RT-Thread v5.0.0新版本,并崇尚社区高于代码之道,推进更多社区活动,让RT-Thread应用在更多的场合、领域,开出朵朵数据、信息之花。 在第一幅图中经历了这么多的阶段,很多都是我亲手扶上去的,站在42岁关口,离知命之年不远,依然希望能够有闲余时间可以coding,可以再带出一些新的方向,新的有趣并实用的点、线甚至是面。但面向未来,又感觉到再次处于未知的关口上,未来会是什么?未来的泛IoT场景,还应该有更多更多,端上的思考,云甚至网络结构上的思考,世界无穷大,RT-Thread只是其中一粟,无数个RT-Thread,会汇聚成一张大网。期待RT-Thread就像一个火车头在前方引领,驶向未来……驶向未知……
5
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
andychen
这家伙很懒,什么也没写!
文章
18
回答
187
被采纳
15
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部