吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣在Linux環境中使用Vivado 2014.1 Webpack

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-14 11:24 ? 次閱讀

第1步:下載基本系統

怎樣在Linux環境中使用Vivado 2014.1 Webpack

從網站上下載Zybo基本系統設計并將其解壓縮到我們的工作目錄中(在本教程中,我們的工作目錄稱為教程)。有關硬件設計的更多信息,請參閱doc文件夾下的Project Guide。

步驟2:打開基本系統設計

獲取Vivado 2014.1設置并使用Vivado Design Suite(vivado)打開設計。您將看到Vivado窗口彈出。

注意:Vivado工具集中有四個可用的設置文件:settings64.sh,可用于具有bash的64位計算機; settings32.sh,可在帶有bash的32位計算機上使用; settings32.csh,用于在具有C Shell的32位計算機上使用;和設置64.csh,可在具有C Shell的64位計算機上使用。

步驟3:刪除現有的LED內核

我們將首先從PS中的GPIO內核分離LED。因此,我們需要單擊IP集成器并打開此步驟中第一張圖所示的框圖。然后,我們需要刪除第二個圖像中所示的當前LED IP。我們將在后續步驟中處理外部引腳位置配置(xdc文件)的修改。

注意:在圖4中,有一個黃色欄表示需要升級。要升級熱門節目的顯示IP狀態,請確保所有內容均已選中,然后點擊“升級所選內容”。

步驟4:命名供應商

在開始實施myLed IP內核之前,我們需要命名將自動應用于IP打包程序中的供應商。在Vivado 2014.1中,不會自動為您完成此操作。為此,請首先轉到窗口左側項目管理器下的項目設置(圖1),然后將彈出項目設置窗口。在“項目設置”窗口中,選擇IP(圖像2)。請注意,將供應商選擇為(無),這將導致Vivado內部異常。您可以隨意命名供應商(圖3)。

步驟5:創建MyLed IP

《現在,我們可以開始實施myLed IP內核了。從菜單中單擊工具-》創建和打包IP…(圖像1)。將彈出“創建并打包新IP”窗口(圖2),單擊“下一步”。在下一個窗口中為新IP命名,然后再次單擊下一步(圖像3)。

步驟6:添加接口

下一個窗口將是“添加接口”窗口。這將為myLed外設創建AX14接口。確保接口類型為Lite,模式為Slave,數據寬度為32位,寄存器數量為4。將名稱更改為S_AXI而不是S00_AXI。我們只需要1個寄存器,但是我們可以選擇的最小值是4。然后單擊下一步。

步驟7:編輯IP

下一個窗口將提示您完成創建IP的后續步驟。更改單選按鈕以選擇“編輯IP,然后單擊完成”。我們需要向IP添加用戶邏輯,以便我們的從設備連接到LED輸出。

步驟8:

選擇完成后,“創建和打包IP”窗口將消失,您將看到的下一個窗口是edit_myLed窗口。這是我們將添加用戶邏輯的地方。

步驟9:MyLed_v1_0_S_AXI

在項目中管理員,點擊myLed_v1_0旁邊的圓圈,然后突出顯示myLed_v1_0_S_AXI(圖1)。這包含myLed IP內部的用戶邏輯。我們需要添加兩行代碼來完成該模塊的用戶邏輯。首先,我們需要創建一個名為led的用戶端口(圖2)。接下來,我們需要將內部從設備連接到該用戶端口。我們將連接slv_reg0 [3:0],因為我們有四個LED(圖像3)。

步驟10:MyLed_v_0

接下來,我們需要將用戶邏輯連接到myLed。在項目管理器中,選擇文件myLed_v_0。要完成IP,我們需要在此文件中添加兩行代碼。在“用戶在此處添加端口”的注釋下,為LED添加一個端口(圖1)。將前一個包含用戶邏輯的文件的led輸出連接到myLed(圖像2)。

步驟11:程序包IP

現在,我們已經創建了IP,并定義了用戶邏輯,我們需要打包IP。在窗口左側的“項目管理器”下,選擇“包IP”。將打開一個新的選項卡,稱為“程序包IP”。在此水龍頭的左側有一系列標簽。我們需要完成沒有綠色復選標記的內容。

首先選擇IP自定義參數。在該窗口的頂部,選擇“從IP自定義參數向導中合并更改”的選項。

步驟12:端口和接口

下一步選擇IP端口和接口。請注意,您的新LED IP在那里。

步驟13:IP GUI自定義

下一步選擇IP GUI自定義。我們的IP GUI很好,因此我們在這里不會進行任何更改。

現在,我們可以查看和打包myLed IP。選擇查看并打包IP,然后按重新打包IP按鈕。我們的IP現在已完成并打包。

步驟14:添加MyLed IP

將我們的IP添加到我們的設計中。右鍵單擊模塊設計上的任意位置,然后單擊添加IP(圖1)。選擇正確的IP myLed_v1.0,然后按Enter鍵(圖像2)。

步驟15:運行連接自動化

myLed IP Core的AXI4-Lite總線需要連接到處理系統。在窗口頂部,單擊顯示運行連接自動化的藍色文本。這將連接myLed IP內核的輸入。您應該看到S_AXI現在已連接到AXI互連的第一個輸出。

步驟16:創建LED端口

接下來,我們需要將myLed IP連接到外部端口。我們實現的myLed IP內核不會連接到現有的LEDs_4Bits端口,因此我們需要創建一個名為led的新外部端口。單擊現有的LED端口,然后按Delete鍵。要創建新端口,請右鍵單擊并選擇創建端口。命名端口,選擇輸出,選擇向量[3:0],然后按Enter。

步驟17:連接LED端口

下一步,通過單擊端口并將led連接拖到myLed上,將led端口連接到myLed IP。

步驟18:修改XDC

最后一步是指定myled_0_LED_pin的引腳號,以將我們定制的IP內核物理連接到板載LED。在項目管理器中,展開“約束”部分,然后選擇base.xdc文件(圖1)。在該文件中,更改外部LED引腳的名稱,以使其與我們的外部LED端口的名稱匹配(圖像2)。

步驟19:生成比特流

通過單擊窗口左側“程序和調試”下的“生成比特流”,為硬件設計重新生成比特流。

步驟20:U-Boot源代碼

**注:使用主分支-下一分支直到另行通知

獲取Digilent git存儲庫中U-Boot的源代碼。有兩種方法可以檢索源代碼:

使用git命令:

如果您的發行版中安裝了git,則可以通過命令git clone https將存儲庫克隆到計算機上。 ://github.com/Digilent/u-boot-Digilent-Dev.g 。..整個Git存儲庫約為55MB,如圖1所示。如果您想獲得一個單獨的分支,例如下一個分支圖2.下一個包含尚未發布的u-boot。上面引用的克隆URL可以在Digilent git-hub頁面上找到,如圖3所示。

下載壓縮包:

如果只想使用一次u-boot如果不想跟蹤更新,也可以從github.com下載壓縮包:https://github.com/Digilent/u-boot-digilent。轉到顯示分支的下拉框,然后選擇標簽。最新標簽是zynq-beta-v2.2。 (圖4)。

如果下載了tar.gz,則可以使用命令

tar zxvf u-boot-digilent-2012.04-digilent-13.01.tar.gz解壓縮

如果下載了zip文件,則可以使用命令

unzip u-boot-digilent-2012.04-digilent-13.01.zip

步驟21:編譯U-Boot

要編譯U-Boot,我們需要Vivado 2014.1提供的交叉編譯工具。這些工具在GCC工具鏈的標準名稱前有一個前綴arm-xilinx-linux-gnueabi-。前綴引用所使用的平臺。 Zybo板有兩個臂芯,因此我們參考了臂。為了使用跨平臺編譯器,請確保已獲取Vivado 2014.1設置。如果沒有,請參考步驟2。要為Zybo配置和構建U-Boot,請遵循此步驟附帶的映像。

步驟22:U-boot.elf

編譯后,

生成的ELF(可執行和可鏈接文件)被稱為u-boot。我們需要在文件名中添加.elf擴展名,以便Xilinx SDK可以讀取文件布局并生成BOOT.BIN。在本教程中,我們將把u-boot.elf移到sd_image文件夾,并替換Zybo基本系統設計包隨附的u-boot.elf。

步驟23:導出SDK的硬件

通過單擊文件-》導出-》導出,將硬件設計(步驟I-16之后)導出到Xilinx SDK。 SDK的硬件…,如第一幅圖所示。

將工作區保留為。確保已選中Launch SDK,然后單擊“確定”,如第二幅圖像所示。

注意:您可能必須導出兩次。

步驟24:新建項目

SDK啟動后,硬件平臺項目已經出現在SDK主窗口左側的Project Explorer中,如圖1所示。現在,我們需要創建一個第一階段引導加載程序(FSBL)。單擊File-》 New-》 Project…,如圖2所示。

步驟25:應用程序項目

在新建項目窗口,選擇Xilinx-》應用程序項目,然后單擊下一步。

步驟26:將項目命名為FSBL

我們將項目命名為FSBL。為目標硬件選擇hw_platform_0,因為它是我們剛剛導出的硬件項目。為OS平臺選擇獨立。單擊下一步。

步驟27:創建Zynq FSBL模板

選擇Zynq FSBL作為模板,然后單擊完成。

步驟28:FSBL掛鉤

對于Zybo,我們需要在fsbl掛鉤中設置以太網的mac地址。我們希望關閉和打開Zybo板時以太網的mac地址保持不變。您可以將FSBL項目中的fsbl_hooks.c文件與Zybo基本系統設計中source/vivado/SDK/fsbl下的fsbl_hooks.c交換。

將更改保存到fsbl_hooks.c后,

該項目將自動重建自身。如果不重建,請單擊Project-》 Clean清理項目文件,然后單擊Project-》 Build All重建所有項目。編譯的ELF文件位于zybo_base_system/source/vivado/hw/zybo_bsd.sdk/SDK/SDK_Export/FSBL/Debug

步驟29:創建啟動映像

現在,我們已經準備好所有文件來創建BOOT.BIN。單擊Xilinx工具-》創建Zynq引導映像。

第30步:添加FSBL,System.bit和U-boot.elf

在“創建Zynq引導映像”窗口中,單擊“瀏覽”以設置FSBL elf的路徑。單擊添加以添加位于/zybo_base_system/source/vivado/hw/zybo_bsd/zybo_bsd.sdk/SDK/SDK_Export/hw_platform_0/的system.bit文件。單擊添加以添加位于zybo_base_system/sd_image/的u-boot.elf文件。 。按順序添加3個文件非常重要,否則FSBL將無法正常工作。將FSBL.elf設置為引導程序,將system.bit和u-boot.elf設置為數據文件也非常重要。在本教程中,sd_image文件夾被設置為BIN文件的輸出文件夾。單擊創建映像。

步驟31:Linux內核源代碼

**注意:使用母版-Next分支直到另行通知

從Digilent git存儲庫獲取Linux內核源代碼。有兩種方法可以檢索源代碼:

使用git命令:如果您的發行版中安裝了git,則可以通過命令git clone https://github.com/將存儲庫克隆到計算機上。 DigilentInc/Linux-Digilent-Dev 。..整個Git存儲庫約為850MB,如圖1所示。

下載壓縮包:如果您只想使用一次u-boot,并且不想要跟蹤更新,您還可以從github.com下載壓縮包:https://github.com/DigilentInc/Linux-Digilent-Dev。單擊頁面右上角的標簽。最新標簽是zynq-dt-for-3.14(圖2)。

如果下載了tar.gz,則可以使用命令

tar zxvf linux-digilent-v3.6-digilent-13.01.tar.gz

如果下載了zip文件,則可以使用命令將其解壓縮

解壓縮linux-digilent-v3.6-digilent-13.01.zip

第32步:配置內核

我們將開始使用Zybo的默認配置來配置內核。該配置位于arch/arm/configs/xylinx_zynq_defconfig。要使用默認配置,請遵循此步驟所附的圖像。

步驟33:編譯Linux內核

按照示例進行操作

步驟34:制作Uimage

編譯后,內核映像位于arch/arm/開機/的zImage。但是,在這種情況下,內核映像必須是uimage(解壓縮)而不是zimage。要使uimage跟隨此步驟中的圖像。

步驟35:可選的路徑更改

注意:取決于您的分布在Linux上,您可能會得到有關mkimage路徑的錯誤。如果是這種情況,您可以在此步驟中更改圖像后的路徑。

步驟36:制作Uramdisk

到在Zybo上啟動Linux操作系統,您需要BOOT.BIN,Linux內核映像(uImage),設備樹blob(DTB文件)和文件系統。在第三節中創建了BOOT.BIN,在第四節中編譯了uImage。現在,我們將編譯DTB文件。默認設備樹源文件位于Linux內核源文件中的arch/arm/boot/dts/zynq-zybo.dts。

RAMDISK:對于zynq,只有虛擬磁盤映像必須包裝在u中-boot標頭,以便u-boot用它引導。該步驟顯示在該圖像中。

步驟37:生成DTB文件

按照圖像中提供的示例進行操作

步驟38:將文件映像復制到SD卡

RAMDISK)復制BOOT.BIN,將devicetree.dtb,uImage和uramdisk.image.gz移至SD卡的第一個分區,如第一個映像– RamDisk中所示。

注意:SD卡的第一個分區已安裝到/media/ZYBO_BOOT

步驟39:從SD卡啟動

將SD卡插入Zybo。要從SD卡引導,需要按照Zybo板上所示為USB配置跳線7,并且必須將跳線5連接到SD。使用微型USB電纜將UART端口連接到PC,并將PC上的UART端子設置為115200波特率,8個數據位,1個停止位,無奇偶校驗和無流量控制。板上電后,如果使用RamDisk,則應該在UART終端上看到控制臺。有關此文件系統的更多信息,請參見《嵌入式Linux ZedBoard入門》。

步驟40:創建驅動程序目錄

在Tutorial文件夾中創建一個名為drivers的目錄,如本步驟中的圖像所示。在drivers目錄中,我們將構成myLed控制器的驅動程序。

步驟41:創建Makefile

我們需要一個Makefile,以便我們可以編譯驅動程序。 Makefile在圖像1中創建。

創建文件后,單擊I更改為插入模式,然后在圖像2中插入以下文本。請確保在適當的地方使用制表符。

步驟42:創建Myled.c

我們將從一個簡單的驅動程序開始,該驅動程序在Linux/proc文件系統下創建一個名為myled的文件。可以通過在文件中寫入數字來更改板載LED的狀態。驅動程序被編碼在最后四個圖像中,并被附加

步驟43:編譯驅動程序

編譯并生成驅動程序模塊使用make。不要忘記來源Vivado設置。

步驟44:將Myled添加到設備樹

我們需要將myLed設備節點添加到設備樹中。

在drivers文件夾中復制默認設備樹源,然后根據第二個圖像對其進行修改。節點的兼容性字符串與我們在驅動程序源代碼中定義的字符串相同(myled.c:第182行)。 reg屬性定義節點的物理地址和大小。如上圖所示,此處的地址應與Vivado設計的地址編輯器選項卡中的myLed IP內核的地址匹配。

步驟45:重新編譯設備樹Blob

重新編譯設備樹blob,如所附映像所示。

步驟46:將驅動程序和修改后的設備樹復制到SD卡

將這兩個文件復制到SD的第一個分區卡,如該步驟中的圖像所示。我們現在就可以在板上測試驅動程序了。

步驟47:從SD卡啟動

插入SD卡進入Zybo,我們就可以開始測試驅動程序了。使用insmod命令將驅動程序模塊安裝到內核中。安裝驅動程序后,將在/proc文件系統下創建一個名為myled的條目。將0x0F寫入/proc/myled將點亮LED 0?3。您可以使用rmmod命令刪除驅動程序,也可以通過poweroff命令關閉系統電源。在這兩種情況下,所有LED都將關閉,如圖69和70所示。有關將終端與Zybo一起使用的說明。請參閱嵌入式Linux入門– ZedBoard中的步驟V-4或從SD引導部分。

步驟48:用戶應用程序:Led_blink

在本節中,我們將編寫一個用戶應用程序,該應用程序通過寫入/proc/myled來使LED閃爍

。如第一個圖像所示,在Tutorial文件夾中創建一個名為user_app的目錄。在user_app目錄中,我們將組成led_blink.c,如第二和第三張圖所示。

步驟49:創建Makefile并編譯Led_blink

組成一個Makefile并將led_blink.c編譯為led_blink.o,如本步驟中的三個圖像所示。

步驟50:

將SD卡插入計算機,然后將二進制文件led_blink復制到SD卡的第一個分區。

步驟51:運行Led_blink

將SD卡插入ZYBO。使用insmod命令將驅動程序模塊安裝到內核中。運行led_blink,LED會開始閃爍。

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210417
  • 軟件
    +關注

    關注

    69

    文章

    5013

    瀏覽量

    88085
收藏 人收藏

    評論

    相關推薦

    【北京迅為】itop-3562開發板Linux系統中使用NPU

    【北京迅為】itop-3562開發板Linux系統中使用NPU
    的頭像 發表于 11-25 14:52 ?453次閱讀
    【北京迅為】itop-3562開發板<b class='flag-5'>在</b><b class='flag-5'>Linux</b>系統<b class='flag-5'>中使</b>用NPU

    Xilinx_Vivado_SDK的安裝教程

    首先是去官網下載安裝包:https://www.xilinx.com/support/download.html。 下載這個最大的、支持所有的 OS 如 Windows/Linux 的安裝包。 下載
    的頭像 發表于 11-16 09:53 ?1674次閱讀
    Xilinx_<b class='flag-5'>Vivado</b>_SDK的安裝教程

    每次Vivado編譯的結果都一樣嗎

    很多FPGA工程師都有這種困惑,Vivado每次編譯的結果都一樣嗎? AMD官網上,有這樣一個帖子: Are Vivado results repeatable for identical
    的頭像 發表于 11-11 11:23 ?573次閱讀
    每次<b class='flag-5'>Vivado</b>編譯的結果都一樣嗎

    Linux應用編程的基本概念

    Linux應用編程涉及到Linux環境下開發和運行應用程序的一系列概念。以下是一些涵蓋Linux應用編程的基本概念。
    的頭像 發表于 10-24 17:19 ?292次閱讀

    Vivado使用小技巧

    后的約束之前版本中已存在,那么Vivado會給出警告信息,顯示這些約束會覆蓋之前已有的約束;如果是新增約束,那么就會直接生效。
    的頭像 發表于 10-24 15:08 ?436次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    Linux環境變量配置方法

    Linux環境變量配置分為設置永久變量和臨時變量兩種。環境變量設置方法同時要考慮環境Shell類型,不同類型的SHELL設置臨時變量方法和設置永久變量對應的配置文件不同。
    的頭像 發表于 10-23 13:39 ?218次閱讀

    綠色或便攜式環境中使用bq3285/7E

    電子發燒友網站提供《綠色或便攜式環境中使用bq3285/7E.pdf》資料免費下載
    發表于 10-23 09:21 ?0次下載
    <b class='flag-5'>在</b>綠色或便攜式<b class='flag-5'>環境</b><b class='flag-5'>中使</b>用bq3285/7E

    聚徽-工業一體機可以怎樣環境中使

    在當今的工業生產環境中,? 設備需要能夠各種惡劣和復雜的環境下穩定運行,? 以確保生產效率和產品質量。? 工業一體機作為一種專為工業應用設計的計算機設備,? 憑借其出色的適應性和穩定性,?
    的頭像 發表于 09-23 10:02 ?167次閱讀

    反向電流應用中使用比較器

    電子發燒友網站提供《反向電流應用中使用比較器.pdf》資料免費下載
    發表于 09-19 12:50 ?0次下載
    <b class='flag-5'>在</b>反向電流應用<b class='flag-5'>中使</b>用比較器

    linux中使用esptool.py下載圖像,下載成功但無法啟動是怎么回事?

    我有一個參考 ESP-WROOM-02 設計的 EVB,CH340 作為 usb2 串行接口。我嘗試 linux 中使用 esptool.py 下載圖像,下載成功但無法啟動。我Wi
    發表于 07-08 06:21

    求助,esp-idf中使用arduino作為組件后怎樣使用arduino的庫?

    esp-idf中使用arduino作為組件后怎樣使用arduino的庫,例如我此時需要使用arduino的第三方庫blinker,怎樣使用?
    發表于 06-12 07:21

    stm8系列單片機IAR環境怎樣配置G口?

    stm8系列單片機,IAR環境下,怎樣配置G口? 例如:不小心把外斷的紅外接收或按鍵的引腳接到G口了,比如STM8S105或207(48腳封裝的),P35、P36腳(PG0、PG1),但IAR的
    發表于 04-23 07:02

    深入探索Vivado非工程模式FPGA設計流程

    設計過程的每個階段,設計者均可以打開Vivado集成開發環境,對存儲器中保存的當前設計進行分析和操作。
    發表于 04-03 09:36 ?1153次閱讀
    深入探索<b class='flag-5'>Vivado</b>非工程模式FPGA設計流程

    FX3無法Windows中使用Gstreamer怎么解決?

    我正在開發 FX3,我可以 Linux 和 Windows 中使用 y8 格式的 ffmpeg 流式傳輸相機, Linux
    發表于 02-23 07:38

    Linux環境下能使用PSoC Creator 4.3嗎?

    最近碰到一個Linux系統下編譯的要求,PSoC Creator能夠Linux環境下使用嗎?
    發表于 02-18 07:22
    路劲太阳城怎么样| 什么百家乐官网平注法| 澳门百家乐官网官网| 大发888官网df888| 正品百家乐官网电话| 威尼斯人娱乐城信誉最好| 线上百家乐官网网站| 旧金山百家乐的玩法技巧和规则 | 360棋牌大厅| 好望角百家乐官网的玩法技巧和规则| 大发888娱乐城客户端lm0| 百家乐官网楼梯缆 | 飞天百家乐官网的玩法技巧和规则 | 九州百家乐官网娱乐城| 百家乐庄闲局部失| 百家乐官网7scs| 百家乐官网怎么玩呀| 如何打百家乐的玩法技巧和规则| 鲨鱼百家乐官网游戏平台| 威尼斯人娱乐城代理注册| 百家乐官网赌博代理合作| 大发888游戏平台 官方| 风水24山子怎么读| 破解百家乐| 网络百家乐骗局| 澳门百家乐官网看路博客| 郑州太阳城宾馆| 百家乐官网博彩的玩法技巧和规则 | 百家乐大小牌路的含义| 试玩百家乐官网网| 大发888客户端下| 属虎属鼠做生意可以吗| 百家乐官网如何取胜| 网上百家乐赌博经历| 百家乐官网庄牌闲牌| 广宗县| 三公百家乐在哪里可以玩| 新锦江百家乐官网娱乐场开户注册| 天上人间娱乐城| 视频百家乐赢钱| 百家乐官网网上玩法|