如何基于X86_64和ARM构建xenomai3 Linux实时操作系统?

摘要:版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https:www.cnblogs.comwsg1100 目录一、概要二、环境准备1.1 安装内核编译工具1.2 准备内核及补丁文件三、内核安装流程3
版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/ 目录一、概要二、环境准备1.1 安装内核编译工具1.2 准备内核及补丁文件三、内核安装流程3.1 打ipipe补丁3.2 打dovetail补丁3.3 添加xenomai内核3.4 xenomai 内核配置3.4.1 ipipe xenomai 内核配置3.4.2 dovetail xenomai 内核配置3.4 内核编译与安装a) 编译构建xenomai内核debian安装包b) 分步编译内核并安装四、安装xenomai库4.1 编译安装实时库libcobalta) 编译构建xenomai库debian安装包b) 分步编译安装xenomai库五、X86 平台xenomai实时性测试六、arm架构安装xenomai七、ARM 平台xenomai实时性测试7.1 IRQ-timer handler7.2 内核态任务7.3 用户态任务八、arm64架构安装xenomai(瑞芯微RK3588)九、xenomai实时性能优化参考链接: 最近接触实时系统Xenomai,该文章整理记录X86 ubuntu环境下xenomai 内核编译、xenomai应用环境搭建步骤,其他硬件架构(如arm、arm64)类似,先在X86上安装好环境才能更好的开发验证xenomai程序吧,更多信息见文末参考链接,希望对你有所帮助。 补充 如果你只需要一个现成的xenomai/PREEMPT-RT环境进行评估或者应用开发,不想要繁琐的构建过程,本人提供了一个X86下的xenomai/PREEMPT-RT预构建安装包和源码,内核版本5.15和6.8,支持debian 10,ubuntu 18/20/22/24及其衍生版,详见: 【闲鱼】https://m.tb.cn/h.6b2Rf6l?tk=3XrTerNOGZb CZ193 「我在闲鱼发布了【#x86平台 Linux实时系统PREEMPT-RT、xen】」 点击链接直接打开 一、概要 xenomai是众多inux实时性解决方案中的一种,通过在linux的基础上添加一个RTOS内核cobalt,来提高linux的实时性。实时内核cobalt与非实时内核linux相结合,既能提供工业级RTOS的硬实时性能,又能利用linux操作系统非常出色的网络和图形界面服务,在产品的开发周期和成本控制方面都有巨大优势,结构如下: 主要有3部分,xenomai的移植构建也是围绕这三部分来进行: 用户空间中的实时应用程序库libcobalt; 内核空间中的实时内核Cobalt; 硬件架构与Linux内核版本相关层 ipipe-core或dovetail。 libcobalt和Cobalt的源码随xenomai更新,位于同一源码包内,ipipe-core和dovetail则与硬件架构和具体linux版本相关,以补丁的方式提供,需要单独下载; 由于一些ipipe维护困难的关系,从linux5.4以上版本不再提供ipipe,ipipe由dovetail替代。 所以如果你的linux内核版本在5.4以上版本的话需要使用dovetail。 总的来说,ipipe-core和dovetail实现必要功能的同时,也是xenomai与硬件架构、linux版本间的解耦层,社区提供了常见架构下各linux版本的补丁。xenomai的移植步骤如下: 准备好ipip-core或dovetail补丁,对linux5.4以下版本使用ipipe-core,linux5.4以上版本需要dovetail替代。 打cobalt内核补丁,编译构建内核。 libcobalt库编译安装,设置环境变量。 步骤1中的源码文件也可直接从xenomai维护分支直接拉取,直接对拉取的代码进行步骤2、3即可(不建议自己打补丁,最好使用 xenomai 维护的内核分支)。
阅读全文