1.2 Xenomai社区介绍

1.2 Xenomai社区介绍

1.2.1 社区概况

Xenomai 社区是一个全球性的开源实时操作系统(RTOS)生态圈,致力于为Linux内核提供高精度、低延迟的实时扩展环境,致力于:“让实时性成为Linux世界的一等公民”。它通过**双内核架构(Dual KernelArchitecture)**实现通用Linux与硬实时任务的共存,使得开发者能够在熟悉的 Linux 环境中实现毫秒乃至微妙级的实时响应。

社区由来自工业控制、机器人、自动化、通信、航空航天、汽车电子等领域的开发者、研究机构和企业组成。特别是西门子自2018年以来,长期投入 2~4 名工程师参与主线贡献工作。自2020年,Intel加入Xenomai社区,成为重要贡献者。

  • Philippe Gerum

    • 嵌入式领域专家,Xenomai 社区创始人和关键贡献者,是 《构建嵌入式LINUX系统》 一书的作者之一。目前致力于 Xenoami 4 的开发,包括中断管道 Dovetail 项目和实时内核 EVL 项目。
  • Jan Kiszka

    • 西门子嵌入式Linux技术中心的首席专家、顾问、开源布道师,是 Xenomai 社区的长期贡献者和主要维护者。目前主要负责 Xenomai 3 的开发和维护,包括新硬件支持、性能优化、bug修复、文档更新等。

Xenomai 社区的网址为 https://xenomai.org/,主页主要展示了 Xenomai 3 、Xenomai 4 、Dovetail 项目的项目链接、最新动态等信息。如需要Xenomai 2.x、I-pipe等项目归档信息,可以访问 https://ftp.denx.de/pub/xenomai/

Xenomai 社区在 lists.linux.dev 上有活跃的邮件列表,开发者可以通过邮件列表参与讨论、报告问题、请求帮助等。

  • 订阅邮件列表:https://subspace.kernel.org/lists.linux.dev.html
  • 查看归档邮件:https://lore.kernel.org/xenomai/

Xenomai 社区致力于在全球推广生态建设,多次在 Opensource Summit 、Embeded Linux Conference 等大会做主题演讲。同时,社区特别注重 Xenomai 在中国的发展,从2022年开始,每一年都会在中国举办Xenomai中国大会。

  • 2022年,第一届Xenomai中国大会由Intel主办
  • 2023年,第二届Xenomai中国大会由Intel和西门子合办
  • 2024年,第三届Xenomai中国大会由中科时代主办
  • 2025年,第四届Xenomai中国大会由中国计算机学会(CCF)、Xenomai中国社区、华中科技大学网络安全学院主办,CCF开源发展技术委员会、上海交通大学承办

1.2.2 主要项目介绍

Dovetail

https://gitlab.com/Xenomai/linux-dovetail

Dovetail 是 I-pipe 的继任者,可使 EVL 和 Cobalt 等实时内核能够处理具有关键低延迟要求的高优先级任务。Dovetail 在 I-pipe 的基础上,在 Linux 原生中断处理机制的框架下,实现了新的中断管道模型,提供了更加清晰的API,提高了与 Linux 内核的兼容性,便于跟随 Linux 内核的更新。Dovetail 项目支持 Linux 5.10/6.1/6.10等主流内核版本。

Dovetail 和 I-pipe 都是基于中断管道的实时内核补丁,它们的设计思想都源自于Karim Yaghmour的论文《Adaptive Domain Environment for Operating Systems》,简称 ADEOS。

Karim Yaghmour是Opersys公司(http://www.opersys.com)的创始人及总裁。Karim是Linux Trace Toolkit的维护者,也是 《构建嵌入式LINUX系统》 一书的第一作者。Philippe Gerum 参与撰写了《构建嵌入式LINUX系统》第二版的实时Linux章节。

ADEOS提出了Interrupt pipeline中断流水线的方法,可以让硬件中断在多个操作系统域中传递。先拿到中断的操作系统域,意味着有更高的优先级运行。操作系统必须找到一种方式,实现对中断的关闭与打开操作,也称为stall/unstall操作。

在这里插入图片描述

Dovetail/I-pipe中实现的ADEOS与原论文中的有不同点:

  • 仅支持2个操作系统域:Linux域(root域)和Cobalt域(head域)。
  • Linux域和Cobalt域都属于第一类操作系统,感知不到ADEOS的存在,只接收来自ADEOS的中断。Cobalt域优先接收并处理中断。
  • 原论文中,以x86架构为例,通过把Linux内核从Ring0移动到Ring1,来完成Linux对中断的关闭(Install)/打开(Unstall)操作。Dovetail/I-pipe采取了另一篇论文《Fast Interrupt Priority Management in OS Kernels》的思想,通过虚拟中断标志来完成Linux对中断的关闭(Install)/打开(Unstall)操作。
Xenomai 3

https://gitlab.com/Xenomai/xenomai3

Xenomai 3 采用协作式的“双内核”架构,通过 I-Pipe / Dovetail 补丁层,实时内核可以拦截中断、实现硬实时响应,从而保障系统的确定性行为。

  • Cobalt 核负责高优先级、确定性的实时任务
  • Linux 核继续处理普通任务与系统服务

Xenomai 3 提供了统一接口层(Skin),实现了种实时API接口(称为“皮肤”),便于开发者移植或开发实时应用:

  • POSIX skin(类 POSIX 接口)
  • Native API
  • Vxworks,pSOS, VxWorks skin 兼容层

Xenomai 3 提供了 RTDM(Real-Time Driver Model)实时设备驱动模型:

  • 解决了如何在实时内核中开发和访问驱动设备
  • 提供统一的驱动模型,简化了设备驱动的开发和移植

Xenomai 3 支持多种硬件架构:

  • x86/x86_64,支持所有兼容 x86 的 32/64 位处理器类型,从带有时间戳计数器(TSC)的 i586 CPU 开始。
  • arm/arm64
  • RISC-V,支持工作在进行中
  • PowerPC/32仍被支持,但是PowerPC/64已停止支持

具体的 SOC 或 开发板的支持,可以参考网址:https://v3.xenomai.org/hardware/index.html

Xenomai 3 还提供了从 Xenomai 2.x 迁移到 Xenomai 3 的迁移指南,具体参考网址:https://v3.xenomai.org/legacy/migrating-to-xenomai3/index.html

Xenomai 4

https://gitlab.com/Xenomai/xenomai4

相比 Xenomai 3,Xenomai 4 包括三个主要改进:

  1. 伴随实时内核 EVL:EVL 当前仍在开发中,它将在 Xenomai 4 中取代 Cobalt 作为Linux内核的一部分,对时间要求严格的应用程序提供实时服务,而不再像Cobalt那样作为一个完全独立的实时核。

  2. EVL 从2019年起开始发展,就是基于 Dovetail。Xenomai 3则经历了一个两个过度版本:

    • Xenomai 3.1 与 Xenomai 4 使用共用的通用 Xenomai 平台
    • Xenomai 3.2 开始使用Dovetail 补丁(要求Linux版本5.10+)
    • Xenomai 3.3 开始只支持 Dovetail,不再支持 I-PIPE
  3. 除了C语言的实时接口 libevl 库,从2022年开始支持 Rust 语言的实时接口 revl 库。

1.2.3 质量保证

Xenomai 镜像

https://gitlab.com/Xenomai/xenomai-images

Xenomai 提供了 xenomai-image项目来构建适用于 QEMU 和物理设备的可启动镜像,以便进行评估或测试。

xenomai-image项目可以生成适用于QEMU虚拟机和真实目标设备的可启动镜像,用于运行 Xenomai 实时系统,以便进行评估或测试。

Xenomai 测试套件

Xenomai 3 内置了一个测试套件,通过 CI/CD 触发测试,用于保障 Xenomai 3 的基本功能,包括时钟测试、延迟测试等。

LAVA 实验室

Xenomai 项目 维护了一个用于集成测试的 LAVA 实验室

可以通过遵循 安装说明 创建一个 LAVA 实验室,或者使用 lava-docker 进行更快的设置。

也可以将实验室连接到 lava.xenomai.org。请通过邮件列表与维护者联系,以将新实验室连接到 lava.xenomai.org。

六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值