技术分享 | RK3588集成Xenomai3实时补丁实践
2025-12-04 来源:elecfans
Xenomai是一套为Linux设计的实时开发框架,通过“双内核”架构,使系统既能处理复杂的通用任务,又能可靠地完成对响应时间有极端要求的实时任务,广泛应用于航空航天等对实时性要求极高的场景。本篇文章以启扬RK3588开发板为例,分享如何添加Xenomai3实时补丁。

步骤:
只需要打两个补丁,Dovetl或者I-pe补丁,以及xenomai3的内核补丁。
Dovetail 是 I-pipe 的后继产品,二选一,Dovetail支持5.10之后的内核, I-pipe反之。
01
打Dovetail补丁
我现在内核是6.1.99,主要Dovetail的补丁是RK发放的,RK修改过的,要用有这个补丁的内核版本,没有对应内核的Dovetail补丁问FAE也没用。
在k里面位置:docs/Patches/Real-me-Peormance/XENOMAI/kernel-6.1/6.1.99/
cdkernel
git apply docs/Patches/Real-Time-Performance/XENOMAI/kernel-6.1/6.1.99/*
PS:https://source.denx.de/Xenomai/linux-dovetail.git
有跟随内核主线维护的Dovetail的内核仓库,这个仓库就是加了Dovetail的内核,也有对应的patch但是我没有找到。
这个补丁的作用是把硬件资源抽象化EOS,并且划分作用域。
作用是图中的域2。
02
打xenomai3的内核补丁
需要下载xenomai3的源码
# 在sdk的根目录下 需要翻墙
gitclone https://source.denx.de/Xenomai/xenomai.git
cdxenomai
# 选择版本
git checkout stable/v3.3.x
# 生成patch
scripts/prepare-kernel.sh --linux=/home/yangx/linux2/yangx/RK3588/I-RK3588-MB-kernel-6.1/kernel/ --arch=aarch64 --outpatch=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/cobalt.patch
# 进入kernel 打patch即可
git apply ../cobalt.patch
03
配置内核选项
查看链接:Wiki · xenomai / xenomai · GitLab

以及这些选项配置:有的没有,尽量一致

make menuconfig ARCH=64
进入menuconfig的界面,打入的补丁正常的话会显示:

内核的相关配置就结束了。
我的内核配置patch
_linux_defconfig.xlsx
04
编译xenoma3库
# 在sdk的根目录下
cdxenomai
source一下的编译器 或者 配置一下编译器的环境变量
source/opt/fsl-imx-wayland/6.1-mickore/environment-setup-armv8a-poky-linux
# 生成Makefile
./scripts/bootstrap
./configure CFLAGS="-mtune=cortex-a76"LDFLAGS="-mtune=cortex-a76"--build=i686-pc-linux-gnu --host=aarch64-linux-gnu --with-core=cobalt --enable-smp CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-ld
# 编译 安装
make -j128
mkdir -p build && make install DESTDIR=./build/
# 之后把build下生成的文件全部复制到板子的文件系统里面即可。
测试:
加压力测试以测试实时性和空闲状态下比较。
- 嵌入式的风向变了:2026纽伦堡嵌入式展透露这些趋势
- 高通确认不在GDC 2026发布新款骁龙G系列掌机处理器SoC
- 行业评论 从工具到平台:如何化解跨架构时代的工程开发和管理难题
- 阿里达摩院发布玄铁C950,打破全球RISC-V CPU性能纪录
- 面向嵌入式部署的神经网络优化:模型压缩深度解析
- Mujoco中添加Apriltag标签并实现相机识别教程
- 摩尔线程MTT S5000全面适配Qwen3.5三款新模型
- 英飞凌与宝马集团携手合作,基于Neue Klasse架构塑造软件定义汽车的未来
- 物理AI仿真新突破:摩尔线程与五一视界共建全栈国产化生态
- 爆火的OpenClaw! 告别云端,米尔RK3576开发板本地部署
- 中国芯片研发重要成果!中科院发布香山、如意系统
- Miniconda环境隔离教程:解决Python版本冲突的完整指南
- Jetson GPU Burn烤机测试与PTX编程详解
- LabelImg安装使用教程:YOLOv12训练数据标注完整指南
- 根据题意,水位上升记为正,下降记为负。汛期水位上升3分米(即0.3米)记作+3分米,此时达到最高水位12.5米,因此基准水位(记作0时的水位)为: 12.5米 - 0.3米 = 12.2米。 汛期过后水位下降4分米(即0.4米),是从最高水位下降,故实际水位为: 12.5米 - 0.4米 = 12.1米。 实际水位相对于基准水位的变化量为: 12.1米 - 12.2米 = -0
- YOLOv12训练实战:train.py常用参数详解
- Altera 与 Arm 深化合作,共筑 AI 数据中心高效可编程新方案
- 莱迪思加入英伟达 Halos生态系统,通过Holoscan传感器桥接技术提升物理人工智能安全性
- 芯科科技闪耀2026嵌入式世界展 以Connected Intelligence赋能,构建边缘智能网联新生态




