After a year of development, the real-time operating system (RTOS) for Internet-of-Things devices, RT-Thread 5.1, has been released. This system, developed by a community of Chinese developers since 2006, is currently ported to 154 boards, chips, and microcontrollers based on architectures such as x86, ARM, MIPS, C-Sky, XTensa, Arc, and RISC-V. The minimalistic assembly of RT-Thread (nano) requires only 3 KB Flash and 1.2 KB RAM. For IoT devices with more resources, a full-functioning version supporting package control, configurators, network stacks, graphic interfaces, voice control systems, DBMS, network services, and script engines is available. The code is written in the language of si and is distributed under the Apache 2.0 license.
The operating system consists of three basic layers:
- The core layer ensures real-time task performance and provides basic primitives for tasks, data synchronization, task planning, signal processing, messages, timer management, and memory management. Specific hardware features are implemented at the LibCPU and BSP levels, including necessary drivers and code to support CPU.
- Components and services operate above the core layer and offer abstractions such as a virtual file system, exception processing system, key/value storage, FinSH command line interface, network stack (LWIP), network frameworks, device support libraries, sound subsystem, wireless stack, and components for supporting Wi-Fi, Lora, Bluetooth, and 2G/4G. The modular architecture allows components and services to be connected based on tasks and available hardware resources.
- Program packages are distributed as general-purpose software components and libraries of functions. The repository currently includes over 450 packages with graphic interfaces, multimedia applications, network applications, robot management systems, and machine learning handlers. The packages also include engines for organizing programs in Lua, Jerryscript, Micropython, Pikascript, and Rust (rtt_rust).
Platform features:
- Support for architectures:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (supports microcontrollers from manufacturers such as ST, Winner Micro, Mindmotion, Realtek, Infineon, Gigadevic, Nordic,