日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Zynq UltraScale + MPSoC示例设计 - 在64位Linux上执行32位应用程序

發(fā)布時間:2025/3/21 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zynq UltraScale + MPSoC示例设计 - 在64位Linux上执行32位应用程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

官方說明連接:https://china.xilinx.com/support/answers/66636.html

描述

解決方案


官方說明連接:https://china.xilinx.com/support/answers/66636.html


描述

我在Linux上運行Zynq UltraScale + MPSoC,我需要訪問32位應(yīng)用程序。是否可以在此平臺上運行multiarch Linux?

解決方案

以下過程描述了如何在ZCU102評估平臺上引導(dǎo)64位Ubuntu Core根文件系統(tǒng)。

以下詳細(xì)步驟分為三個基本階段:

  • 使用Xilinx Vivado和PetaLinux工具配置硬件平臺和基本引導(dǎo)附件,如ARM可信固件,U-Boot,設(shè)備樹和Linux內(nèi)核。
  • 下載并配置公共可用的Ubuntu Core根文件系統(tǒng),使其駐留在SD卡上的專用ext3分區(qū)中。
  • 配置apt-get軟件包管理器以允許安裝32位應(yīng)用程序
  • ?

    由此產(chǎn)生的系統(tǒng)可以作為開發(fā)更強(qiáng)大的基于Ubuntu的系統(tǒng)的起點,該系統(tǒng)適合于給定系統(tǒng)的特定需求。

    在繼續(xù)之前,請確保應(yīng)用“鏈接的項目”部分中列出的修補(bǔ)程序。

    XILINX建立步驟?

    本節(jié)中的步驟是標(biāo)準(zhǔn)的PetaLinux構(gòu)建步驟。有關(guān)此處引用的命令的更多詳細(xì)信息,請參閱(UG1144)。


    創(chuàng)建面向Zynq UltraScale + MPSoC的Vivado 2015.4項目,確保項目語言設(shè)置為Verilog。ZCU102評估平臺基于XCZU9EG-FFVB1156-2I器件。

    使用附加的Tcl文件為此平臺生成Vivado IP Integrator框圖。

    創(chuàng)建程序框圖后,為其生成HDL包裝程序并通過實施設(shè)計階段運行項目。

    實施后,將HDF文件導(dǎo)出到磁盤上的已知位置。通常,最簡單的方法是將HDF導(dǎo)出到與Vivado項目相同的目錄中。

    使用zynqMP模板獲取PetaLinux設(shè)計工具并創(chuàng)建PetaLinux項目:

    $ petalinux-create -t?? project --template zynqMP -n <your_project_name>

    創(chuàng)建PetaLinux項目后,使用Vivado生成的HDF文件對其進(jìn)行初始化:

    $ petalinux-config --get-hw-description = <path_to_HDF>

    項目初始化后,PetaLinux將自動啟動系統(tǒng)級menuconfig界面。現(xiàn)在,只需退出界面并返回終端提示即可。

    使用petalinux-build命令構(gòu)建Linux項目。這將構(gòu)建一個使用INITRAMFS根文件系統(tǒng)的Linux映像。

    $ petalinux-build

    構(gòu)建完成后,Linux映像附件將位于<PETALINUX_PROJECT_ROOL / images / linux中。

    使用petalinux-package命令創(chuàng)建標(biāo)準(zhǔn)Zynq UltraScale + MPSoC啟動映像(稱為boot.bin):

    $ petalinux-package --boot --format BIN --u-boot -o BOOT.BIN

    將boot.bin文件復(fù)制到其他位置以便安全保存。

    將image.ub文件重命名為initramfs.ub并將其復(fù)制到其他位置以便安全保存。

    使用petalinux-config命令返回PetaLinux系統(tǒng)級menuconfig:

    $ petalinux-config

    配置項目,以便從ext3 SD卡分區(qū)/ dev / mmcblk0p2引導(dǎo)平臺。?

    此選項位于<菜單頂部> - >圖像打包配置 - >根文件系統(tǒng)類型。確保“SD設(shè)備的設(shè)備節(jié)點”選項反映/ dev / mmcblk0p2分區(qū)。

    ?

    ?

    ?

    ?

    退出配置菜單并使用petalinux-build命令重建PetaLinux項目:

    $ petalinux-build

    構(gòu)建完成后,Linux映像附件將位于<PETALINUX_PROJECT_ROOL / images / linux中。

    將image.ub文件重命名為sdcard.ub并將其復(fù)制到其他位置以便安全保存。

    使用標(biāo)準(zhǔn)分區(qū)工具(如gparted或fdisk),對SD卡進(jìn)行分區(qū),使其具有一個大小為128MB的FAT32分區(qū)和一個大小為4GB或更大的ext3分區(qū)。

    如果操作系統(tǒng)未自動完成此操作,請裝入剛剛創(chuàng)建的分區(qū)。

    將先前創(chuàng)建的boot.bin和.ub文件復(fù)制到SD卡的FAT32分區(qū)。

    ?

    UBUNTU核心配置步驟

    從http://cdimage.ubuntu.com/ubuntu-core/releases/14.04/release/ubuntu-core-14.04.3-core-arm64.tar.gz下載64位ARM版Ubuntu Core 14.04的副本

    將下載的tarball復(fù)制到SD卡的ext3分區(qū),并使用標(biāo)準(zhǔn)Linux tar命令將其解壓縮。以root身份(或使用sudo提升)運行此命令非常重要,這樣可以創(chuàng)建根文件系統(tǒng)的某些部分。

    $ sudo tar xvfz ubuntu-core-14.04.3-core-arm64.tar.gz

    解壓縮后,將附加的ttyPS0.conf和ttyPS1.conf文件復(fù)制到/ etc / init目錄。這將確保在引導(dǎo)后顯示登錄提示。

    為了正確啟動,Ubuntu要求文件系統(tǒng)中至少存在一個非root用戶。要執(zhí)行此操作,請使用先前創(chuàng)建的initramfs.ub內(nèi)核映像進(jìn)行引導(dǎo)。

    在SD卡的FAT32分區(qū)上,將initramfs.ub映像文件復(fù)制(或重命名)為image.ub。

    卸載FAT32分區(qū)和ext3分區(qū),然后從主機(jī)彈出SD卡。

    將SD卡插入ZCU102板的SD卡插槽,并將其配置為從SD卡啟動。

    使用TeraTerm或PuTTY等工具打開終端窗口。終端輸出將顯示在UART接口0上。具體的COM端口因計算機(jī)而異。

    ?





    打開電路板并等待系統(tǒng)引導(dǎo)至Linux登錄提示。默認(rèn)用戶名和密碼組合為root / root。

    ?

    登錄后,將目錄更改為Linux文件系統(tǒng)的根目錄:

    #cd /

    創(chuàng)建可用于chroot命令的臨時工作目錄:

    #mkdir / chroot_mnt

    將ext3分區(qū)掛載到chroot掛載點:

    #mount / dev / mmcblk0p2 / chroot_mnt

    使用chroot命令切換到Ubuntu根文件系統(tǒng):

    #chroot / chroot_mnt

    進(jìn)入chroot環(huán)境后,使用adduser命令為Ubuntu Core環(huán)境添加新用戶:

    #adduser ubuntu #addgroup ubuntu adm #addgroup ubuntu sudo

    為了使網(wǎng)絡(luò)自動工作,請在/etc/network/interfaces.d/中創(chuàng)建網(wǎng)絡(luò)配置腳本

    此答復(fù)記錄附有名為eth0的示例腳本。

    使用exit命令退出chroot環(huán)境。

    從掛載點卸載ext3分區(qū):

    #umount / chroot_mnt

    關(guān)閉ZCU102單板電源,將SD卡從單板上拔出。

    將SD卡重新插入主機(jī)。

    從主計算機(jī),導(dǎo)航到SD卡的FAT32分區(qū)。

    將sdcard.ub映像文件復(fù)制(或重命名)為image.ub

    從主計算機(jī)中彈出SD卡,然后將其重新插入ZCU102。再次打開電路板并監(jiān)控終端輸出。

    ?

    設(shè)置32位存儲庫

    ?

    在此引導(dǎo)期間,Zynq UltraScale + MPSoC器件將引導(dǎo)到位于SD卡的ext3分區(qū)上的根文件系統(tǒng),而不是INITRAMFS。

    出現(xiàn)登錄提示時,請使用上面為“ubuntu”用戶創(chuàng)建的憑據(jù)。

    登錄系統(tǒng)后。使用以下命令添加32位CPU目標(biāo):

    sudo dpkg --add-architecture armhf

    使用以下命令更新包列表:

    sudo apt-get -y update

    您應(yīng)該看到armhf版本現(xiàn)在可用。armhf封裝是32位封裝,而arm64封裝是64位封裝。

    現(xiàn)在可以使用終端提示符中的標(biāo)準(zhǔn)apt-get方法安裝32位應(yīng)用程序。

    總結(jié)

    以上是生活随笔為你收集整理的Zynq UltraScale + MPSoC示例设计 - 在64位Linux上执行32位应用程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。