前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xenomai 概述

Xenomai 概述

原创
作者头像
ZC_Robot机器人技术
修改2020-09-09 13:50:39
5.3K0
修改2020-09-09 13:50:39
举报

1 Xenomai 概述

Xenomai 是RTOS-to-Linux的可移植框架

实时系统框架主要包含:

  • As co-kernel extension for patched linux
  • As libraries for native linux including preempt-RT

Xenomai 1.0

•2001年宣布-作为RTOS应用程序的可移植性框架

•开发Linux和RTAI的ADEOS层

•与RTAI合并=> RTAI / fusion

Xenomai 2.0

•2005年脱离RTAI –不兼容的设计目标

•从ADEOS到I-pipe层的演进(也被RTAI使用)

•移植到6种架构

Xenomai 3.0

•经过5年的开发,于2015年发布

•内核核心(现在以POSIX为中心)的返工

•支持本机Linux

2 Xenomai 2 的双内核的架构如下所示

RTDM包括

Goals and principles

• Provide environment for co-kernel real-time drivers

• Service interface towards applications and other drivers

• Low-level primitives from implementing drivers

• Reuse Linux for non-RT purposes (setup / shutdown, resource discovery and claiming, etc.) Two types of RTDM devices

• Character device (open/close, read, write, ioctl)

• Protocol device (socket, bind, send, recv, etc.) Device profiles

• Character: UART, UDD (analogous to UIO), Memory, ...

• Protocol: UDP/TCP (RTnet), CAN, IPC, ..

3 Xenomai 3 for native linux

Xenomai3在内核中只有一个cobalt core,并没有POSIX/native/VxWorks等等的封装,内核的代码本来就不易于调试,也就不易于维护(保持正确性),减少内核代码就有利于代码的稳定性。最重要的是只有一个cobalt,大大减轻了维护人员的工作。

编译mercury核比较简单的,内核可以不做任何修改,只需要编译用户空间库

涉及到rtdm驱动需要基于cobalt核

从xenomai3开始支持两种方式构建linux实时系统,分别是cobalt 和 mercury。

  • cobalt :添加一个实时核,双核结构,具有实时内核cobalt、实时驱动模型RTDM、实时应用POSIX接口库libcobalt,基于libcobalt的其他API skins,如Alchemy API、VxWorks® emulator、pSOS® emulator等。
  • mercury :基于直接修改linux内核源代码的PREEMPT RT,应用空间在glibc之上,添加xenomai API库,如下图所示。在不支持cobalt内核时,可使用该方法运行xenomai应用;
  • Cobalt – Co-kernel variant of Xenomai 3
  • Mercury – Native Linux variant of Xenomai 3
  • Alchemy – Xenomai-own real-time API
  • Copperplate – Library layer for building RTOS APIs
  • Boilerplate – Internal utility Library
  • Trank – Library to support porting from Xenomai 2 to 3
  • RTDM – Real-Time Driver Model, kernel API that enables RT drivers, specifically for Cobalt Analogy – RTDM drivers for digital/analogue converters
  • Adeos – Original interrupt pipeline for Linux, used by early Xenomai 2 versions
  • I-pipe – Evolution and simplification of Adeos
  • Dovetail – New architecture of Linux extensions to hook Xenomai 3 into Linux

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Xenomai 概述
  • 2 Xenomai 2 的双内核的架构如下所示
  • 3 Xenomai 3 for native linux
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档