0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用QEMU啟動(dòng)Versal VCK190 ACAP

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-07 14:14 ? 次閱讀

本篇博文涵蓋了有關(guān)使用 PetaLinux 命令行來對(duì) Versal? ACAP 的 PetaLinux BSP 運(yùn)行 QEMU 的信息,并演示了 QEMU 支持的部分網(wǎng)絡(luò)選項(xiàng)。

QEMU (Quick EMUlator) 是一種開源跨平臺(tái)系統(tǒng)仿真器。它是一個(gè)可執(zhí)行程序,可在 x86 Linux 或 Windows 操作系統(tǒng)上運(yùn)行。

QEMU 可對(duì)整個(gè)系統(tǒng)進(jìn)行仿真(通常它被稱為訪客),如賽靈思 ZCU102 或 VCK190 開發(fā)板。

仿真包括處理器、外設(shè)以及開發(fā)板上的其它硬件,支持您在虛擬化硬件上啟動(dòng)操作系統(tǒng)或其它應(yīng)用。

要在虛擬化硬件中開發(fā)此類應(yīng)用,只需使用物理硬件上所用的相同工具鏈即可。

QEMU 也可通過諸如 CAN、以太網(wǎng)USB接口來與主機(jī)進(jìn)行交互,支持在訪客機(jī)器中實(shí)時(shí)使用來自主機(jī)的現(xiàn)實(shí)世界數(shù)據(jù)。

賽靈思 QEMU 隨 PetaLinux 和 Yocto 工具鏈一起分發(fā),并與 SDK/Vitis 集成。

使用 PetaLinux 啟動(dòng) QEMU

請(qǐng)確保根據(jù) PetaLinux 用戶指南 (UG1144) 中所述,安裝在 Linux 主機(jī)上構(gòu)建 PetaLinux 工程所需的所有 Linux 程序包。請(qǐng)參閱此文檔的“Installation Steps”(安裝步驟)部分,其中提供了所有必需的程序包,因此尤為重要。

此處所示的演示使用的是預(yù)構(gòu)建的鏡像,無須再構(gòu)建 PetaLinux 工程。

基于 VCK190 BSP 創(chuàng)建工程的步驟

$source/settings.sh

注:對(duì)于基于 bash 的 shell,請(qǐng)選擇settings.sh,對(duì)于基于 C 語言的 shell,請(qǐng)選擇 settings.csh。

$petalinux-create-tproject-sxilinx-vck190-v2020.2-final.bsp-nxilinx-qemu-first-run
$cdxilinx-qemu-first-run
$petalinux-build(如使用預(yù)構(gòu)建鏡像,則此步驟為可選)

下列步驟詳述了如何使用 PetaLinux BSP 工程隨附的 QEMU 預(yù)構(gòu)建二進(jìn)制文件來啟動(dòng) VCK190 平臺(tái)。

我們將使用下列命令隨 U-Boot 和 Linux 內(nèi)核一并啟動(dòng) QEMU。

使用 QEMU 啟動(dòng) U-boot:

$petalinux-boot--qemu--prebuilt2

使用 QEMU 啟動(dòng)內(nèi)核:

$petalinux-boot--qemu--prebuilt3

如果要在運(yùn)行 petalinux-build 后啟動(dòng)構(gòu)建的鏡像,則所用 QEMU 命令行與此處所示不同,應(yīng)遵循下述步驟進(jìn)行操作:

構(gòu)建 PetaLinux BSP 工程后,下一步是使用命令行生成 BOOT.BIN 二進(jìn)制文件:

$petalinux-package--boot--plm--psmfw--uboot--dtb--force

QEMU 啟動(dòng)直至完成 U-Boot 啟動(dòng)為止:

$petalinux-boot--qemu--uboot

QEMU 啟動(dòng)直至完成 Linux 內(nèi)核啟動(dòng)為止:

$petalinux-boot--qemu--kernel

要退出仿真,請(qǐng)按 Ctrl+A,然后按 X。

下一節(jié)將側(cè)重于講解賽靈思 QEMU 所提供的基本網(wǎng)絡(luò)功能及其測(cè)試方式。

QEMU 網(wǎng)絡(luò)選項(xiàng)

QEMU 可對(duì)小型子網(wǎng)(或 LAN)進(jìn)行仿真,包括 DHCP 服務(wù)器、網(wǎng)關(guān)和 DNS 服務(wù)器;即訪問互聯(lián)網(wǎng)所需的所有一切均可仿真。

啟動(dòng) QEMU 并登錄系統(tǒng)。使用 ifconfig 實(shí)用工具來將網(wǎng)絡(luò)設(shè)置檢出。

結(jié)果如下:

root@xilinx-vck190-2020_2:~#ifconfig

eth0Linkencap:EthernetHWaddr00:0A:35:00:22:01

inetaddr:10.0.2.15Bcast:10.0.2.255Mask:255.255.255.0

inet6addr:fe80::20a:35ff:fe00:2201/64Scope:Link

UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1

RXpackets:2errors:0dropped:0overruns:0frame:0

TXpackets:25errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:1152(1.1KiB)TXbytes:4732(4.6KiB)

Interrupt:30



loLinkencap:LocalLoopback

inetaddr:127.0.0.1Mask:255.0.0.0

inet6addr:::1/128Scope:Host

UPLOOPBACKRUNNINGMTU:65536Metric:1

RXpackets:0errors:0dropped:0overruns:0frame:0

TXpackets:0errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RXbytes:0(0.0B)TXbytes:0(0.0B)

此處 eth0 是 PS GEM 以太網(wǎng)的接口。通過 RX 和 TX 字節(jié)計(jì)數(shù)可見,部分網(wǎng)絡(luò)流量已累計(jì)。這可能是由于啟動(dòng)期間發(fā)生的 DHCP 采集所導(dǎo)致的。

以下列出了部分 QEMU 網(wǎng)絡(luò)功能,并簡要解釋了其測(cè)試功能。

1. 測(cè)試網(wǎng)絡(luò):

我們可以正常使用此網(wǎng)絡(luò)連接,與連接到主機(jī)網(wǎng)絡(luò)時(shí)幾乎相同。

例如,您可以從賽靈思 Github 倉庫下載文件。

在 QEMU 上已啟動(dòng)的 Linux 內(nèi),輸入以下命令:

root@xilinx-vck190-2020_2:~#wgethttps://github.com/Xilinx/qemu-devicetrees/archive/master.zip

輸出應(yīng)如下所示:

Connectingtocodeload.github.com(192.30.255.120:443)

master.zip100%|**********************************************************|133k0:00:00ETA

這是從賽靈思公共 Github 倉庫檢索得到的 DTS 工程的源代碼 tarball。您可使用 unzip 命令解壓此文件。
注:從 QEMU 去 ping 主機(jī)是無效的。

2. QEMU 中的網(wǎng)絡(luò)文件系統(tǒng) (NFS) 裝載

NFS 支持將任一設(shè)備上的某個(gè)目錄與網(wǎng)絡(luò)中其它設(shè)備共享。

預(yù)構(gòu)建的 PetaLinux BSP 具有 rootfs 和 Linux 內(nèi)核,可通過 NFS 選項(xiàng)加載。因此,NFS 無需進(jìn)行重新構(gòu)建或重新配置。以下是在 Linux 主機(jī)上使用 QEMU 設(shè)置 NFS 的簡單步驟:

檢查在主機(jī)上是否已安裝 NFS 服務(wù)器

dpkg-l|grepnfs-kernel-server

如未安裝,請(qǐng)使用以下命令進(jìn)行安裝:

sudoapt-getinstallnfs-kernel-server

NFS 服務(wù)器安裝完成后,請(qǐng)?zhí)砑右蚕淼谋镜啬夸洝?/p>

以下示例顯示了如何在 /etc/exports 文件的導(dǎo)出設(shè)置中添加 /home/test_nfs 目錄:

對(duì)于此示例,我們將在 NFS 條目中添加“insecure”選項(xiàng)。

/home/test_nfs*(rw,sync,no_root_squash,insecure)

我們還可以為 NFS 服務(wù)器主機(jī)分配 IP 地址,替代以上命令中的 *。

$sudoexportfs-ra

使用 petalinux-boot 啟動(dòng) QEMU,如下所示:

$petalinux-boot--qemu--prebuilt3

QEMU 啟動(dòng)完成后,登錄訪客機(jī)。使用以下命令將主機(jī) NFS 文件系統(tǒng)裝載到 QEMU 下的 /tmp 目錄中。

$mount-oport=2049,nolock,proto=tcp:/home/test_nfs//tmp

要查找 host_ip,請(qǐng)使用 ifconfig 或類似的 IP 實(shí)用工具。

現(xiàn)在,我們可以在訪客機(jī)的 /tmp 目錄下看到共享的文件。

3. 使用 TFTP 進(jìn)行文件傳輸

QEMU 具有內(nèi)置 TFTP 功能,支持在訪客機(jī)與主機(jī)之間輕松進(jìn)行往來文件傳輸。

如果原先已運(yùn)行 QEMU,請(qǐng)退出,在主機(jī)終端上,創(chuàng)建一個(gè)新目錄,并在其中包含一個(gè)文件:

$mkdir-p/home/${USER}/qemu-training-tftp$echo"helloQEMUworld">>/home/${USER}/qemu-training-tftp/file.txt

此新目錄中的 file.txt 將包含我們的“hello QEMU world”文本行。

QEMU 需要額外參數(shù)以建立到該目錄的 TFTP 訪問:-tftp /home/${USER}/qemu-training-tftp

如果使用的是 PetaLinux,請(qǐng)使用修改后的命令重新啟動(dòng) QEMU:

$petalinux-boot--qemu--prebuilt3--qemu-args"-tftp/home/${USER}/qemu-training-tftp"

這將覆蓋新目錄的默認(rèn) TFTP 目錄設(shè)置。

從訪客機(jī)發(fā)起的任何 TFTP 請(qǐng)求都將指向剛創(chuàng)建的此目錄。

內(nèi)置 TFTP 服務(wù)器 IP 為 10.0.2.2

root@xilinx-vck190-2020_2:~#tftp-g-rfile.txt10.0.2.2

對(duì)此文件執(zhí)行 cat 命令,查看內(nèi)容是否正確:

root@xilinx-vck190-2020_2:~#catfile.txt

4. 使用 SCP 進(jìn)行文件傳輸

在主機(jī)與訪客機(jī)之間可使用 scp 命令通過 SSH 來傳輸文件。

scp 語法如下:
$ scp

遠(yuǎn)程路徑采用如下語法:
user@host:/path/to/file

例如,如果將文件從主機(jī)復(fù)制到訪客機(jī),則命令輸出如下所示:

root@xilinx-vck190-2020_2:~#scp<主機(jī)用戶名>@<主機(jī)?IP>:/scratch/doc-example/myapp.elf.

Host'<主機(jī)?IP>'isnotinthetrustedhostsfile.

(ecdsa-sha2-nistp256fingerprintsha1!!18:7e:92:d0:33:ed:97:e7:cb:b2:f7:b1:5d:52:5f:a6:34:9a:97:f9)

Doyouwanttocontinueconnecting?(y/n)y

komlodi@'spassword:

myapp.elf100%18KB17.7KB/s00:00

5. 通過 SSH 進(jìn)入 QEMU

要通過 SSH 進(jìn)入 QEMU,需要向 QEMU 傳遞其它實(shí)參。

例如,如果在 Versal ACAP 工程上使用 PetaLinux:

$petalinux-boot--qemu--prebuilt3--qemu-args"-netnic,netdev=eth0-netdevuser,id=eth0,hostfwd=tcp::1114-:22-netnic"

登錄 QEMU 機(jī)器。

在主機(jī)終端內(nèi),運(yùn)行以下所示命令以通過 SSH 訪問 QEMU。

$ssh-p1114root@localhost

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1011

    瀏覽量

    83554
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3185

    瀏覽量

    42241
  • qemu
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    5315
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    7616
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    詳解基于賽靈思的Versal? ACAP設(shè)計(jì)創(chuàng)建步驟

    Versal ACAP(自適應(yīng)計(jì)算加速平臺(tái))是高度集成化的多核計(jì)算平臺(tái),可通過靈活的自適應(yīng)能力來滿足不斷變化的動(dòng)態(tài)算法的需求。VCK190 是賽靈思最早發(fā)布的 Versal AI Co
    的頭像 發(fā)表于 09-28 10:57 ?5902次閱讀
    詳解基于賽靈思的<b class='flag-5'>Versal</b>? <b class='flag-5'>ACAP</b>設(shè)計(jì)創(chuàng)建步驟

    利用設(shè)計(jì)網(wǎng)關(guān)的 IP 內(nèi)核在 Xilinx VCK190 評(píng)估套件上加速人工智能應(yīng)用

    應(yīng)用程序,最大限度地提高任何給定的效率工作負(fù)載,同時(shí)提供低功耗和低延遲。 Versal AI Core 系列VCK190 評(píng)估套件采用VC1902 器件,該器件在產(chǎn)品組合中具有最佳的 AI 性能。該套件
    的頭像 發(fā)表于 11-25 16:27 ?1620次閱讀

    利用設(shè)計(jì)網(wǎng)關(guān)的 IP 內(nèi)核在 Xilinx VCK190 評(píng)估套件上加速人工智能應(yīng)用

    Versal AI 內(nèi)核系列 VCK190 評(píng)估套件。(圖片來源:AMD, Inc)VCK190 評(píng)估套件的主要特性板載 Versal AI 核心系列設(shè)備配備
    發(fā)表于 11-25 16:29

    賽靈思Versal評(píng)估套件助力開發(fā)者邁入解鎖ACAP功能的高速路

    裝備業(yè)界首個(gè)自適應(yīng)計(jì)算加速平臺(tái)(ACAP)的賽靈思 Versal AI Core 系列 VCK190評(píng)估套件 和 Versal Prime 系列 VMK180 Prime 評(píng)估套件,現(xiàn)
    的頭像 發(fā)表于 01-14 09:30 ?2184次閱讀

    賽靈思宣布兩款Versal ACAP評(píng)估套件現(xiàn)已上市

    日前,賽靈思宣布兩款 Versal ACAP 評(píng)估套件現(xiàn)已上市,分別為?Versal AI Core 系列 VCK190 評(píng)估套件和?Versal
    的頭像 發(fā)表于 03-12 15:14 ?3121次閱讀

    Vitis AI 1.4賦予 AI 產(chǎn)品化更多可能性

    的解決方案堆棧,首次實(shí)現(xiàn)了對(duì)最新 7nm Versal ACAP 平臺(tái)和16nm Kria SOM的支持。 VCK190 套件是首款 Versal AI Core 系列評(píng)估套件,支持從
    的頭像 發(fā)表于 08-09 10:54 ?1648次閱讀

    Versal ACAP中的配電系統(tǒng)

    Versal 自適應(yīng)計(jì)算加速平臺(tái) (ACAP) 將標(biāo)量引擎 (Scalar Engine)、自適應(yīng)引擎 (Adaptable Engine) 和智能引擎(Intelligent Engine
    的頭像 發(fā)表于 09-09 11:03 ?4446次閱讀

    VCK190板子上使用DDR4-DIMM的ECC

    在Vivado 2021.2的VCK190 boardfile里DDR4-DIMM的DQ width被限制為64bit,不能使能ECC功能。如果需要在VCK190板子上使用DDR4-DIMM的ECC,可以手動(dòng)修改board file。
    的頭像 發(fā)表于 08-17 09:12 ?1229次閱讀

    如何更改VCK190單板啟動(dòng)模式

    辦公室有VCK190單板,運(yùn)行在SD啟動(dòng)模式下,能進(jìn)入Linux。但是現(xiàn)在在家辦公,不能更改VCK190單板啟動(dòng)模式。
    的頭像 發(fā)表于 08-26 11:05 ?1165次閱讀

    利用設(shè)計(jì)網(wǎng)關(guān)的 IP 內(nèi)核在 Xilinx VCK190 評(píng)估套件上加速人工智能應(yīng)用

    靈思 Versal AI 內(nèi)核系列 VCK190 評(píng)估套件。(圖片來源:AMD, Inc) VCK190 評(píng)估套件的主要特性 板載 Versal AI 核心系列設(shè)備 配備
    的頭像 發(fā)表于 11-29 18:36 ?924次閱讀
    利用設(shè)計(jì)網(wǎng)關(guān)的 IP 內(nèi)核在 Xilinx <b class='flag-5'>VCK190</b> 評(píng)估套件上加速人工智能應(yīng)用

    【產(chǎn)品測(cè)試】利用設(shè)計(jì)網(wǎng)關(guān)的 IP 內(nèi)核在 Xilinx VCK190 評(píng)估套件上加速人工智能應(yīng)用

    靈思 Versal AI 內(nèi)核系列 VCK190 評(píng)估套件。(圖片來源:AMD, Inc) VCK190 評(píng)估套件的主要特性 板載 Versal AI 核心系列設(shè)備 配備
    的頭像 發(fā)表于 11-29 18:36 ?2575次閱讀

    使用QEMU啟動(dòng)Versal VCK190

    本篇博文涵蓋了有關(guān)使用 PetaLinux 命令行來對(duì) Versal Adaptive SoC 的 PetaLinux BSP 運(yùn)行 QEMU 的信息,并演示了 QEMU 支持的部分網(wǎng)絡(luò)選項(xiàng)。
    的頭像 發(fā)表于 04-20 10:40 ?648次閱讀

    Versal VCK190評(píng)估套件上使用器件固件升級(jí)(DFU)執(zhí)行USB輔助啟動(dòng)模式測(cè)試

    本文將演示如何在 Versal AI Core 系列 VCK190 評(píng)估套件上從 USB 輔助啟動(dòng)模式啟動(dòng) Linux
    的頭像 發(fā)表于 07-10 17:09 ?865次閱讀
    在<b class='flag-5'>Versal</b> <b class='flag-5'>VCK190</b>評(píng)估套件上使用器件固件升級(jí)(DFU)執(zhí)行USB輔助<b class='flag-5'>啟動(dòng)</b>模式測(cè)試

    VCK190評(píng)估板用戶指南

    電子發(fā)燒友網(wǎng)站提供《VCK190評(píng)估板用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 14:40 ?0次下載
    <b class='flag-5'>VCK190</b>評(píng)估板用戶指南

    Versal ACAP設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《Versal ACAP設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 14:40 ?1次下載
    <b class='flag-5'>Versal</b> <b class='flag-5'>ACAP</b>設(shè)計(jì)指南