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 向低优先级域发送各类事件。
X86交叉编译机安装Ubuntu 20.04 LTS,并开启sshd服务。
在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
内核获取方法如下: 目前火龙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。
为了让用户快速入手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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型