1 Star 0 Fork 4

weizhonghua/FT2004-Xenomai

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README 3.05 KB
一键复制 编辑 原始数据 按行查看 历史
zhanglin 提交于 2021-10-21 17:37 . modify README
移植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》后续会持续更新
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/weizhonghua/FT2004-Xenomai.git
git@gitee.com:weizhonghua/FT2004-Xenomai.git
weizhonghua
FT2004-Xenomai
FT2004-Xenomai
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385