# FT2004-Xenomai **Repository Path**: powertree/FT2004-Xenomai ## Basic Information - **Project Name**: FT2004-Xenomai - **Description**: 基于飞腾FT2004 CPU的Xenomai-Linux系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-12-06 - **Last Updated**: 2023-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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 <> 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=<> --arch=arm64 --outpatch=<<生成的实时内核补丁绝对路径>> cd <> patch -p1 < <<生成的实时内核补丁路径>> 6 编译配置内核 cd <> 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》后续会持续更新