如何在Ubuntu 18.04上快速搭建Xilinx Zynq UltraScale+ MPSoC开发环境(含Petalinux 2020.2配置避坑指南)

张开发
2026/4/23 18:57:55 15 分钟阅读

分享文章

如何在Ubuntu 18.04上快速搭建Xilinx Zynq UltraScale+ MPSoC开发环境(含Petalinux 2020.2配置避坑指南)
在Ubuntu 18.04上高效部署Xilinx Zynq UltraScale MPSoC开发环境全攻略当第一次接触Xilinx Zynq UltraScale MPSoC平台时开发环境的搭建往往成为新手面临的第一个挑战。作为一款集成了四核Cortex-A53处理器、双核Cortex-R5实时处理单元和可编程逻辑的异构计算平台其开发环境的配置复杂度远高于传统嵌入式系统。本文将手把手带你完成从零开始的环境搭建特别针对Ubuntu 18.04系统优化配置流程并分享Petalinux 2020.2安装过程中的实战避坑经验。1. 环境准备与系统配置在开始安装Petalinux之前确保你的Ubuntu 18.04系统满足以下硬件要求磁盘空间至少120GB可用空间建议预留150GB以上内存8GB以上16GB可获得更好体验处理器8核2GHz或更高性能CPU1.1 系统基础配置首先更新系统软件包并安装必要依赖sudo apt-get update sudo apt-get upgrade -y sudo apt-get install -y gcc git make net-tools libncurses5-dev tftpd sudo apt-get install -y zlib1g-dev libssl-dev flex bison libselinux1 sudo apt-get install -y gnupg wget diffstat chrpath socat xterm sudo apt-get install -y autoconf libtool tar unzip texinfo gcc-multilib sudo apt-get install -y build-essential zlib1g:i386 screen pax gzip注意Ubuntu 18.04默认的Python版本为2.7而Petalinux 2020.2需要Python 3.6。建议安装Python 3.6并设置为默认版本sudo apt-get install -y python3.6 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1 sudo update-alternatives --config python1.2 用户权限与目录设置Xilinx官方明确禁止以root用户安装Petalinux工具。建议创建一个专用用户sudo adduser petalinux sudo usermod -aG sudo petalinux su - petalinux创建工作目录并设置权限sudo mkdir -p /opt/pkg/petalinux/2020.2 sudo chown -R petalinux:petalinux /opt/pkg2. Petalinux 2020.2安装详解2.1 获取安装包从Xilinx官网下载Petalinux 2020.2安装包需注册账号wget https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2020-2.html -O petalinux-v2020.2-final-installer.run提示如果下载速度慢可以尝试使用axel多线程下载工具sudo apt-get install -y axel axel -n 8 https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2020-2.html2.2 执行安装程序给安装脚本添加执行权限但不要使用chmod 775这会导致BitBake错误chmod x petalinux-v2020.2-final-installer.run运行安装程序并指定安装路径./petalinux-v2020.2-final-installer.run /opt/pkg/petalinux/2020.2安装过程中会遇到三个许可协议按q退出阅读后输入y确认Press Enter to display the license agreements Do you accept Xilinx End User License Agreement? [y/N] y Do you accept Webtalk Terms and Conditions? [y/N] y Do you accept Third Party End User License Agreement? [y/N] y安装完成后设置环境变量source /opt/pkg/petalinux/2020.2/settings.sh验证安装是否成功echo $PETALINUX # 应输出/opt/pkg/petalinux/2020.23. 常见问题解决方案3.1 依赖包冲突处理安装过程中可能遇到的依赖问题及解决方法错误现象解决方案命令示例Python版本冲突安装python3.6并设为默认sudo update-alternatives --config python缺少libtinfo.so.5创建符号链接sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.5 /lib/x86_64-linux-gnu/libtinfo.so.5BitBake执行失败检查安装目录权限sudo chown -R petalinux:petalinux /opt/pkg3.2 网络代理配置如果企业网络需要代理需在安装前配置export http_proxyhttp://proxy.example.com:8080 export https_proxyhttp://proxy.example.com:8080 export ftp_proxyhttp://proxy.example.com:8080 export no_proxylocalhost,127.0.0.13.3 磁盘空间不足处理当遇到磁盘空间不足时可以考虑清理apt缓存sudo apt-get clean sudo apt-get autoremove使用符号链接将部分目录挂载到其他磁盘mkdir -p /mnt/extra_disk/petalinux_downloads ln -s /mnt/extra_disk/petalinux_downloads ~/petalinux_downloads4. 开发环境验证与首个项目创建4.1 创建测试工程验证环境是否正常工作petalinux-create -t project --template zynqMP --name test_project cd test_project petalinux-config --get-hw-descriptionpath_to_hdf_file4.2 构建系统镜像配置并构建完整系统petalinux-config petalinux-build构建完成后生成的镜像文件位于images/linux/ ├── boot.scr ├── image.ub ├── rootfs.cpio.gz └── zynqmp_fsbl.elf4.3 打包部署生成可烧录的BOOT.BIN文件petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force将生成的BOOT.BIN和image.ub文件复制到SD卡FAT32分区即可启动开发板。5. 性能优化与实用技巧5.1 构建加速配置通过以下设置可显著缩短构建时间# 在petalinux-config中设置 Parallel thread number (CPU核心数×2) BB_NUMBER_THREADS (CPU核心数×2) PARALLEL_MAKE -j $(nproc)5.2 常用调试命令开发过程中实用的调试命令查看设备树petalinux-config -c device-tree内核配置petalinux-config -c kernel根文件系统配置petalinux-config -c rootfs单独编译组件petalinux-build -c component5.3 版本控制集成建议将工程目录初始化为Git仓库并添加以下.gitignorebuild/ images/ pre-built/ *.o *.a *.swo *.swp在实际项目开发中遇到最棘手的问题往往是环境变量冲突。有一次在连续工作8小时后才发现系统中有多个版本的Python导致构建失败。从那以后我养成了在每个新工程开始前先执行python --version和which python检查环境的习惯。

更多文章