RK3588增加Xenomai3实时补丁

Xenomai是一套为嵌入式系统设计的实时开发框架,通过 "双内核" 架构,让Linux既能处理复杂的通用任务,又能可靠地完成那些对响应时间有极端要求的任务,广泛用于工业自动化、机器人、航空航天等对实时性要求极高的场景。本篇文章以启扬RK3588开发板为例,分享如何增加Xenomai3实时补丁。

Xenomai官网:https://xenomai.org/

步骤:

只需要打两个补丁,Dovetail或者I-pipe补丁,以及xenomai3的内核补丁。

Dovetail 是 I-pipe 的后继产品,二选一,Dovetail支持5.10之后的内核, I-pipe反之。

0 1

打Dovetail补丁

我现在内核是6.1.99,主要Dovetail的补丁是RK发放的,RK修改过的,要用有这个补丁的内核版本,没有对应内核的Dovetail补丁问FAE也没用。

在sdk里面位置:docs/Patches/Real-Time-Performance/XENOMAI/kernel-6.1/6.1.99/

复制代码
cd kernel
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但是我没有找到。

这个补丁的作用是把硬件资源抽象化ADEOS,并且划分作用域。

作用是图中的域2。

0 2

打xenomai3的内核补丁

需要下载xenomai3的源码

复制代码
# 在sdk的根目录下  需要翻墙
git clone  https://source.denx.de/Xenomai/xenomai.git 
cd xenomai
# 选择版本
git checkout stable/v3.3.x
# 生成patch
scripts/prepare-kernel.sh --linux=/home/yangx/linux2/yangx/RK3588/IAC-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

0 3

配置内核选项

查看链接:Wiki · xenomai / xenomai · GitLab

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

复制代码
make menuconfig ARCH=arm64

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

内核的相关配置就结束了。

我的内核配置patch

rockchip_linux_defconfig.xlsx

0 4

编译xenoma3库

复制代码
# 在sdk的根目录下
cd xenomai
source 一下NXP的编译器 或者 配置一下编译器的环境变量
source /opt/fsl-imx-wayland/6.1-mickledore/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下生成的文件全部复制到板子的文件系统里面即可。
测试:

加压力测试以测试实时性和空闲状态下比较。

相关推荐
June bug7 分钟前
【PMP】敏捷Scrum实践
经验分享·职场和发展·学习方法·scrum
小龙报17 分钟前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业18 分钟前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能22 分钟前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn40 分钟前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响1 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
qq_672592751 小时前
电源芯片为什么发热
单片机·嵌入式硬件
天天爱吃肉82181 小时前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车
国科安芯2 小时前
抗辐照MCU在精密时频系统中的单粒子效应评估与可靠性验证
单片机·嵌入式硬件·架构·制造·安全性测试
星纬智联技术2 小时前
开源 AI-Eval:Prompt 评估系统,用单元测试跑
经验分享