瑞芯微RK35XX系列Linux实时性详细测试对比( PREEMPT_RT和Xenomai )

工业控制、工业网关、轨道交通、能源电力等场景,都需要一个运行稳定、可靠的"实时操作系统"。RT-Linux作为一款开源实时性操作系统,拥有实时性内核、开源、免费、功能完善等特性,完美满足了工业场景需求。

本文基于触觉智能旗下瑞芯微RK系列开发板,历经240小时实测!展开RT-Linux实时性系统两大内核:PREEMPT_RT与Xenomai实时性数据测评!

RT-Linux内核简介

  • PREEMPT_RT

PREEMPT_RT是RT-Linux实时性内核补丁,通过增强内核抢占能力、将中断处理线程化、改造锁机制等方式,大幅降低系统延迟峰值(低至微秒级),减少 "不可抢占" 场景,使 Linux 能更好适配工业控制、机器人、自动驾驶等对实时响应要求严苛的场景,目前其核心功能已逐步整合到 Linux 主线内核,可通过配置直接启用。

  • Xenomai

Xenomai是一套为嵌入式系统设计的实时开发框架,通过 "双内核" 架构(在 Linux 内核旁运行实时微内核),为应用提供纳秒级别的硬实时响应能力,同时允许实时任务与 Linux 系统服务协同工作,广泛用于工业自动化、机器人、航空航天等对实时性要求极高的场景,支持多种硬件架构且兼容POSIX 实时接口。

  • 实时性测试环境

测试主板:触觉智能旗下瑞芯微RK35XX系列开发板,包括RK3506、RK3562、RK3568、RK3576、RK3588。

软件测试工具:Cyclictest(通过串口工具命令操作)

RT-Linux系统-PREEMPT_RT内核测试

触觉智能RK3506、RK3562、RK3576、RK3568、RK3588五款开发板,分别在CPU空载、满负荷+核心隔离的三种情况下,运行指令连续测试24小时,数据如下:

  • RK3506系统内核为Linux Kernel6.1.84
  • RK3562-系统内核为Linux Kernel5.10.226
  • RK3568系统内核为Linux Kernel5.10.209
  • RK3576系统内核为Linux Kernel6.1.99
  • RK3588-系统内核为Linux Kernel5.10.226
  • RK系列开发板PREEMPT_RT实测数据对比

RT-Linux系统-Xenomai内核测试

Xenomai与PREEMPT_RT测试方法一致,数据如下:

  • RK3506
  • RK3562
  • RK3568
  • RK3576
  • RK3588
  • RK系列开发板Xenomai实测数据对比

结论分析

在处理器性能差异的情况下,触觉智能RK3506(Linux6.1内核 )实时性延迟竟超过了性能更优的RK3568Linux5.10内核表现。经验证主要有以下几点原因造成:

(1)调度器改进

Linux 6.1对调度器(如CFS)进行了多项优化,包括负载均衡算法改进(如公平组调度优化),减少了任务迁移延迟。

(2)中断线程化增强

Linux 6.1改进了线程化中断(IRQ threads)的优先级管理,确保高优先级中断能更快抢占低优先级线程。例如,irq_work_queue()的优化减少了中断处理延迟。

(3)锁机制优化

Linux 6.1引入了更细粒度的rtmutex锁优化,减少了RT任务在争抢锁时的等待时间。例如,通过"锁 stealing"机制避免无效的唤醒操作。

(4)Preempt-RT补丁版本

Linux 6.1集成了更新的RT补丁,修复了5.10的早期版本(如RK3568的5.10.209)的定时器竞争条件和优先级继承漏洞。

相关推荐
普中科技1 天前
【普中STM32F1xx开发攻略--标准库版】-- 第 38 章 RS485 通信实验
stm32·单片机·嵌入式硬件·开发板·通信·rs485·普中科技
阿拉斯攀登2 天前
【RK3576 安卓 JNI/NDK 系列 04】JNI 核心语法(下):字符串、数组与对象操作
android·驱动开发·rk3568·瑞芯微·rk安卓驱动·jni字符串操作
普中科技2 天前
【普中 51-Ai8051 开发攻略】-- 第 3 章 Ai8051U 介绍
单片机·嵌入式硬件·开发板·普中科技·ai8051u·aicube
阿拉斯攀登3 天前
【RK3576 安卓 JNI/NDK 系列 05】NDK 构建系统:CMakeLists.txt 从入门到精通
cmake·rk3568·瑞芯微·rk安卓驱动·安卓jni·ndk构建系统
阿拉斯攀登3 天前
【RK3576 安卓 JNI/NDK 系列 10】综合实战:RK3576 智能环境监测系统全实现 + 系列总结
rk3568·瑞芯微·rk安卓驱动·ndk构建系统·嵌入式智能终端
阿拉斯攀登3 天前
【RK3576 安卓 JNI/NDK 系列 09】RK3576 实战(三):JNI 调用 librga 实现 2D 硬件加速图像处理
android·驱动开发·rk3568·瑞芯微·rk安卓驱动·rk3576 rga加速
阿拉斯攀登4 天前
第 12 篇 RK 平台安卓驱动实战 5:SPI 设备驱动开发,以 SPI 屏 / Flash 为例
android·驱动开发·rk3568·瑞芯微·嵌入式驱动·安卓驱动·spi 设备驱动
Deepoch5 天前
Deepoc具身模型开发板:重塑银发科技关怀的智慧核心
人工智能·科技·开发板·智能·具身模型·deepoc·居家机器人
阿拉斯攀登5 天前
第 13 篇 输入设备驱动(触摸屏 / 按键)开发详解,Linux input 子系统全解析
android·linux·运维·驱动开发·rk3568·瑞芯微·rk安卓驱动
阿拉斯攀登5 天前
第 11 篇 RK 平台安卓驱动实战 4:I2C 设备驱动开发,以 OLED 屏为例
android·驱动开发·i2c·瑞芯微·嵌入式驱动·rk3576·嵌入式安卓