您现在的位置是:首页 > 快讯

一站式开发工具RT-Thread Studio发布,明年还将推出新一代混合微内核!

2019-12-28 04:35:17

12月21日,RT-Thread开发者大会在深圳举办,在本次大会上,RT-Thread正式发布RT-Thread Studio、并公布将于明年中发布新一代微内核,还邀请到意法半导体(ST)、全志(Allwinner)、恩智浦(NXP)分享其在物联网领域的布局以及与RT-Thread的合作体验,此外,还有第三方公司的开发者分享RT-Thread在项目中的应用案例。

图:开发者发挥现场人气爆满

RT-Thread新一代混合微内核明年Q2发布

RT-Thread创始人熊谱翔在开发者大会上介绍,混合式微内核的意义在于会将一系列的系统服务放在用户态。系统服务可以根据实际场景做相应定制,可以放在用户态,变成一个内核很小的部件,另外,当需要高性能的时候,也可以把服务放在内核里面,通过这种方式,加速性能。

混合微内核的架构是针对IoT场景定制性的架构,可大可小,而且很重要一点,用户态的环境和内核态的环境,相互之间API是统一的,也就是说,在用户态去应用的时候,同样会有现在RT-Thread内核的一些API存在,可以使用,通过这种方式,能够做到一些系统服务可以放在用户态,也可以放在内核。

混合微内核的架构将会包含哪几个部分:一是会有RT-Thread的内核,相比现在来说,这个内核会更加精简、尺寸更小;二是也会把一系列的服务会放到用户态去,包括文件系统服务,网络协议栈,多媒体服务,比如音频、视频等;三是会把一系列底层通讯的外设、底层通信的机制方式等作为一个用户态的服务,比如WiFi的驱动、蓝牙的驱动、蓝牙的协议栈等也都放在用户态。

在这个基础上,会有一些不一样的的应用,包括物联网的应用、脚本类的应用,脚本这块,在未来的微内核的架构里,会是一个很重要的存在,通过这样的方式可以简化、开发。还有整套的柿饼UI也会用到用户态里,作为一个独立应用去使用,此外,也会包括AI的东西。

开发板硬件相关方面,底层会支持什么,熊谱翔介绍,现在一些32位Arm,比如Cortex-A的一些芯片,是支持Linux的,在微内核的里面,也会支持64位的芯片,包括ARM64位、RISC-V64位,以及多核。

与Linux对比,RT-Thread的优势体现在多个方面,比如低成本、低功耗、快启动、小体积、实时性,也有一定的劣势,比如软件生态、功能性、开发生态,熊谱翔说,“通过微内核的架构,希望能够逐渐弥补相应的劣势,混合微内核本身集中了一些多媒体服务、柿饼云端的应用、一些脚本化的支持等,通过这种方式,未来能够更加容易、快速的做一些应用的开发。这是RT-Thread对未来的一些规划考虑。”

熊谱翔透露,“RT-Thread新一代混合微内核将于明年Q2发布,整个混合微内核架构仍然是开源的。”

RT-Thread打造IoT极速开发模式

IoT时代,OS的真正趋势体现在四个方面:一,带丰富中间件的IoT OS最终将成为IoT终端的首选和主流,FreeRTOS这种纯内核OS将逐渐淡出市场;二,IoT OS有望为物联网带来全新的运营服务和赢利模式,IoTOS的收敛将使得脚本开发、小程序的加载等成为可能;三,一致的OS平台成为大型企业的诉求,因为它包括软件复用、提升开发效率、应用的部署、设备间互联互通等功能;四,低资源占用、安全、多媒体、AI是OS的重点技术方向,专业的IoT OS提供商肩负以上技术使命。

RT-Thread在物联网方面有哪些动作?RT-Thread技术总监朱天龙在会上介绍,RT-Thread自2017年3.0发布的时候,就开始制订了IoT发展的战略,至此已经两年多,在在IoT发展路线上,RT-Thread对于IoT极速开发有一些自己的体验和考虑。

下图是RT-ThreadIoT技术总览,分为三层:最顶层云端是跟IoT有关的云平台,包括京东云、腾讯云、中移OneNET、MicrosoftAzure、阿里云IoT;中间是云跟设备端的管道,比如WiFi、BT/BLE、NB-IoT、2G/3G/4G、LoRa等;最底层设备端,包括具有IoT特性的软件或者组件功能。RT-Thread在这些方面都有对应功能的支持。

云端接入方面,RT-Thread相比传统的RTOS,具有更多对云的支持,开箱即可接入到云中,详细可以从下面几点来看:一,可以接入所有的主流云平台,比如京东云、腾讯云、中移OneNET、MicrosoftAzure、阿里云IoT;二,提供深度优化的云平台SDK,一般云平台都会提供一个设备接云的SDK,不过这些SDK可能是偏重于通用平台,可能逻辑也支持,其他的外设也支持,难免在资源占用、可靠性会有缺失,RT-Thread跟一些云平台会做一些深度定制,在资源占用和可靠性上会有一个很大的改观;三、RT-Thread云平台接入的SDK是模块化的,模块化带来的好处是,能同时接入多个云。四,RT-Thread能够支持不同接入方式,包括AT指令模组、WIFISOC、NB-IoT、2G/3G/4G。

IoT芯片及模组支持方面,RT-Thread已支持IoT芯片及模组有哪些?朱天龙介绍了两种运行模式下支持的芯片和模组:模式1是在SoC(SystemonChip)内部直接运行RT-Thread,在上面跑一个APP。RT-Thread支持各种各样的接入,比如WiFi、BLE、NB-IoT等领域;模式2是现在比较常见的一个模式,RT-Thread跑在MCU内部,在这上面做硬件开发,想接IoT,就选择对应的一个IoT模组,比如AT指令上面,RT-Thread可以支持ESP8266模块;当用户需要一些高速开发,联网方式比较灵活的场景,可以选择PPP/RNDIS方式,支持EC20、Air720、SIM800、SIM7600模块;体积占用比较小,速度非常快的SPI方式,支持RT-Thread自研的RW007模块,包括ENC28J60、W5500等以太网的模块。

AT组件方面,RT-Thread具备灵活的响应数据解析方式,完备的URC数据的处理机制,简化的AT命令收发流程,提供标准的网络编程接口。目前已经对接常用的AT模块,有移远的M26/EC20 4G 2G模块,乐鑫的ESP8266/ESP32 WiFi模块等等。

RT-Thread技术总监朱天龙表示,极速开发方式有软件包和小程序两种,软件包方面,RT-Thread经过两年的积累,已经形成多达150+的各类软件包。小程序方面,RT-Thread支持多样化的应用脚本语言,包括人机交互JavaScript,物联网应用MicroPython

一站式RTT开发工具RT-Thread Studio正式发布

对于开发来说,调试工具非常重要,开发人员可以通过工具降低重复性的工作,提高工作的效率,降低使用门槛,加速开发过程。据朱天龙介绍,上一代工具ENV,RT-Thread3.0发布于2017年10月,主要功能集成了Kconfig配置系统、自动生成工程、软件包管理等功能,可以解决搭建scons工程复杂、修改rtconfig.h无从下手、缺乏统一的开发辅助工具等痛点问题。

有了ENV工具之后,还是存在一些痛点问题:第一,学习成本高,虽然ENV工具可以提供Scons、Python的语法环境,但是还是需要进行学习,几天下来,也不一定能学得熟练;第二,开发工具与ENV需要来回切换;第三,移植门槛高。

为了解决这些痛点,RT-Thread重新打造了属于RT-Thread的一站式工具Studio,朱天龙在开发者大会上重点介绍了一站式开发和调试,他说,“RT-Thread Stadio是一个基于Eclipse的平台,开源开放。其特点体现在:一,针对嵌入式开发,也还有很多不利的地方,在此基础之上做了很多深度优化,包括功能的定制;二,保持兼容MDK/IAR的传统开发习惯,无缝迁移到新的工具;三,基于Eclipse+CDT平台,还有代码辅助、自动补全,快速重构以及丰富的代码编辑功能;四,深度裁剪Eclipse,启动更快,资源占用更小。”

RT-ThreadStadio提供两种工程创建向导:一是基于开发板的工程创建向导,主要的优势在于可以快速验证功能原型,重用丰富的外设驱动,也是入门学习的利器;二是基于芯片的工程创建方式,具备产品研发必备功能,支持RT-Thread nano精简版本和完整版本,可自动生成驱动代码,支持STM全系列单片机

未来规划方面,朱天龙表示,将会推出V1.1版、V1.2版、V1.3版,未来将会更加易用。V1.1将会支持RISC-V等更多种类芯片,支持更多RTTBSP,支持创建多种example工程,支持导入MDK/IAR的功能;V1.2将提供实时查看状态、县城、资源使用,提供开发板模拟器,模拟仿真,即学习测试的时候,可以用在模拟器上模拟文件系统、网络、外设操作,脱离硬件;V1.3将支持hardfault诊断,静态代码审查,可评估代码漏洞、覆盖率等。

全志科技、恩智浦等合作伙伴谈为何选择RT-Thread内核

全志资深系统工程师曹子龙在会上表示,Melis3.0整个系统的架构,最核心的部分内核是基于RT-Thread内核,内核向外扩展,外面是Melis本身自带的核心框架,比如文件系统、设备管理、模块化、动态加载、设备驱动、系统调用等,再外一层是Posix语义、自己定义的多媒体编码解码、中间件、网络、图显。最终上层,整个方案应用在编码、解码、图显等,其中,图显目前可以达到2k显示的分辨率。

为什么会选择RT-Thread作为内核?曹子龙介绍,选择的核心围绕两点:一是安全可控,立场中立;二是OS实现特性。

安全可控、立场中立方面,曹子龙谈到几点优势:一是RT-Thread使用的协议足够友好,这对于商业公司来说,可以保护公司自己的东西;二是RT-Thread线上社区比较繁荣;三是Posix兼容,因为Melis是基于Posix接口从下向上搭建的;四是RT-Thread的编码规范,看着比较清爽;五是组件丰富。

OS实现特性方面,也谈到几点:一是希望支持RR调度,之前的OS是不支持的,而RT-Thread支持;二是内核对象数量不限,之前OS可能创建256个信号量,就不能再多了,都是有限制的,如果方案大了,规模大了,信号量大了,就不能支持,这样会限制方案的容量,而RT-Thread是满足的;三是优先级继承,多媒体场景很复杂,尤其高清解码,连续播放,还有可能换台、换文件,各种交互,按键或者触摸等,优先级继承就可以解决一个优先级的问题,RT-Thread可以支持。

曹子龙说,“综合各种考虑,2016年选型的时候,RT-Thread是当时最支持Melis方案的内核。”

恩智浦资深应用工程师莫志豪表示,恩智浦选择与RT-Thread合作,有这样几个原因,一是代码简洁看得懂;二是有中文文档,适合恩智浦在国内推广;三是快速易上手;四是国内独立的第三方开源免费RTOS;五是基于Apache2.0超友好;六是组件丰富,而且多是痛点组件,比如集成了WIFI组件。目前为止,恩智浦与RT-Thread合作已经长达13年。

RT-Thread支持NXP全平台,包括Cortex-M0/M0+,Cortex-M3&M4F以及以前的ARM7、还有目前主流的平台Cortex-M33和Cortex-M7内核,都是基于40nm工艺,另外还有Cortex-A7内核平台,目前卖得比较好的i.MX6ULL,低功耗NPU的内核,RT-Thread有在做一些支持。

此次大会还请到RT-Thread资深用户逗号科技的嵌入式系统工程师谢阳润进行方案分享,逗号科技是一家聚焦物流智能决策领域的公司,谢阳润谈了几点使用RT-Thread的心得体会,他说,“RT-Thread丰富的功能组件和辅助工具,使开发效率显著提高;源码可读性很高,增加了开发者review的可能性;社区人才济济,活跃度高,有问必答等等。”