如何基于rk3588平台构建安装xenomai4(EVL)实时操作系统?

摘要:本文简要记录在瑞芯微RK3588(ARM64)构建安装实时linux操作系统xenomai4的过程,以及实时性测试,希望对你有所帮助!
目录0 环境说明1 内核构建2 库编译方式1 交叉编译方式2 本地编译3 测试单元测试hectic:EVL 上下文切换latmus:latency测试4 RK3588 xenomai4实时性能5 总结 Xenomai4自2021年首个稳定版本发布以来已经相当长一段时间,那时仅在x86架构上简单的跑了跑,之后就再没关注过。近期,我愈发好奇Xenomai 4在ARM64平台上的实时性能表现,尤其是与Xenomai 3相比如何。恰逢周末空闲,盘一盘它。 本文不算教程,而仅仅是对在ARM64(具体为RK3588平台)上构建Xenomai 4 EVL过程的一次简要记录,希望能为感兴趣的读者提供些许参考。 0 环境说明 目标平台如下; 硬件平台 NanoPi R6C/R6S/T6 SoC: Rockchip RK3588S、RK3588 CPU: Quad-core ARM Cortex-A76(up to 2.4GHz) and quad-core Cortex-A55 CPU (up to 1.8GHz) GPU: Mali-G610 MP4, compatible with OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan1.2 VPU: 8K@60fps H.265 and VP9 decoder, 8K@30fps H.264 decoder, 4K@60fps AV1 decoder, 8K@30fps H.264 and H.265 encoder NPU: 6TOPs, supports INT4/INT8/INT16/FP16 RAM: 64-bit 8GB LPDDR4X at 2133MHz Flash: 32GB eMMC, at HS400 mode Ethernet: one Native Gigabit Ethernet, and two PCIe 2.5G Ethernet 由于瑞芯微rk35xx系列SDK基本一致,所以也适用于其他rk3568、rk3562等硬件。 桌面发行版:ubuntu 24.04.1 LTS (Noble Numbat) 交叉编译环境:ubuntu 24.04 + rk3588-sdk-1.30(有需要该SDK的私信领取) 1 内核构建 基于瑞芯微rk3588构建evl内核。与xenomai3一样,xenomai4由以下部分组成: linux内核:linux内核一般由厂商sdk提供。 dovetail补丁:这部分从xenomai官方仓库提取。 evl内核:这部分取自xenomai官方仓库(已包含dovetail和主线linux)。 git@git.xenomai.org:Xenomai/xenomai4/linux-evl.git https://git.xenomai.org/xenomai4/linux-evl.git libevl:用户空间库,供实时任务编程接口(目前还不支持posix)。 git@git.xenomai.org:Xenomai/xenomai4/libevl.git https://git.xenomai.org/xenomai4/libevl.git dovetail和evl是基于linux主线内核开发的,xenomai官方仓库已经提供了包含dovetail补丁+evl实时内核的仓库:https://source.denx.de/Xenomai/xenomai4/linux-evl。所以,如果厂商BSP内核已经完全上游化,我们直接拉这个仓库配置、编译安装内核即可,比如X86平台。 但是,我们使用的硬件是瑞芯微rk3588,目前瑞芯微rk3588的BSP还没有上游化,无法直接xenomai4的仓库,需要在厂商sdk linux内核上一步步添加,除linux内核外其余部分均从xenomai仓库中提取,这个方式就是xenomai4文档中说的树外构建。详细的参考xenomai4移植指南https://v4.xenomai.org/ports/和xenomai4开发流程https://v4.xenomai.org/devprocess/. 移植dovetail补丁,详见https://v4.xenomai.org/dovetail/porting/,同样由于ARM外设的多样性,对于主线内核没有的部分dovetail需要调整,编译安装-测试-修改-编译安装测试,这是一步一完善的过程。 dovetail补丁测试通过后,从evl仓库中对应版本提取evl内核补丁,在1的基础上打evl内核补丁,解决补丁冲突。
阅读全文