国产亚洲精品AA片在线观看,丰满熟妇HD,亚洲成色www成人网站妖精,丁香五月天婷婷五月天男人天堂

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在 Zynq MPSoC 上運(yùn)行 DOOM 游戲

在 Zynq MPSoC 上運(yùn)行 DOOM 游戲

作者: 時(shí)間:2016-08-03 來(lái)源:電子產(chǎn)品世界 收藏

  PetaLinux

本文引用地址:http://www.ljygm.com/article/201608/294978.htm

  PetaLinux 工具包含一個(gè)命令集,以便讓用戶在賽靈思 FPGA 和 SoC 上輕松創(chuàng)建和擴(kuò)展 Linux 系統(tǒng)。該演示使用 petalinux-build 和 petalinux-boot 命令。petalinux-build 命令用于創(chuàng)建全部所需的組件。petalinux-boot 命令(外加幾個(gè)變量)用于啟動(dòng)在 QEMU 仿真器上運(yùn)行的所有組件。介紹 PetaLinux 工具中的所有命令超出了本文的范圍,但是通過(guò)此演示系統(tǒng)應(yīng)該很容易發(fā)掘這兩個(gè)命令和其他命令的功能。參考PetaLinux 工具文檔 — 參考指南 UG1144 (v2015.4) 了解更多信息。

  項(xiàng)目先決條件

  該項(xiàng)目需要一個(gè)運(yùn)行 Linux 的工作站或虛擬機(jī),具有滿足 UG1144 (v2015.4) 中所列的 PetaLinux 工具安裝要求的環(huán)境,而且環(huán)境中需要安裝賽靈思 PetaLinux Tools v2015.4 版本。

  一旦 Doom 啟動(dòng),你就可以使用鍵盤(pán)和鼠標(biāo)控制游戲。應(yīng)記住,可能需要點(diǎn)擊 ESC 鍵來(lái)開(kāi)始游戲。開(kāi)始游戲咯!

  步驟 1:構(gòu)建 ROOTFS

  首先,我們需要構(gòu)建 rootFS。從賽靈思下載 doom_demo.tar.gz,打開(kāi)下載目錄中的一個(gè) terminal;你可在以下網(wǎng)址中找到全部所需文件: www.wiki.xilinx.com/Doom+on+Xen+Demo。我們將該目錄稱(chēng)為 。

  解壓文檔。

  $ cd

  $ tar -xzf doom_demo.tar.gz && cd doom_demo

  我們會(huì)看到一個(gè)文件夾,我們將把它存到根文件系統(tǒng)(一個(gè)用于 Dom0,另一個(gè)用于 DomU)?,F(xiàn)在,我們需要構(gòu)建 PrBoom,并復(fù)制到 rootFS。

  首先,需要下載 Linux 內(nèi)核,這樣我們隨后就可以構(gòu)建 rootFS。我們使用 v4.3 標(biāo)簽。

  $ git clone -b v4.3 https://github.com/tor- valds/linux.git

  下載 Buildroot 源文件,并更改到 Buildroot 目錄。

  $ git clone https://git.buildroot.net/buildroot && cd buildroot

  現(xiàn)在我們需要配置 Buildroot,以構(gòu)建可以使用的套件。

  $ make menuconfig

  我們選擇以下選項(xiàng):

  Target options ---> Target Architecture ---> AArch64 (little endian)

  Target packages —> Games ---> prboom ---> [*]

  Target packages —> Games ---> shareware Doom WAD file ---> [*]

  應(yīng)自動(dòng)選擇全部所需的庫(kù)。

  $ make # (這需要幾分鐘時(shí)間,取決于機(jī)器。)

  現(xiàn)在,我們將所有 PrBoom 相關(guān)文件復(fù)制到 targetfs 目錄,確保我們?cè)?buildroot 目錄下的 ./output/target/ 目錄。

  $ for i in $(find ./-name ‘*oom*’); do cp ${i}

  /doom_demo/targetfs/${i}; done

  現(xiàn)在,我們完成了 Buildroot 操作。我們移到上一個(gè)目錄 doom_demo 目錄。

  $ make # Build the host and guest rootFS.(這需要幾分鐘時(shí)間,取決于你的機(jī)器。)

  注意:可能還存在額外配置選項(xiàng),這主要取決于使用的內(nèi)核版本。這些額外配置選項(xiàng)未被我們提供的配置預(yù)先選擇。使用默認(rèn)選項(xiàng)即可(需點(diǎn)擊回車(chē)鍵)。

  步驟 2:構(gòu)建基礎(chǔ)設(shè)置

  接下來(lái),我們?yōu)槠脚_(tái)構(gòu)建嵌入式系統(tǒng)軟件的剩余部分,包括引導(dǎo)裝載程序、ARM Trusted Firmware (ATF)、Linux 內(nèi)核和設(shè)備樹(shù)。賽靈思的 PetaLinux 工具讓這個(gè)過(guò)程簡(jiǎn)單直觀。我們創(chuàng)建一個(gè)針對(duì)賽靈思 ZCU102 開(kāi)發(fā)板的 PetaLinux 項(xiàng)目。參考 2015.4 UG1144 和 AR#66249 中 QEMU 和 PetaLinux 的快速入門(mén)材料。訪問(wèn)china.xilinx.com ,將 ZCU102 BSP (板支持包)下載到目錄下。

  $ cd

  $ petalinux-create --type project -s

  / Xilinx-ZCU102-v2015.4-final.bsp -- name doom_demo_zynqMP

  這樣將在 /doom_demo_zynqMP 中創(chuàng)建我們的 PetaLinux 項(xiàng)目。

  我們轉(zhuǎn)到 PetaLinux 項(xiàng)目,并構(gòu)建 PetaLinux。

  $ cd /doom_demo_zynqMP

  $ petalinux-build

  現(xiàn)在,我們需要為本用例手動(dòng)編輯設(shè)備樹(shù)。

  編輯 xen-overlay.dtsi 文件 (subsystems/linux/ configs/device-tree/xen-overlay.dtsi)。

  將 dom0 下的 'reg = <0x0 0x80000 0x3100000>;' 替換為 'reg = <0x0 0x80000 0x4100000>;'

  將 dom0 下的 'xen,xen-bootargs = "console=dtuart dtuart=serial0 dom0_mem=512M bootscrub=0 maxcpus=1 time r_ slop=0";' 替換為 'xen,xen-bootargs = "console=dtuart dtuart=serial0 dom0_mem=512M bootscrub=0 maxcpus=4 timer_ slop=0";'

  將 dom0 下的 'xen,dom0-bootargs = "console=hvc0 earlycon=xen earlyprintk=xen maxcpus=1";' 替換為 'xen,dom0-bootargs = "rdinit=/bin/sh console=hvc0 earlycon=xen earlyprintk=xen maxcpus=4";'

  編輯 zynqmp.dtsi 文件 (subsystems/linux/configs/ device-tree/zynqmp.dtsi)。

  將 dom0 下的 'compatible = "cdns,uart-r1p12";' 替換為 'compatible = "cdns,uart-r1p8", "cdns,uart-r1p12";' 現(xiàn)在,手動(dòng)構(gòu)建 Xen 設(shè)備樹(shù)。

  $ dtc -I dts -O dtb -i ./subsystems/linux/con- figs/device-tree/ -o ./images/linux/xen.dtb ./ subsystems/linux/configs/device-tree/xen.dts

  最后,我們需要將 Peta- Linux 構(gòu)建的 rootFS 替換為我們此前構(gòu)建的 rootFS。之所以這樣做,是因?yàn)?PetaLinux 不包含 PrBoom,因?yàn)槲覀兲峁┳约旱?rootFS。我們還需要將 xen.ub 鏡像替換為賽靈思預(yù)先構(gòu)建的鏡像,因?yàn)?Xen 和 Xen 工具版本必須匹配。

  $ rm /doom_demo_zynqMP/images/linux/ Image && rm /doom_demo_zynqMP/images/ linux/xen.ub

  $ cp /doom_demo/Image /doom_ demo_zynqMP/images/linux/Image && cp / doom_demo/xen.ub /doom_demo_zynqMP/im- ages/linux/xen.ub

  使用 u-boot 引導(dǎo)加載程序引導(dǎo)。

  $ petalinux-boot --qemu --u-boot --qemuargs= "- net nic -net nic -net nic -net nic -net us- er,net=192.168.129.0,dhcpstart=192.16

  8.129.50,host=192.168.129.1,hostfwd=t cp:127.0.0.1:5900-192.168.129.50:5900"

  > setenv serverip 192.168.129.1

  > tftpb 4000000 xen.dtb; tftpb 0x80000 Image; tftpb 6000000 xen.ub; bootm 6000000 - 4000000

  # /boot.sh

  # /xen-doom.sh 1



關(guān)鍵詞: Zynq MPSoC

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉