本篇文章介绍了在任何平台上使用 PetaLinux 的先决条件。PetaLinux 是一种嵌入式 Linux 软件开发套件 (SDK),主要用于基于 FPGA 的系统级芯片 (SoC) 设计或 FPGA 设计。
安装要求
工作站最低要求:
8 GB RAM(针对 AMD 工具推荐的最低要求)
2 GHz CPU 时钟或同等频率(至少 8 核)
100 GB 可用 HDD 空间
支持的操作系统:
完全移除 RHEL 和 CENTOS,与上游 Yocto 保持一致
Ubuntu Desktop/Server 20.04.2 LTS、20.04.3 LTS、20.04.4 LTS、20.04.5 LTS(64 位)、20.04.6 LTS、22.04 LTS、22.04.1 LTS、22.04.2 LTS 和 22.04.3 LTS
OpenSuse Leap 15.3 和 15.4
AlmaLinux 8.7 和 9.1
主机包列表
PetaLinux 要求在 Linux 主机工作站上安装标准开发工具和库,在 Linux 主机上安装版本说明中所列的库和工具。
以下是在安装 PetaLinux 之前,需要在主机上安装的程序包列表:
https://adaptivesupport.amd.com/s/article/000036178?language=zh_CN
PetaLinux 安装步骤
PetaLinux 工具要求您的主机系统 /bin/sh 为“bash”。如果您使用 Ubuntu 发行版,并且您的 /bin/sh 为“dash”,请咨询您的系统管理员,了解如何使用 sudo dpkg-reconfigure dash 命令来更改您的默认系统 shell /bin/sh。
您必须具有相应的访问权,才能安装版本说明中所述的必备程序包。PetaLinux 工具需要以非 root 用户的身份安装。
可以从 PetaLinux 下载页面下载 PetaLinux 安装程序:
https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/embedded-design-tools.html
如果您在运行安装程序时未指定任何选项,则 PetaLinux 工具默认安装到当前工作目录中。
或者,您也可以指定安装路径。
例如,要将 PetaLinux 工具安装到 /home//petalinux/ 中,请执行以下操作:
注意:
您不能以 root 用户身份安装 PetaLinux。如果您试图以 root 用户身份运行 PetaLinux 命令,则 BitBake 完整性检查可能会失败,这会导致无法继续构建。之所以执行这项检查,是因为以 root 用户身份运行构建非常危险;如果任何构建脚本误将文件安装到根路径 (/) 而不是它本应安装到的路径,则必须使安装立即失败,以免(在最坏的情况下)覆盖对 Linux 系统操作至关重要的文件,例如 /bin 或 /etc 中的文件。因此,不支持以 root 用户身份运行构建。
一旦安装完成,您就无法移动或复制已安装的目录。在前述示例中,您无法移动或复制 /home//petalinux/,因为完整路径存储在 Yocto e-SDK 环境文件中。
安装该软件期间,确保您对 /home//petalinux 有写权限。安装后,可以将权限更改为全局读取-执行 (0755)。将该工具安装到 /home//petalinux 目录并不是强制要求。您可以在具有 755 权限的任何位置安装该工具。
PetaLinux 2024.1 仅适用于从 AMD Vivado™ Design Suite 2024.1 导出的硬件设计。
您的 PetaLinux 和 Vivado 设计应始终使用相同版本。
PetaLinux 工作环境设置
在安装之后,通过 source 命令来运行所提供的设置脚本,以便完成剩余的设置。
PetaLinux 工作环境设置步骤
使用 source 命令来运行适当的设置脚本。PetaLinux 可以使用任何交互式 shell,示例如下:
以 Bash 作为用户 shell:
settings.sh:
https://www.godaddy.com/forsale/settings.sh?utm_source=TDFS_BINNS2&utm_medium=parkedpages&utm_campaign=x_corp_tdfs-binns2_base&traffic_type=TDFS_BINNS2&traffic_id=binns2&
以 C shell 作为用户 shell:
注意:从 2024.2 起,将弃用 PetaLinux settings.csh 支持。建议使用 bash 中的 settings.sh:
https://www.godaddy.com/forsale/settings.sh?utm_source=TDFS_BINNS2&utm_medium=parkedpages&utm_campaign=x_corp_tdfs-binns2_base&traffic_type=TDFS_BINNS2&traffic_id=binns2&
以下是第一次使用 source 命令运行设置脚本时的输出示例:
验证工作环境已设置完成:
echo $PETALINUX
输出示例:/opt/pkg/petalinux
环境变量 $PETALINUX 应指向 PetaLinux 的安装路径。根据 PetaLinux 安装路径,输出可能与本示例不同。
创建 PetaLinux 工程
使用 PetaLinux BSP 创建工程
1.切换至您要在其中创建 PetaLinux 工程的目录。例如,如果您要在 /home/user 下创建工程,请运行以下命令:
cd /home/user
2.在命令控制台上运行 petalinux-create 命令:
petalinux-create project -s
基于已安装的 BSP 来引用开发板。输出如下:
在前述示例中,当该命令运行时,它会告诉您从 BSP 解压并安装工程。如果指定的位置在网络文件系统 (NFS) 上,则会将工程的 TMPDIR 更改为 /tmp/
请勿从本地文件系统创建到 NFS 文件系统的符号链接。您无法使用 NFS 在构建中定位“tmp”目录,此操作将失败。
注意:在 NFS 上创建工程时,为了成功构建工程,PetaLinux 要求 TMPDIR 上至少有 50 GB(至多 100 GB)的空间。
如果 /tmp/
或者,您可以使用 petalinux-config > Yocto-settings 随时创建或修改 TMPDIR。
切勿将两个不同 PetaLinux 工程的 TMPDIR 配置为相同的位置,否则可能造成构建错误。切勿在工具安装区创建 PetaLinux 工程,也不得将工具安装区作为临时构建区使用。
如果 TMPDIR 位于 /tmp/..,则删除工程并不会删除 TMPDIR。要删除 TMPDIR,请运行 petalinux-build -x mrproper。
错误日志:
使用 AMD Vivado™ Design Suite 配置硬件平台
您可以使用 AMD Vivado™ Design Suite 创建硬件平台。无论如何创建和配置硬件平台,都需要设置少量的硬件 IP 和软件平台配置,使硬件平台能随时运行 Linux。具体说明如下:
AMD Zynq™ UltraScale+™ MPSoC 和 AMD Versal™ 自适应 SoC
以下列出了 AMD Zynq UltraScale+MPSoC 和 AMD Versal 自适应 SoC 硬件工程启动 Linux 的硬件要求:
至少 2 GB 的外部存储器(必要)。
串行控制台 UART(必要)。
非易失性存储器,如 QSPI 闪存和 SD/MMC。此存储器是可选的,如果没有此存储器,则只有 JTAG 启动可正常工作。
以太网(可选,对网络访问必不可少)。
注意:如果使用带中断的软核 IP 或带中断的外部 PHY 器件,请确保中断信号已连接。
AMD Zynq 7000 器件
以下列出了 Zynq 7000 硬件工程启动 Linux 的硬件要求:
一个三重定时器计数器 (TTC)(必要)。
注意:如果启用多个 TTC,则 Zynq 7000 Linux 内核将使用来自设备树的第一个 TTC 块。确保其他内核不使用该 TTC。
至少 512 MB 的外部存储器控制器(必要)。
串行控制台 UART(必要)。
非易失性存储器,如 QSPI 闪存和 SD/MMC。此存储器是可选的,但若不提供,那么只有 JTAG 启动可正常工作。
以太网(可选,对网络访问必不可少)。
注意:如果使用软核 IP,请确保中断信号已连接。如果使用带中断的软核 IP 或带中断的外部 PHY 器件,请确保中断信号已连接。
AMD MicroBlaze™ 处理器 (AXI)
以下列出了 MicroBlaze 硬件工程启动 Linux 的要求:
IP 核检查表:
外部存储器控制器至少有 512 MB 存储空间(必要)
带中断连接的双通道定时器(必要)
串行控制台带中断连接的 UART(必要)
非易失性存储器,如线性闪存或 SPI 闪存(必要)
带中断连接的以太网(可选,但是网络访问的必要条件)
MicroBlaze 处理器配置:
系统从非易失性存储器启动时,MicroBlaze 处理器初始启动加载程序 fs-boot 至少需要 4 KB 的块 RAM(用于并行闪存)和至少需要 8 KB 的块 RAM(用于 SPI 闪存)。
注意:PetaLinux 仅支持 32 位 MicroBlaze 处理器。
导入硬件配置
导入硬件配置的步骤:
1. 使用 cd 导航到您的 PetaLinux 工程目录。
cd
2. 使用以下任一方法,通过 petalinux-config 命令导入硬件描述:
使用包含 XSA 文件的目录路径:
petalinux-config --get-hw-description
使用 XSA 文件路径:
如果您在指定文件夹中有多个 XSA 文件,则 petalinux-config 会抛出一个错误。
为避免出现此类错误,您可以按如下所示提供完整的 XSA 文件路径:
petalinux-config --get-hw-description
注意:稍后如果更改
图:系统配置菜单
确保选定了“DTG Settings > (template) MACHINE_NAME”(DTG 设置 > (模板) MACHINE_NAME),并使用以下选项:
使用带默认 BSP/硬件工程的 AMD 评估板时,将 BSP 设置保留为 AUTO。这样会根据您的具体设计自动确定 DTG 机器配置。
对于定制开发板,请保留默认值。
对于在 AMD 评估板上实现的定制硬件设计,请使用下表中的值。
表:BSP 和机器名称
确保选中“Subsystem AUTO Hardware Settings”(子系统自动硬件设置),然后进入下图所示的菜单:
图:Subsystem AUTO Hardware Settings
“Subsystem AUTO Hardware Settings →”菜单支持定制系统级硬件设置。您可以选择处理器、存储体、串行控制台或闪存。
构建 PetaLinux 系统镜像
使用 cd 导航到您的 PetaLinux 工程目录。
cd
petalinux-build
此步骤会生成设备树 DTB 文件、第一阶段启动加载程序(适用于 AMD Zynq™ 7000 器件、AMD Zynq UltraScale+™ MPSoC 和 AMD MicroBlaze™)、PLM(适用于 AMD Versal™ 自适应 SoC)、PSM(适用于 Versal 自适应 SoC)和 TF-A(适用于 Zynq UltraScale+ MPSoC 和 Versal 自适应 SoC)、U-Boot、Linux 内核、根文件系统镜像和 U-Boot 启动脚本 (boot.scr)。
最后,它会生成必需的启动镜像。