RT-Thread 5.1实时操作系统发布

经过一年的开发,面向物联网设备的实时操作系统(RTOS)RT-Thread 5.1现已推出。该系统自2006年起由中国开发者社区开发,目前已移植到154款基于x86、ARM、MIPS、C-SKY、Xtensa、ARC和RISC-V架构的板卡、芯片和微控制器。简约的 RT-Thread (Nano) 构建仅需要 3 KB 闪存和 1.2 KB RAM 即可运行。对于资源不是很有限的物联网设备,提供了全功能版本,支持包管理、配置器、网络堆栈、具有图形界面实现的包、语音控制系统、DBMS、网络服务和执行引擎脚本。该代码是用 C 语言编写的,并根据 Apache 2.0 许可证分发。

操作系统由三个基本层组成:

  • 实时执行任务的内核。 内核提供通用核心原语,涵盖锁和数据同步管理、任务调度、线程管理、信号处理、消息队列、计时器管理、内存管理等领域。 特定于硬件的功能在 libcpu 和 BSP 级别实现,其中包括支持 CPU 所需的驱动程序和代码。
  • 在内核之上运行并提供抽象的组件和服务,例如虚拟文件系统、异常处理系统、键/值存储、FinSH 命令行界面、网络堆栈 (LwIP) 和网络框架、设备支持库、声音子系统、无线堆栈,支持 Wi-Fi、LoRa、蓝牙、2G/4G 的组件。 模块化架构允许您根据您的任务和可用硬件资源连接组件和服务。
  • 软件包。 通用软件组件和功能库以包的形式分发和安装。 该存储库目前包含 450 多个软件包,范围从 GUI、多媒体和网络应用程序到机器人控制系统和机器学习处理器。 这些软件包还提供了用于组织 Lua、JerryScript、MicroPython、PikaScript 和 Rust (rtt_rust) 中的程序执行的引擎。

RT-Thread 5.1实时操作系统发布

平台特点:

  • 架构支持:
    • 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 控制台界面的存在,简化了项目的创建和环境的设置。

新版本的变化包括:

  • RT-Smart是一种基于RT-Thread的应用程序与内核分离的混合操作系统,默认支持epoll、eventfd、signalfd、timerfd和select机制。终端仿真器子系统已经实现。添加了对 DFZU2EG MPSoC 和 cv181x-riscv 器件的支持。
  • RTduino 是一个确保与 Arduino 生态系统兼容的层,增加了对 raspberry-pico、stm32h503-st-nucleo、stm32h563-st-nucleo、stm32f412-nucleo、stm32f407-rt-spark 板的支持。
  • 更新了 ssh、sftp、weston 和 vim 等第三方组件。
  • 新增对 HPMicro RISC-V、STM32 Nucleo、Adafruit Metro M4、Seeed Wio-Terminal、ST (stm32L431_ten) 等新开发板和芯片的支持centos,stm32h7s7-disco、stm32f407-lckfb-skystar、stm32h503-st-nucleo),瑞萨电子(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)。
  • 任务调度程序和CPU的工作已经得到优化。添加了一个层来抽象 rt_sched 调度程序。
  • 多核系统的优化工作已经开展。
  • 已提供将处理程序连接到 malloc 内存分配操作的能力。
  • 对于ARM64和RV64架构,实现了对内核回溯的支持。
  • 向新的设备驱动程序模型的过渡仍在继续。
  • virtio 驱动程序 qemu-virt64-aarch64 和 qemu-virt64-riscv 中添加了 SDL2 支持。
  • 添加了用于开发 clk 驱动程序的框架。
  • 向 DFS 添加了 exfat 配置。内核已默认切换为使用 dfsv2 文件系统。
  • 改进了对 TTY 终端的支持。
  • I/O 系统添加了对 O_DIRECT 和 O_SYNC 标志的支持。
  • 在轻量级进程lwP(Lightweight Process)的实现中,wp_new函数被lwp_create替代。添加了 sys_setitimer 函数。
  • MM内存管理器添加了对内存预留的支持,并实现了rt_aspace_mremap_range函数。
  • Libcpu 增加了对 ARM Cortex-M85 和 Cortex-R52 处理器的支持

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster