RT-Thread Nano 3.1.3 正式发布
Nano版本 VS 完整版本
那么在做应用时,应该如何去选择使用完整版本还是 Nano 版本呢?
从上图中可以看出RT-Thread Nano的架构:
极简版硬实时内核(可裁剪):内核包含线程管理、时钟管理、中断管理、内存管理、线程间同步与通信等功能,满足轻量级操作系统的基本要求。除此之外,内核对象可裁剪,开发者可根据需求来自定义所需的内核对象。
libcpu(CPU移植文件,对应相应的芯片架构) :Nano 中 libcpu 所支持的 CPU 主要是资源相对小一点的芯片架构(如 ARM,RISC-V),这部分内容来自完整版本 libcpu 的一部分。
FinSH 组件(可选配):是 RT-Thread 的 Shell 命令行组件,可实现命令行交互,满足简单调试需求。该版本的 FinSH 可以不再基于 device 框架进行移植,并且可以随时开启与关闭。
多途径下载
在各大 IDE 中的下载教程请在文档中心查看。
从官网下载的 rtthread-nano 3.1.3 源码压缩包的目录结构如下所示,基本与完整版的目录保持一致:
注:RT-Thread 3.1.3版本与之前版本最大的区别就是 不再包含device框架, FinSH组件的移植也不再依赖于device框架。其他的更新内容均从完整版本 3.1.3 同步而来,详细的修改请看 ChangeLog.md
文档中心增加 Nano 版块
文档中心增加了Nano 版块,提供一系列的介绍、移植与移植原理的文档供大家参阅,小伙伴们可以根据这些文档做自己的移植:
《RT-Thread Nano 简介》
《基于 Keil MDK 移植 RT-Thread Nano》
《基于 IAR 移植 RT-Thread Nano》
《基于 CubeMX 移植 RT-Thread Nano》
《移植 RT-Thread Nano 到 RISC-V》
《RT-Thread Nano 配置》
《RT-Thread Nano 移植原理》
《在 RT-Thread Nano 上添加控制台与 FinSH》
Nano的特点
◆ 代码简单:
Nano 与 完整版不同的是,Nano 代码纯净且简洁,在使用上又一次降低了门槛:
无 Scons 构建系统
无 Env 配置工具、无需 Kconfig
无 device 框架
◆ 移植简单:
由于 Nano 的极简特性,使 Nano 的移植过程变得极为简单。添加 Nano 源码到工程,就已完成 90% 的移植工作。在 Keil MDK 与 Cube MX 中集成了 Nano 的软件包,可以一键下载加入到工程,而在RT-Thread Studio中,则可以基于某款芯片创建Nano的工程。
我们不仅提供了针对不同平台(MDK/IAR/CubeMX/RISC-V)的Nano移植教程,还提供了移植原理的文档,较为详细的讲解了移植的原理,如下是libcpu移植部分(黄色)与板级移植部分(绿色)在启动时的体现:
详细内容请移步至文档中心查看。
◆ 配置简单:
Nano的内核是可裁剪的,可通过修改 Nano 的配置文件 rtconfig.h实现(在 KEIL 与 CubeMX 中有配置面板),该文件中列出了内核中的所有宏定义,有些默认没有打开,如需使用,打开即可使用,如下图所示是Nano在 MDK中的配置界面,可以直接打钩使能以及修改参数值。具体的配置可见文档中心 Nano 版块的《RT-Thread Nano 配置》教程。
◆ 极致小巧:
◆ 开源免费(Apache 2.0)
RT-Thread Nano 实时操作系统遵循 Apache 许可证 2.0 版本,可以免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。
写在最后
不久之后,RT-Thread Nano 版本还将在 RT-Thread Studio 上实现无缝对接,可直接基于芯片生成 Nano 的工程,0 行代码即可实现 Nano 移植!除此之外,在 RT-Thread Studio IDE 上,基于 Nano 进行 FinSH 组件的移植也是非常简单,只需点一点鼠标,打开 FinSH 功能,就能自动生成驱动,轻松完成移植。敬请期待!
RT-Thread线上/下活动
1、【RT-Thread开发者大会报名】上海站马上开始!2019年RT-Thread开发者大会将登入成都、上海、深圳与开发者们见面,还有RT-Thread在中高端智能领域的应用、一站式RTT开发工具、打造IoT极速开发模式等干货演讲,期待您的参与!
立即报名
#题外话# 喜欢RT-Thread不要忘了在GitHub上留下你的
STAR
哦,你的star对我们来说非常重要!链接地址:https://github.com/RT-Thread/rt-thread