面向物联网设备的实时操作系统 (RTOS) RT-Thread 5.3 正式发布。该系统由中国开发者社区自 2006 年起开发,目前已移植到 155 种基于 x86、ARM、MIPS、C-SKY、Xtensa、ARC 和 RISC-V 架构的开发板、芯片和微控制器上。RT-Thread 的精简版 (Nano) 仅需 3 KB 闪存和 1.2 KB 内存。对于资源受限的物联网设备,RT-Thread 提供功能齐全的版本,支持软件包管理、配置器、网络协议栈、图形用户界面 (GUI) 包、语音控制系统、数据库管理系统 (DBMS)、网络服务和脚本引擎。RT-Thread 使用 C 语言编写,并以 Apache 2.0 许可证发布。
操作系统由三个基本层组成:
- 实时执行任务的内核。 内核提供通用核心原语,涵盖锁和数据同步管理、任务调度、线程管理、信号处理、消息队列、计时器管理、内存管理等领域。 特定于硬件的功能在 libcpu 和 BSP 级别实现,其中包括支持 CPU 所需的驱动程序和代码。
- 在内核之上运行并提供抽象的组件和服务,例如虚拟文件系统、异常处理系统、键/值存储、FinSH 命令行界面、网络堆栈 (LwIP) 和网络框架、设备支持库、声音子系统、无线堆栈,支持 Wi-Fi、LoRa、蓝牙、2G/4G 的组件。 模块化架构允许您根据您的任务和可用硬件资源连接组件和服务。
- 软件包。 通用软件组件和功能库以包的形式分发和安装。 该存储库目前包含 450 多个软件包,范围从 GUI、多媒体和网络应用程序到机器人控制系统和机器学习处理器。 这些软件包还提供了用于组织 Lua、JerryScript、MicroPython、PikaScript 和 Rust (rtt_rust) 中的程序执行的引擎。

平台特点:
- 架构支持:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33(支持 ST、Winner Micro、MindMotion、Realtek、Infineon、GigaDevic、Nordic、Nuvoton、NXP 等制造商的微控制器)。
- ARM Cortex-R4。
- ARM Cortex-A8/A9 (恩智浦)。
- ARM7(三星)。
- ARM9(全志、赛灵思、国科)。
- ARM11(富汉)。
- MIPS32(龙芯、君正)。
- RISC-V RV32E/RV32I[F]/RV64[D](si Five、Canaan Kendryt、bouffalo_lab、Nuclei、T-Head、HPMicro)。
- ARC(概要)
- DSP(TI)。
- c-天空。
- x86 进行预订。
- 可扩展的模块化架构,允许您创建适合资源有限的系统的环境(最低要求 - 3 KB 闪存和 1.2 KB RAM)。
- 支持程序开发的各种标准接口,如POSIX、CMSIS、C++ API。 另外,RTduino 层正在开发中,以兼容 Arduino 项目的 API 和库。
- 可通过软件包和插件系统进行扩展。
- 支持开发高性能信息处理应用程序。
- 灵活的电源管理系统,可自动将设备置于睡眠模式,并根据负载动态管理电压和频率。
- 硬件支持加密和解密,为库提供各种加密算法。
- 用于访问外围设备和附加设备的统一接口。
- 虚拟 FS 以及 FAT、UFFS、NFSv3、ROMFS 和 RAMFS 等 FS 驱动程序的可用性。
- 协议栈 TCP/IP以太网、Wi-Fi、蓝牙、NB-IoT、2G/3G/4G、HTTP、MQTT、LwM2M 等。
- 一种用于远程交付和安装更新的系统,支持通过数字签名进行加密和验证、恢复中断的安装、从故障中恢复、回滚更改等。
- 一个动态可加载内核模块的系统,允许您单独构建和开发内核组件,并在必要时动态加载它们。
- 支持各种第三方包,如Yaffs2、SQLite、FreeModbus、Canopen等。
- 能够直接编译带有组件的 BSP 包(板支持包)以支持特定的硬件平台,并将其上传到板。
- 模拟器 (BSP qemu-vexpress-a9) 的存在,使您无需使用真实的板即可开发应用程序。
- 支持GCC、MDK Keil、IAR等常用编译器和开发工具。
- 开发我们自己的集成开发环境 RT-Thread Studio IDE,它允许您创建和调试应用程序、将它们上传到开发板以及管理设置。 RT-Thread 开发插件也可用于 Eclipse 和 VS Code。
- Env 控制台界面的存在,简化了项目的创建和环境的设置。
新版本的变化包括:
- 已扩展对 Rust 语言组件开发的支持。新增了线程、互斥锁、信号量、消息队列以及内存、时间和文件操作的 Rust 绑定。已实现与 SCons 和 Cargo 集成的组件。现在可以自动检测 ARM、AArch64 和 RISC-V 目标平台。新增了用于初始化和命令注册的过程宏。
- 对于 Cortex-M 微控制器,已启用通过设备树对外设进行描述的开放固件标准的支持。
- 新增对 VirtIO 1.2 的支持,包括使用数据包队列、MMIO/PCI 传输和 DMA 同步。新增了 9P、加密、RNG、SCMI 和 SCSI 的 VirtIO 驱动程序。更新了网络、块设备、控制台、输入设备和 GPU 的 VirtIO 驱动程序。
- 新增了DVFS(动态电压和频率调节)框架,用于动态管理CPU和设备频率。同时,还集成了ARM SCMI固件,用于电源管理。此外,风扇管理也得到了改进。
- 增加了对 TEE(可信执行环境)环境和 RPMSG(远程处理器消息传递)消息机制的支持。
- 已实现对 Unix 套接字的支持。
- 增加了对无线网络安全机制 WPA3、EA(企业认证)、WAPI、OWE 和 DPP 的支持。
- 增加了对 PTP(精确时间协议)时间同步协议的支持。
- 新增的 Clock Time 框架用于处理时间,支持高精度计时器和跨多个时间源的时间同步。该框架取代了之前使用的 ktime、cputime 和 hwtimer 组件。
- 9PFS 文件系统已实现,用于在主机环境和虚拟机之间交换文件。
- 轻量级进程 (lwP) 的实现现在支持 ARM 架构,并增加了对 vDSO(虚拟动态共享对象)机制的支持,该机制允许将处理程序从内核移至用户空间,从而避免上下文切换。
- 内核实现了对 8 位和 16 位原子操作的支持。
- 为 XuanTie C/R 系列 RISC-V 处理器和 QEMU virt64 模拟器增加了对对称多处理 (SMP) 的支持。
- CherryUSB USB 协议栈已更新至 1.6.1。
- 新增了 UFS、AHCI、NVMe、以太网、Intel HDA、游戏手柄和触摸屏的 DM(设备管理器)驱动程序。
来源: opennet.ru
