基于zynq7000搭建xenomai实时操作系统

搭建ARM 交叉编译工具链

这里使用的是petalinux自带的交叉编译工具链

source /opt/pkg/petalinux/settings.sh
source /tools/Xilinx/Vivado/2018.3/settings64.sh

向linux内核打入补丁:

切换到xenomai内核源码路径,然后输入下面指令进入打补丁:

./scripts/prepare-kernel.sh --arch=arm --ipipe=<path_to_ipipe patch> --linux=<path_to_linux>

在这里插入图片描述

加载zynq配置文件:

先把是xilinx_zynq_defconfig配置文件放到内核的 /linux-4.14.36/arch/arm/configs里面,切换到linux内核源码路径,然后输入下面指令加载zynq配置文件:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig

在这里插入图片描述

内核配置:

换到linux内核源码路径:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

在这里插入图片描述
需要关闭的配置有:

CPU Power Management --->
CPU Frequency scaling --->
[] CPU Frequency scaling
CPU Idle --->
[] CPU idle PM support Memory Management options --->
[ ] Allow for memory compaction

记得要保存配置

编译内核:

配置的信息都已经配置完了,接下里需要编译内核,生成可以供u-boot加载的uImage文件
切换到linux内核源码路径,然后输入下面指令编译内核:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage

在这里插入图片描述
此指令编译出来的是arch/arm/boot/zImage,还需要通过u-boot-tools来进行转化
// 安装u-boot-tools (sudo apt-get install u-boot-tools)
在这里插入图片描述
zImage转化为arch/arm/boot/uImage:

mkimage -A arm -O linux -T kernel -C none -a 0x00200000 -e 0x00200000 -n "Linux-4.14.36" -d arch/arm/boot/zImage arch/arm/boot/uImage

在这里插入图片描述
转换完成之后会在/linux-4.14.36/arch/arm/boot 里面生成uImage内核镜像

编译设备树文件:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

在这里插入图片描述

编译xenomai:

切换到xenomai目录,开始编译xenomai

./configure CFLAGS="-march=armv7-a -mfpu=vfp3 -mfloat-abi=hard" LDFLAGS="-march=armv7-a" --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi --with-core=cobalt --enable-smp --enable-tls CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld

创建xenomai

make -j$(nproc) DESTDIR=`pwd`/build-arm install

在这里插入图片描述
此时即可在build-arm目录下找到xenomai编译后的相关库及可执行文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值