PetaLinux的工程的create、config和Build(基于ZC706的BSP(板级支持包))

本文档详细介绍了如何使用Xilinx ZC706开发板及PetaLinux工具进行嵌入式系统的开发过程。包括PetaLinux安装、依赖库配置、工程创建、配置及构建等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、在Xilinx官网下载资源

下载链接如下:https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/embedded-design-tools.html
主要下载两个东西:1)PetaLinux的安装包;2)ZC706的板级支持包。
需要注意的是下载的版本要与严格一致,并且需要与使用的Vivado版本一致。这里我下载的是2018.2的版本
在这里插入图片描述
下载完成后将资源拖到虚拟上进行安装与编译(本人使用的虚拟机为Ubuntu 16.04,Ubuntu 18.04也用过,后来由于编译OPTEE的包有问题就换了(说是18.04的版本似乎与OPTEE的python3.5有些不兼容))

二、安装PetaLinux

这里可以参考这篇讲解:https://www.cnblogs.com/vacajk/p/6146146.html
根据上述链接安装完这些依赖之后,再安装PetaLinux还是会出错。出错的原因一般是因为还有些依赖没有安装,按照其提示,把未安装的安装了就行了。
这里提一下:根据Xilinx官网的UG1144文档可知,PetaLinux 2015.4之后的版本都不能在ROOT下安装,直接安装到一个有755权限(可写、可读、可访问)的文件夹就行。另外上述链接安装git:i386可能会有问题,我选择的是直接不管它,只安装git就行了
为了防止链接内容无了:我copy一下:

step1: VMware Tools问题

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /tmp
#若/tmp文件夹下有vmware-tools-distrib文件夹,需要删除
tar zxpf /mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz
umount /dev/cdrom
cd vmware-tools-distrib
./vmware-install.pl -d

接下来就会安装VMware Tools了,这之中有些选项,能选yes的都选yes。关闭虚拟机,重新启动,这样VMware Tools就安装好了。
终于可以开心的Windows–Linux互拖文件了。

step2. 更换apt-get更新源

默认的美国源下载起来太慢了,超费时间而且不稳定。直接把apt-get的源换成阿里云的,速度超赞。

参考: http://www.cnblogs.com/dtiove/p/5917263.html

sudo su
cd /etc/apt
cp sources.list sources.list1
gedit sources.list
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

保存并退出,运行apt-get update

step3. 安装petalinux需要的依赖库

首先是官方手册ug1144的说明,必须安装的一些32位依赖库。

apt-get install tofrodos:i386
apt-get install iproute2:i386
apt-get install gawk:i386
apt-get install gcc:i386
apt-get install git:i386
apt-get install make:i386
apt-get install net-tools:i386
apt-get install libncurses5-dev:i386
apt-get install zlib1g-dev:i386
apt-get install libssl-dev:i386
apt-get install flex:i386
apt-get install bison:i386
apt-get install libselinux1:i386

然后是一些可能会导致不能正常安装petalinux,或是编译时出现问题的依赖库。趁早都直接安装好吧。

#在运行petalinux-config -c kernel出现错误,需要提前安装下面两个库
apt-get install libncurses5 libncurses5-dev
 
#编译时会出现错误arm-xilinx-linux-gnueabi-gcc: Command not found,需要安装下面三个库

apt-get install libc6:i386
apt-get install libstdc++6:i386
apt-get install zlib1g:i386
 
#安装petalinux时出现错误,提示缺少zlib和openssl,需要安装下面一个库
apt-get install libssl-dev
 
#安装petalinux时出现警告,提示No tftp server found - please refer to "PetaLinux SDK Installation Guide" for its impact and solution,需要安装下面3个库
apt-get install tftpd tftp openbsd-inetd
gedit /etc/inetd.conf
#在文件中增加以下内容
tftp        dgram    udp    wait    nobody    /usr/sbin/tcpd    /usr/sbin/in.tftpd /tftproot
#保存并退出
mkdir /tftproot
chmod 777 /tftproot
/etc/init.d/openbsd-inetd restart
netstat -an | more | grep udp
#看到有如下输出,即表示tftp安装成功
#udp        0      0 0.0.0.0:69              0.0.0.0:*
至此,依赖库就安装完成了。

step4. 安装petalinux

前面的都准备好后,同时也从官网下载好petalinux-v2015.4-final-installer-dec.run安装包

mkdir -p /home/xilinx-arm/PetaLinux/package
cd /home/xilinx-arm/PetaLinux/package

从Windows中直接把petalinux-v2015.4-final-installer-dec.run拖拽到Linux的package文件夹。

mkdir -p /opt/pkg/petalinux
./petalinux-v2015.4-final-installer-dec.run /opt/pkg/petalinux

安装过程中有3个许可,都需要同意。

ug1144中说了,所用到的/bin/sh命令都需要是bash的,而Ubuntu默认的/bin/sh是dash的,所以直接把原本的删除,连接/bin/sh到bash。

cp /bin/sh /bin/sh1
rm /bin/sh
ln -s /bin/bash /bin/sh
ls -al /bin/sh
#会看到打印信息
#lrwxrwxrwx 1 root root 9 Dec  8 14:59 /bin/sh -> /bin/bash

PetaLinux就算是安装成功了。每次开机使用petalinux时,要在命令行输入:

source /opt/pkg/petalinux/petalinux-v2015.4-final/settings.sh
echo $PETALINUX
#会看到打印信息
#/opt/pkg/petalinux/petalinux-v2015.4-final

这样就可以在命令行中使用petalinux的各种命令了。

待改进:
每次重新启动系统后都需要重新执行source /opt/pkg/petalinux/petalinux-v2015.4-final/settings.sh,把这个命令直接在系统启动时运行就好了。

这里我再一下哈:我是安装的2018.2的版本,不能安装在ROOT下。

三.根据ZC706的板级支持包创建工程

参考链接:https://www.cnblogs.com/vacajk/p/6148857.html
安装之前先source petaLinux一下:
source <your-path>/petalinux-v2018.2-final/settings.sh

在xilinx-zc706-v2018.2-final.bsp所在文件夹下使用:

petalinux-create -t project -s ./xilinx-zc706-v2018.2-final.bsp

即可完成创建,此时在/pre-build/linux目录下会有一些SD卡启动的镜像什么的,这里将

zynq_fsbl.elf           #FSBL可执行文件
system.bit              #FPGA配置bit文件
u-boot.elf               #SSBL可执行文件
image.ub               #linux镜像文件

拷到SD卡,然后将ZC706调成SD卡启动就OK了,用户名和密码都是root

这里为了更谨慎一点,接着往下走

四.配置

在创建的工程下运行如下命令:

petalinux-config

会弹出一个配置界面,根据自己需求进行配置即可。这里我没有管它,直接退出,选默认配置就完事了。

五. Build

在创建的工程下运行如下命令:

petalinux-build

这里可能会出错。推荐的解决方案为:
解决方案

sudo apt-get update

sudo apt-get install -y python tofrodos iproute2 gawk xvfb gcc git net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev

sudo apt-get install zlib1g:i386

sudo apt-get install screen

我是这样解决的,然后就完活了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俺是菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值