The real-time operating system RT-Thread 5.0 is now available.

The release of RT-Thread 5.0 has been published, a real-time operating system (RTOS) for Internet of Things devices. The system has been in development since 2006 by a community of Chinese developers and is currently ported for almost 200 platforms, chips, and microcontrollers based on x86, ARM, MIPS, C-SKY, Xtensa, ARC, and RISC-V architectures. The minimalist RT-Thread (Nano) build requires only 3 KB of Flash and 1.2 KB of RAM to operate. For IoT devices with more resources, a fully functional version is available, supporting package management, configuration tools, a network stack, graphical interface implementations, voice control systems, databases, network services, and scripting engines. The code is written in C and is distributed under the Apache 2.0 license.

Platform Features:

  • Supported architectures:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (supported microcontrollers from manufacturers such as ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevice, Nordic, Nuvoton, NXP).
    • ARM Cortex-R4.
    • ARM Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingenic).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head).
    • ARC (SYNOPSYS).
    • DSP (TI).
    • C-Sky.
    • x86.
  • Extendable modular architecture that allows for an environment suitable for resource-constrained systems (minimum requirements: 3 KB Flash and 1.2 KB RAM).
  • Support for various standard interfaces for program development, such as POSIX, CMSIS, C++ API. An RTduino layer is being developed separately for compatibility with the APIs and libraries of the Arduino project.
  • Extendability through a package and component plugin system.
  • Support for application development for high-performance information processing.
  • Flexible power management system that allows automatically putting the device into sleep mode and dynamically managing voltage and frequency according to load.
  • Support for hardware for encryption and decryption, providing libraries with various cryptographic algorithms.
  • Unified interface for accessing peripheral devices and additional hardware.
  • Virtual file system and drivers available for file systems such as FAT, UFFS, NFSv3, ROMFS, and RAMFS.
  • Protocol stack for TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etc.
  • Remote delivery and installation system for updates, supporting encryption and digital signature verification, resuming interrupted installations, recovery from failures, reverting changes, etc.
  • A system of dynamically loadable kernel modules that allows for separate construction and development of kernel components, and dynamically loading them as needed.
  • Support for various third-party packages, such as Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • The ability to directly compile a BSP (Board Support Package) with components for supporting a specific hardware platform and loading it onto the board.
  • The presence of an emulator (BSP qemu-vexpress-a9) that allows development of applications without using real boards.
  • Support for standard compilers and development tools, such as GCC, MDK Keil, and IAR.
  • Development of the integrated development environment RT-Thread Studio IDE, which allows creating and debugging applications, loading them onto boards, and managing settings. Plugins for developing applications for RT-Thread are also available for Eclipse and VS Code.
    The real-time operating system RT-Thread 5.0 is now available.
  • The presence of the Env console interface, simplifying project creation and environment configuration.
    The real-time operating system RT-Thread 5.0 is now available.

The operating system is made up of three basic layers:

  • The kernel, which ensures task execution in real time. The kernel provides universal basic primitives covering areas such as lock management and data synchronization, task scheduling, thread management, signal handling, message queues, timer management, and memory management. Hardware-specific features are implemented at the libcpu and BSP levels, which include the necessary drivers and code to support the CPU.
  • Components and services that operate on top of the kernel and offer abstractions such as a virtual file system, exception handling system, key/value storage, command line interface FinSH, network stack (LwIP) and networking frameworks, device support libraries, audio subsystem, wireless stack, components for supporting Wi-Fi, LoRa, Bluetooth, 2G/4G. The modular architecture allows for the connection of components and services based on specific tasks and available hardware resources.
  • Package programs. General-purpose software components and function libraries are distributed and installed in the form of packages. Currently, the repository includes over 450 packages, offering everything from graphical interfaces, multimedia applications, and network applications to robotic control systems and machine learning-based handlers. Packages also include engines for executing programs in Lua, JerryScript, MicroPython, PikaScript, and Rust (rtt_rust).

The real-time operating system RT-Thread 5.0 is now available.

Among the new features added in version 5.0, notable improvements include significant enhancements for multicore and multithreaded systems (for example, the network stack and file systems have been adapted for multithreaded operation, and the scheduler has been divided into options for single-core systems and SMP). TLS (Thread Local Storage) implementation has been added. Support for Cortex-A chips has been improved. There is significant enhancement in supporting 64-bit systems (the TCP/IP stack and file systems have been verified for 64-bit systems). Flash memory management components have been integrated. The driver development toolkit has been revamped.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster