5 Star 26 Fork 58

中兵火龙操作系统 / Xenomai

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
mk
Loading...
README

Huolong_Xenomai

介绍

Xenomai在龙芯3a5000cpu配套的火龙demo板上的微内核应用。 目前支持的CPU包括龙芯3a4000和龙芯3a5000。 配套的Linux内核版本是4.19.190,Xenomai版本是3.1.2

软件架构

​ Xenomai是inux实时性解决方案中的一种,通过在Linux的基础上添加一个RTOS内核cobalt,来提高Linux的实时性。实时内核cobalt与非实时内核Linux相结合,既能提供工业级RTOS的硬实时性能,又能利用Linux操作系统非常出色的网络和图形界面服务,在产品的开发周期和成本控制方面都有巨大优势,具体结构如下图所示。 输入图片说明

​ 在内核空间,在标准Linux基础上添加一个实时内核Cobalt,使Cobalt在内核空间与Linux内核并存,并把标准的Linux内核作为实时内核中的一个idle进程在实时内核上调度。

​ 火龙内核有Linux内核域范围与cobalt内核域范围,两个内核管理各自范围内的应用、驱动、中断,cobalt内核优先级高于Linux内核;I-pipe优先处理高优先级域的中断,来保证高优先级域的实时性。高优先级域可以通过I-pipe 向低优先级域发送各类事件。

安装教程

1 准备工作

1.1 开发环境准备

X86交叉编译机安装Ubuntu 20.04 LTS,并开启sshd服务。

1.2 交叉编译链准备

在x86编译机上交叉编译loongarch64内核,推荐使用的gcc编译器,链接如下:

https://pan.baidu.com/s/1DRVYANor0Z5YtFtfflnSNA?pwd=yfts

将其解压缩到/opt目录后,然后设置环境变量,操作步骤如下:

$ export PATH=/opt/loongarch64-linux-gnu-2021-08-09-vector/bin:$PATH
$ export LD_LIBRARY_PATH=/opt/loongarch64-linux-gnu-2021-08-09-vector/lib:$LD_LIBRARY_PATH
$ export ARCH=loongarch CROSS_COMPILE=loongarc64-linux-gnu-
$ export CC=loongarch64-linux-gnu-gcc

1.3 源代码版本

内核获取方法如下: 目前火龙3a5000相关设备驱动已开源,Linux源代码基于4.19.190-rc3。

Xenomai源码获取: Xenomai代码下载网址:https://source.denx.de/Xenomai/xenomai/-/tags/v3.1.2 直接下载后解压缩即可。

1.4 配置和编译内核 操作步骤如下:

$ make  config-4.19.190-xenomai-tipc
$ make O=../obj_xenomai_5k menuconfig
$ make O=../obj_xenomai_5k/ -j4
$ make O=../obj_xenomai_5k/ modules_install INSTALL_MOD_PATH=../obj_xenomai_5k

编译完毕后将内核和modules拷贝到开发版对应boot目录下。 其中内核的名称是vmlinuz,modules的名称是4.19.190-xenomai。

2 编译Xenomai自带的设备驱动

为了让用户快速入手Xenomai设备驱动,Xenomai提供了了部分设备驱动的样例,其代码在drivers/xenomai目录下,读者可以通过内核的menuconfig选择需要的xenomai驱动后重新make编译生成内核模块,以Intel e1000e网卡为例。 配置选择e1000e网卡:

$ make menuconfig
  scripts/kconfig/mconf  Kconfig
  configuration written to .config

$ diff .config .config.old 
  < CONFIG_XENO_DRIVERS_NET_DRV_E1000E=m
  ---
  > # CONFIG_XENO_DRIVERS_NET_DRV_E1000E is not set

新编译内核:

$ make
  scripts/kconfig/conf  --syncconfig Kconfig
  LD      vmlinux
  SORTEX  vmlinux
  SYSMAP  System.map
  OBJCOPY arch/loongarch64/boot/Image
  GZIP    arch/loongarch64/boot/Image.gz
  Building modules, stage 2.
  MODPOST 416 modules
  LD [M]  drivers/xenomai/net/drivers/e1000e/rt_e1000e.ko

将编译生成的rt_e1000e.ko拷贝到开发板。

贡献人员

该项目的开发成员列表如下:

liyuepeng@zbhlos.com

该项目的评审成员列表如下:

wangzhihao@zbhlos.com
guoxinyu@zbhlos.com

空文件

简介

Xenomai在龙芯3a5000cpu配套的火龙demo板上的微内核应用。 目前支持的CPU包括龙芯3a4000和龙芯3a5000, 配套的Linux内核版本是4.19.190,Xenomai版本是3.1.2 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/fireDragon_os/xenomai.git
git@gitee.com:fireDragon_os/xenomai.git
fireDragon_os
xenomai
Xenomai
master

搜索帮助