代码拉取完成,页面将自动刷新
同步操作将从 Phytium嵌入式软件/FT2004-Xenomai 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
移植Xenomai到基于飞腾FT2004 CPU的FT Linux系统
======================================================================================
1 目前飞腾FT2000/4相关设备驱动还没有开源,需要先联系飞腾软件生态部获取FT Linux源代码
2 如需在x86交叉编译arm64内核,推荐使用Linaro gcc编译器,链接如下:
https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
环境变量配置:
sudo tar -xf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -C /opt
export PATH=/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH
export ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
export CC=aarch64-linux-gnu-gcc
3 Xenomai的移植基于FT Linux(内核主线版本为4.19.115),需下载并打上ipipe补丁
wget https://xenomai.org/downloads/ipipe/v4.x/arm64/ipipe-core-4.19.115-arm64-6.patch
cd <<FT Linux内核源码根目录>>
patch -p1 < ipipe-core-4.19.115-arm64-6.patch
4 针对MSI中断的patch
patch -p1 < irq-msi.patch
5 生成Xenomai实时内核的补丁,并打到FT-Linux内核上
wget https://xenomai.org/downloads/xenomai/stable/xenomai-3.1.tar.bz2
tar -xf xenomai-3.1.tar.bz2
cd xenomai-3.1/scripts
./prepare-kernel.sh --linux=<<FT Linux内核源码根目录>> --arch=arm64 --outpatch=<<生成的实时内核补丁绝对路径>>
cd <<FT Linux内核源码根目录>>
patch -p1 < <<生成的实时内核补丁路径>>
6 编译配置内核
cd <<FT Linux内核源码根目录>>
make defconfig
make sdk.config
make -j6
7 使用新编译的内核启动系统即可
8 Xenomai库的编译(需要安装automake和libtool,在FT2004的Ubuntu 18.04系统上编译)
cd xenomai-3.1
./scripts/bootstrap
./configure --enable-pshared --enable-smp --with-core=cobalt
make -j4
make install
设置环境变量:
export XENOMAI_ROOT_DIR=/usr/xenomai
export XENOMAI_PATH=/usr/xenomai
export PATH=$PATH:$XENOMAI_PATH/bin:$XENOMAI_PATH/sbin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$XENOMAI_PATH/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XENOMAI_PATH/lib
export OROCOS_TARGET=xenomai
9 测试结果
使用stress增加系统负载,用latency测量系统延时
stress -c 10 -m 4
latency -t 0 -p 100 -P 99 -h -g result.txt
基于Xeonmai实时内核的测试结果
# ----lat min|----lat avg|----lat max|-overrun|---msw|
# 11.370| 22.550| 92.052| 0| 0|
基于Preempt-RT的测试结果
# ----lat min|----lat avg|----lat max|-overrun|---msw|
# 10.890| 15.444| 206.049| 207| 0|
在系统空闲的情况下,用latency测量系统延时
latency -t 0 -p 100 -P 99 -h -g result.txt
基于Xeonmai实时内核的测试结果
# ----lat min|----lat avg|----lat max|-overrun|---msw|
# 10.280| 21.182| 34.966| 0| 0|
基于Preempt-RT的测试结果
# ----lat min|----lat avg|----lat max|-overrun|---msw|
# 9.611| 15.239| 298.519| 215| 0|
10 增加《xenomai用户使用手册-V1.0-20211014.pdf》后续会持续更新
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。