1 Star 0 Fork 4

weizhonghua/FT2004-Xenomai

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
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》后续会持续更新

空文件

简介

基于飞腾FT2004 CPU的Xenomai-Linux系统 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 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