The real-time operating system RT-Thread 5.1 has been released.

After a year of development, RT-Thread 5.1 is available, a real-time operating system (RTOS) for Internet of Things devices. The system has been evolving since 2006 by a community of Chinese developers and is currently ported for 154 platforms, chips, and microcontrollers based on x86, ARM, MIPS, C-SKY, Xtensa, ARC, and RISC-V architectures. The minimalist RT-Thread (Nano) build requires just 3 KB of Flash and 1.2 KB of RAM to function. For IoT devices that are not heavily resource-constrained, a full-featured version is available, supporting packet management, configurators, network stacks, packages with graphical interface implementations, voice control systems, databases, network services, and script execution engines. The code is written in C and distributed under the Apache 2.0 license.

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.1 has been released.

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, HPMicro).
    • 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 presence of the Env console interface, simplifying project creation and environment configuration.

Among the changes in the new release:

  • RT-Smart, a hybrid operating system based on RT-Thread that separates applications from the kernel, includes support for epoll, eventfd, signalfd, timerfd, and select mechanisms by default. A terminal emulator subsystem has been implemented. Support for DFZU2EG MPSoC and cv181x-riscv devices has been added.
  • RTduino, a layer for ensuring compatibility with the Arduino ecosystem, has added support for raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, and stm32f407-rt-spark boards.
  • Updated third-party components, such as ssh, sftp, weston, and vim.
  • Support for new boards and chips has been added, such as HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
  • Performance optimization for task schedulers and CPU has been implemented. A layer for abstracting the rt_sched scheduler has been added.
  • Optimizations have been made for operation on multi-core systems.
  • The ability to attach handlers to memory allocation operations malloc has been provided.
  • Support for kernel backtracing for ARM64 and RV64 architectures has been implemented.
  • Transition to a new device driver model has continued.
  • Support for SDL2 has been added in the virtio drivers qemu-virt64-aarch64 and qemu-virt64-riscv.
  • A framework for developing clk drivers has been added.
  • Configuration for exfat has been added in DFS. The kernel is by default switched to using the dfsv2 filesystem.
  • Improved support for TTY terminals.
  • Support for O_DIRECT and O_SYNC flags has been added to the input/output system.
  • In the implementation of lightweight processes (lwP), the function wp_new has been replaced with lwp_create. The function sys_setitimer has been added.
  • The memory manager MM now supports memory reservation and has implemented the function rt_aspace_mremap_range.
  • Support for ARM Cortex-M85 and Cortex-R52 processors has been added to Libcpu.

Source: opennet.ru

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