本篇文章介紹了在任何平臺上使用 PetaLinux 的先決條件。PetaLinux 是一種嵌入式 Linux 軟件開發(fā)套件 (SDK),主要用于基于 FPGA 的系統(tǒng)級芯片 (SoC) 設(shè)計或 FPGA 設(shè)計。
安裝要求
工作站最低要求:
8 GB RAM(針對 AMD 工具推薦的最低要求)
100 GB 可用 HDD 空間
支持的操作系統(tǒng):
完全移除 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 主機工作站上安裝標準開發(fā)工具和庫,在 Linux 主機上安裝版本說明中所列的庫和工具。
以下是在安裝 PetaLinux 之前,需要在主機上安裝的程序包列表:
https://adaptivesupport.amd.com/s/article/000036178?language=zh_CN
PetaLinux 安裝步驟
PetaLinux 工具要求您的主機系統(tǒng) /bin/sh 為“bash”。如果您使用 Ubuntu 發(fā)行版,并且您的 /bin/sh 為“dash”,請咨詢您的系統(tǒng)管理員,了解如何使用 sudo dpkg-reconfigure dash 命令來更改您的默認系統(tǒng) shell /bin/sh。
您必須具有相應(yīng)的訪問權(quán),才能安裝版本說明中所述的必備程序包。PetaLinux 工具需要以非 root 用戶的身份安裝。
可以從 PetaLinux 下載頁面下載 PetaLinux 安裝程序:
https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/embedded-design-tools.html
如果您在運行安裝程序時未指定任何選項,則 PetaLinux 工具默認安裝到當前工作目錄中。
或者,您也可以指定安裝路徑。
例如,要將 PetaLinux 工具安裝到 /home//petalinux/ 中,請執(zhí)行以下操作:
注意:
您不能以 root 用戶身份安裝 PetaLinux。如果您試圖以 root 用戶身份運行 PetaLinux 命令,則 BitBake 完整性檢查可能會失敗,這會導致無法繼續(xù)構(gòu)建。之所以執(zhí)行這項檢查,是因為以 root 用戶身份運行構(gòu)建非常危險;如果任何構(gòu)建腳本誤將文件安裝到根路徑 (/) 而不是它本應(yīng)安裝到的路徑,則必須使安裝立即失敗,以免(在最壞的情況下)覆蓋對 Linux 系統(tǒng)操作至關(guān)重要的文件,例如 /bin 或 /etc 中的文件。因此,不支持以 root 用戶身份運行構(gòu)建。
一旦安裝完成,您就無法移動或復(fù)制已安裝的目錄。在前述示例中,您無法移動或復(fù)制 /home//petalinux/,因為完整路徑存儲在 Yocto e-SDK 環(huán)境文件中。
安裝該軟件期間,確保您對 /home//petalinux 有寫權(quán)限。安裝后,可以將權(quán)限更改為全局讀取-執(zhí)行 (0755)。將該工具安裝到 /home//petalinux 目錄并不是強制要求。您可以在具有 755 權(quán)限的任何位置安裝該工具。
PetaLinux 2024.1 僅適用于從 AMD Vivado Design Suite 2024.1 導出的硬件設(shè)計。
您的 PetaLinux 和 Vivado 設(shè)計應(yīng)始終使用相同版本。
PetaLinux 工作環(huán)境設(shè)置
在安裝之后,通過 source 命令來運行所提供的設(shè)置腳本,以便完成剩余的設(shè)置。
PetaLinux 工作環(huán)境設(shè)置步驟
使用 source 命令來運行適當?shù)脑O(shè)置腳本。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 命令運行設(shè)置腳本時的輸出示例:
驗證工作環(huán)境已設(shè)置完成:
echo $PETALINUX
輸出示例:/opt/pkg/petalinux
環(huán)境變量 $PETALINUX 應(yīng)指向 PetaLinux 的安裝路徑。根據(jù) PetaLinux 安裝路徑,輸出可能與本示例不同。
創(chuàng)建 PetaLinux 工程
使用 PetaLinux BSP 創(chuàng)建工程
1.切換至您要在其中創(chuàng)建 PetaLinux 工程的目錄。例如,如果您要在 /home/user 下創(chuàng)建工程,請運行以下命令:
cd /home/user
2.在命令控制臺上運行 petalinux-create 命令:
petalinux-create project -s
基于已安裝的 BSP 來引用開發(fā)板。輸出如下:
在前述示例中,當該命令運行時,它會告訴您從 BSP 解壓并安裝工程。如果指定的位置在網(wǎng)絡(luò)文件系統(tǒng) (NFS) 上,則會將工程的 TMPDIR 更改為 /tmp/
請勿從本地文件系統(tǒng)創(chuàng)建到 NFS 文件系統(tǒng)的符號鏈接。您無法使用 NFS 在構(gòu)建中定位“tmp”目錄,此操作將失敗。
注意:在 NFS 上創(chuàng)建工程時,為了成功構(gòu)建工程,PetaLinux 要求 TMPDIR 上至少有 50 GB(至多 100 GB)的空間。
如果 /tmp/
或者,您可以使用 petalinux-config > Yocto-settings 隨時創(chuàng)建或修改 TMPDIR。
切勿將兩個不同 PetaLinux 工程的 TMPDIR 配置為相同的位置,否則可能造成構(gòu)建錯誤。切勿在工具安裝區(qū)創(chuàng)建 PetaLinux 工程,也不得將工具安裝區(qū)作為臨時構(gòu)建區(qū)使用。
如果 TMPDIR 位于 /tmp/..,則刪除工程并不會刪除 TMPDIR。要刪除 TMPDIR,請運行 petalinux-build -x mrproper。
錯誤日志:
使用 AMD Vivado Design Suite 配置硬件平臺
您可以使用 AMD Vivado Design Suite 創(chuàng)建硬件平臺。無論如何創(chuàng)建和配置硬件平臺,都需要設(shè)置少量的硬件 IP 和軟件平臺配置,使硬件平臺能隨時運行 Linux。具體說明如下:
AMD Zynq UltraScale+ MPSoC 和 AMD Versal 自適應(yīng) SoC
以下列出了 AMD Zynq UltraScale+MPSoC 和 AMD Versal 自適應(yīng) SoC 硬件工程啟動 Linux 的硬件要求:
至少 2 GB 的外部存儲器(必要)。
串行控制臺 UART(必要)。
非易失性存儲器,如 QSPI 閃存和 SD/MMC。此存儲器是可選的,如果沒有此存儲器,則只有 JTAG 啟動可正常工作。
以太網(wǎng)(可選,對網(wǎng)絡(luò)訪問必不可少)。
注意:如果使用帶中斷的軟核 IP 或帶中斷的外部 PHY 器件,請確保中斷信號已連接。
AMD Zynq 7000 器件
以下列出了 Zynq 7000 硬件工程啟動 Linux 的硬件要求:
一個三重定時器計數(shù)器 (TTC)(必要)。
注意:如果啟用多個 TTC,則 Zynq 7000 Linux 內(nèi)核將使用來自設(shè)備樹的第一個 TTC 塊。確保其他內(nèi)核不使用該 TTC。
至少 512 MB 的外部存儲器控制器(必要)。
串行控制臺 UART(必要)。
非易失性存儲器,如 QSPI 閃存和 SD/MMC。此存儲器是可選的,但若不提供,那么只有 JTAG 啟動可正常工作。
以太網(wǎng)(可選,對網(wǎng)絡(luò)訪問必不可少)。
注意:如果使用軟核 IP,請確保中斷信號已連接。如果使用帶中斷的軟核 IP 或帶中斷的外部 PHY 器件,請確保中斷信號已連接。
AMD MicroBlaze 處理器 (AXI)
以下列出了 MicroBlaze 硬件工程啟動 Linux 的要求:
IP 核檢查表:
外部存儲器控制器至少有 512 MB 存儲空間(必要)
帶中斷連接的雙通道定時器(必要)
串行控制臺帶中斷連接的 UART(必要)
非易失性存儲器,如線性閃存或 SPI 閃存(必要)
帶中斷連接的以太網(wǎng)(可選,但是網(wǎng)絡(luò)訪問的必要條件)
MicroBlaze 處理器配置:
系統(tǒng)從非易失性存儲器啟動時,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 會拋出一個錯誤。
為避免出現(xiàn)此類錯誤,您可以按如下所示提供完整的 XSA 文件路徑:
petalinux-config --get-hw-description
注意:稍后如果更改
圖:系統(tǒng)配置菜單
確保選定了“DTG Settings > (template) MACHINE_NAME”(DTG 設(shè)置 > (模板) MACHINE_NAME),并使用以下選項:
使用帶默認 BSP/硬件工程的 AMD 評估板時,將 BSP 設(shè)置保留為 AUTO。這樣會根據(jù)您的具體設(shè)計自動確定 DTG 機器配置。
對于定制開發(fā)板,請保留默認值。
對于在 AMD 評估板上實現(xiàn)的定制硬件設(shè)計,請使用下表中的值。
表:BSP 和機器名稱
確保選中“Subsystem AUTO Hardware Settings”(子系統(tǒng)自動硬件設(shè)置),然后進入下圖所示的菜單:
圖:Subsystem AUTO Hardware Settings
“Subsystem AUTO Hardware Settings →”菜單支持定制系統(tǒng)級硬件設(shè)置。您可以選擇處理器、存儲體、串行控制臺或閃存。
構(gòu)建 PetaLinux 系統(tǒng)鏡像
使用 cd 導航到您的 PetaLinux 工程目錄。
cd
petalinux-build
此步驟會生成設(shè)備樹 DTB 文件、第一階段啟動加載程序(適用于 AMD Zynq 7000 器件、AMD Zynq UltraScale+ MPSoC 和 AMD MicroBlaze)、PLM(適用于 AMD Versal 自適應(yīng) SoC)、PSM(適用于 Versal 自適應(yīng) SoC)和 TF-A(適用于 Zynq UltraScale+ MPSoC 和 Versal 自適應(yīng) SoC)、U-Boot、Linux 內(nèi)核、根文件系統(tǒng)鏡像和 U-Boot 啟動腳本 (boot.scr)。
最后,它會生成必需的啟動鏡像。
-
FPGA
+關(guān)注
關(guān)注
1642文章
21918瀏覽量
611987 -
嵌入式
+關(guān)注
關(guān)注
5125文章
19438瀏覽量
313072 -
Linux
+關(guān)注
關(guān)注
87文章
11420瀏覽量
212319 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7025瀏覽量
124702
原文標題:開發(fā)者分享|使用 PetaLinux 的先決條件指南
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
如何在PetaLinux流程外創(chuàng)建模塊
Petalinux許可證無效
FreeRTOS的相關(guān)資料推薦
有人知道啟用或禁用預(yù)取Nucleo L4R5ZI緩沖區(qū)時有先決條件嗎?
SystemC循環(huán)模型11.2版用戶指南
李開復(fù)提出發(fā)展人工智能的四個先決條件及人工智能的核心
petalinux(二)開啟petalinux內(nèi)核調(diào)試模式

啟停系統(tǒng)的定義及其先決條件與優(yōu)勢

西門子為企業(yè)數(shù)字化轉(zhuǎn)型創(chuàng)造先決條件
德國電信起訴德國聯(lián)邦通信修改了參與5G頻率拍賣的先決條件
如何進行正確數(shù)據(jù)建模
企業(yè)要成功實施區(qū)塊鏈技術(shù)的先決條件是什么
petalinux安裝過程
配方示例程序的先決條件

SAP B1 Web Client & MS Teams App集成連載一:先決條件/Prerequisites

評論