精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

ZYNQ7020的PS端的基本開發(fā)流程

FPGA技術江湖 ? 來源:叁芯智能FPGA課程 ? 作者:Lucien_大輝哥 ? 2022-07-24 18:12 ? 次閱讀

這篇文章記錄ZYNQ7020的PS端的基本開發(fā)流程,關于PL端的開發(fā)流程,參考之前文章,這里放個超鏈接。

學員筆記連載 | Day5 Xilinx ZYNQ7000系列 PS、PL、PS-PL基本開發(fā)流程之PL端篇

本篇文章,以配置一個PS端的UART外設,并打印一句話《hello ZYNQ7020,Author:liushuhe 2020.11.26》來演示

ZYNQ7020的基本開發(fā)流程,本篇文章需要一點點的C語言知識,不會也不影響實驗的,跟著步驟做就行了。

一、任務分工

ZYNQ芯片分為PL和PS,PS端的IO分配相對是固定的,不能任意分配,雖然PS端的ARM是硬核,但是在ZYNQ當中也要將ARM硬核添加到工程當中才能使用,FPGA工程師負責把Vivado工程搭建好,提供好硬件給軟件開發(fā)人員,軟件開發(fā)人員便能在這個基礎上開發(fā)應用程序 ,軟件開發(fā)人員,不用關心FPGA的部分。

二、FPGA工程師搭建硬件平臺

我們這里演示搭建一個帶UART和arm A9處理器的硬件平臺

1.1、建立vivado工程

創(chuàng)建一個“ps_uart”的工程,具體過程,參考我文章開頭超鏈接文章;

1.2、點擊“Create Block Design”,創(chuàng)建一個Block設計,也就是圖形化設計

2cd95f7a-0aef-11ed-ba43-dac502259ad0.png

1.3、“Design name”可以不修改,我改成ps_uart便于識別

2cecbf48-0aef-11ed-ba43-dac502259ad0.png

1.4、點擊“Add IP”快捷圖標

2d1194b2-0aef-11ed-ba43-dac502259ad0.png

1.5、搜索“zynq”,在搜索結果列表中雙擊“ZYNQ7 Processing System

2d2ff254-0aef-11ed-ba43-dac502259ad0.png

1.6、雙擊Block圖中的“processing_system7_0”(直接雙擊藍色區(qū)域),配置相關參數(shù)

2d49974a-0aef-11ed-ba43-dac502259ad0.png

1.7、首先出現(xiàn)的界面是ZYNQ硬核的架構圖,可以很清楚看到它的結構,可以參考 官方文檔,在官網(wǎng)搜索ug585 即可

2d7df10c-0aef-11ed-ba43-dac502259ad0.png

1.8、圖中綠色部分是可配置模塊,可以點擊進入相應的編輯界面


1.9、也可以在左側的窗口進入編輯 ,下面分別介紹左側選項代表的功能;

2.0、Zynq 塊設計參數(shù)配置,單擊綠色塊右下角,可以進行參數(shù)配置

2dae66c0-0aef-11ed-ba43-dac502259ad0.png

2.1、PS-PL Configuration 配置界面,主要是進行PS與PL之間接口的配置,主要是AXI接口,這些接口可以擴展PL端的AXI接口外設

核。

2.2、我們這篇文章是PS開發(fā)流程,關于PS-PL Configuration 配置在這里保持默認,在后面的實驗中我再補充

2ddbd31c-0aef-11ed-ba43-dac502259ad0.png

2.3、外設配置,ZYNQ的PS端外設很多是復用的 ,同一引腳可以配置為不同的功能

zynq內部只有2個串口,UART0、UART1、我們看UART0可以接在(10、11)/(14、15)/(18、19)/(22、23)/(26、27)

2e00a0ac-0aef-11ed-ba43-dac502259ad0.png

2.4、配置串口,我們的ps_uart需要一個串口來打印消息,查看ZYNQ7020開發(fā)板的原理圖

從原理圖看出,ZYNQ的PS端的串口,連接的是MIO12、MIO13端口,并且電源是3.3v

2e1a48d6-0aef-11ed-ba43-dac502259ad0.png

2.5、從I/O分配看,MIO12、MIO13是串口1,在MIO12、MIO13引腳對應串口上單擊,會看見該模塊變?yōu)榫G色,即代表分配成功

關于BANK0、BANK1的電壓,由于創(chuàng)龍沒有給核心板的原理圖,但是給了一個WORD的描述文檔,大家也要熟悉這個方式

國內很多廠家都是這樣,屬于技術保密

2e394c72-0aef-11ed-ba43-dac502259ad0.png

2e5acdfc-0aef-11ed-ba43-dac502259ad0.png

按照上述表格分配UART1電壓和引腳

2e85afea-0aef-11ed-ba43-dac502259ad0.png

2.6、配置QSPI,QSPI可以作為ZYNQ的啟動存儲設備,ZYNQ可以通過讀取QSPI中存儲的啟動文件加載ARM和FPGA

從核心板word表格和創(chuàng)龍給的例程,得知我們選擇Quad SPI Flash為Single SS 4bit IO

2eaddf2e-0aef-11ed-ba43-dac502259ad0.png

2.7、配置以太網(wǎng),在PS端設計有以太網(wǎng)接口

1、根據(jù)原理圖選擇Ethernet 0到MIO16-MIO27

電壓是1.8v

2ee32f76-0aef-11ed-ba43-dac502259ad0.png

2f0db84a-0aef-11ed-ba43-dac502259ad0.png

2、配置PHY寄存器配置接口,選擇MDIO并配置到MIO52-MIO53

2f23309e-0aef-11ed-ba43-dac502259ad0.png

2f41f574-0aef-11ed-ba43-dac502259ad0.png

2.8、配置USB0到MIO28-MIO39

2f5511e0-0aef-11ed-ba43-dac502259ad0.png

2f74c396-0aef-11ed-ba43-dac502259ad0.png

2.9、ZYNQ還可以SD卡啟動

查看底板原理圖,選擇 SD 0,配置到 MIO40-MIO45,選擇Card Detection MIO0,用于檢測 SD 卡的插入。

2fa6a8fc-0aef-11ed-ba43-dac502259ad0.png

2fc4b5f4-0aef-11ed-ba43-dac502259ad0.png

1、配置SD0

2feacbfe-0aef-11ed-ba43-dac502259ad0.png

2、選擇Card Detection MIO0,用于檢測SD卡的插入

300e6e56-0aef-11ed-ba43-dac502259ad0.png

3.0、控制剩余未分配的MIO,用作GPIO ,打開GPIO MIO,PS便可以配置

1、雙擊GPIO MIO當出現(xiàn)打鉤的提示時,軟件會自動把我們未使用到的IO分配為GPIO

30266d94-0aef-11ed-ba43-dac502259ad0.png

2、到這里引腳分配全部完成,如果以后做實驗需要配置其他外設,可以參考這個文章,作相應的修改即可

3.1、MIO配置

修改 Enet0的電平標準為 HSTL 1.8V, Speed 為 fast,這些參數(shù)非常重要,如果不修改,網(wǎng)絡可能不通。其他部分保持默認。

304a9d2c-0aef-11ed-ba43-dac502259ad0.png

3.2、時鐘配置

在“Clock Configuration”選項卡中我們可以配置PS時鐘輸入時鐘頻率,這里默認是33.333333,和板子上一致,不用修改,

CPU 頻率改為 767Mhz,同時 PS 還可以給 PL 端提供 4 路時鐘,頻率可以配置,這里不需要,所以保持默認即可。

還有 PS 端外設的時鐘等也可以進行配置,這里保持默認。

30755f8a-0aef-11ed-ba43-dac502259ad0.png

3.3、DDR3配置

在“DDR Configuration”選項卡中可以配置PS端ddr的參數(shù)

根據(jù)創(chuàng)龍的例程,內存芯片我們選擇《MT41K256M16 RE-125》,Effective DRAM Bus Width 選擇《32bit》

其他部分保持默認,點擊OK

309b5f6e-0aef-11ed-ba43-dac502259ad0.png

3.4、到這里ZYNQ核的配置完成,我們配置參數(shù)及導出硬件信息

1、點擊“Run Block Automation”,vivado軟件會自動完成一些導出端口的工作

30b675d8-0aef-11ed-ba43-dac502259ad0.png

2、按照默認點擊“OK”

30e679b8-0aef-11ed-ba43-dac502259ad0.png

3、連接FCLK_CLK0到M_AXI_GP0_ACLK,按Ctrl+S保存設計

31097206-0aef-11ed-ba43-dac502259ad0.png

4、選擇Block設計,右鍵“Create HDL Wrapper...”,創(chuàng)建一個Verilog或VHDL文件,為ps_uart生成HDL頂層文件

312b911a-0aef-11ed-ba43-dac502259ad0.png

5、在彈出對話框,選擇讓vivado軟件自動更新 頂層文件

3156fa6c-0aef-11ed-ba43-dac502259ad0.png

6、展開設計可以看到PS被當成一個普通IP來使用 ,之前生成那個頂層文件,其實就是為了把我們的硬件配置

生成一個IP核,供我們調用

3172af6e-0aef-11ed-ba43-dac502259ad0.png

7、選擇block設計,右鍵“Generate Output Products”,此步驟會生成block的輸出文件,包括IP,例化模板, RTL 源文件, XDC 約束,第三方綜合源文件等等。供后續(xù)操作使用。

31935412-0aef-11ed-ba43-dac502259ad0.png

8、點擊“Generate”

31bc213a-0aef-11ed-ba43-dac502259ad0.png

9、PS端的引腳不需要綁定 ,因為在生成的IP文件包含了PS端引腳分配的XDC文件

在IP Sources,Block Designs->ps_uart->Synthesis中,可以看到處理器的XDC文件,綁定了PS端的IO,因此不需要再新建XDC綁定這些引腳

31cfca32-0aef-11ed-ba43-dac502259ad0.png

10、在菜單欄“File -> Export -> Export Hardware...”導出硬件信息,這里就包含了 PS 端的配置信息。

32160114-0aef-11ed-ba43-dac502259ad0.png

11、在彈出的對話框中點擊“OK”

32387410-0aef-11ed-ba43-dac502259ad0.png

12、因為我們這個實驗僅僅是使用了PS的串口,不需要PL參與,這里就沒有使能“Include bitstream” ,關于PS-PL的聯(lián)合實驗,我會另寫一篇

13、此時會多出 xx.sdk 文件夾,并且有個 hdf 文件,這個文件就是這個文件就包含了 Vivado 硬件設計的信息,供軟件開發(fā)人員使用。

32564a3a-0aef-11ed-ba43-dac502259ad0.png

14、到此為止, FPGA 工程師工作告一段落,剩下的工作交給ARM軟件開發(fā)人員。

2ca8a8bc-0aef-11ed-ba43-dac502259ad0.png

二、ARM軟件編寫C語言程序,在串口打印一句話《hello ZYNQ7020,Author:liushuhe 2020.11.26》

1、點擊Vivado菜單“File -> Launch SDK”,啟動SDK

3295d858-0aef-11ed-ba43-dac502259ad0.png

2、在彈出的對話框選擇OK

32c0cec8-0aef-11ed-ba43-dac502259ad0.png

3、啟動SDK后我們會看到一個文件夾,有一個名為"system.hdf”文件,這個文件就包含了

Vivado硬件設計的信息,可以給軟件開發(fā)使用,也可以看到 PS 端外設的寄存器列表。

32e0b0da-0aef-11ed-ba43-dac502259ad0.png

4、在SDK的菜單“New -> Application Project”,建立一個APP工程

33243d46-0aef-11ed-ba43-dac502259ad0.png

4、在彈出的對話框中,“Project name”填寫“ps_uart_hello”,硬件平臺選擇我們自己定義的ps_uart_wrapper_hw_platform

語言C、其他默認,點擊“Next”

3340bb4c-0aef-11ed-ba43-dac502259ad0.png

5、模板選擇《hello world》,點擊Finish

335bf5ba-0aef-11ed-ba43-dac502259ad0.png

6、可以看到SDK創(chuàng)建了一個“ps_uart_hello”目錄,還有一個“ps_usrt_hello_bsp”的目錄,在“ps_usrt_hello_bsp”目錄中可以找到很多有用的信息,軟件開發(fā)人員比較清楚,BSP也就是 Board Support Package板級支持包的意思,里面包含了開發(fā)所需要的驅動文件,用于應用程序開發(fā)。

3377b3c2-0aef-11ed-ba43-dac502259ad0.png

7、雙擊“system.mss”,還可以看到有些PS外設還提供了例程,這是用來了解學習這些外設的第一手資料。驅動文檔說明可以在 Documentation 中找到。通過 Import Examples 引入官方例子,加快學習。

33a2436c-0aef-11ed-ba43-dac502259ad0.png

8、連接JTAG線到開發(fā)板、UART的USB線到PC

9、打開串口終端調試工具,串口根據(jù)電腦的COM口設置,波特率設置為115200

10、將開發(fā)板的啟動模式設置到JTAG模式

開發(fā)板設置撥碼為【010101(1~6 JTAG模式)】、【100101(1~6 QSPI模式)】、【101001(1~6 SD卡模式】

33be7e06-0aef-11ed-ba43-dac502259ad0.png

11、給開發(fā)板上電,準備運行程序

1、修改helloword.c,將printf打印修改為printf("hello ZYNQ7020,Author:liushuhe 2020.11.26 ");

33e598f6-0aef-11ed-ba43-dac502259ad0.png

2、編譯代碼,右鍵單擊ps_uart_hello,在彈出的列表選擇Build Project,編譯完成可以看看沒有報錯

341379e2-0aef-11ed-ba43-dac502259ad0.png

12、選擇“ps_uart_hello”,右鍵“Run as”,選擇第一個“Launch on Hardware(SystemDebuger)”,使用系統(tǒng)調試,直接運行程序。

343781f2-0aef-11ed-ba43-dac502259ad0.png

13、可以看到串口沒有任何輸出

14、為了保證系統(tǒng)的可靠調試,需要添加一個配置,右鍵“Run As -> Run Configuration...”

346621f6-0aef-11ed-ba43-dac502259ad0.png

15、選擇“Reset entire system”復位整個系統(tǒng),如果系統(tǒng)中還有PL設計,還必須選擇“ProgramFPGA”,再次點擊“Run”

3487692e-0aef-11ed-ba43-dac502259ad0.png

16、點擊“OK”,確認重新運行

34a43fcc-0aef-11ed-ba43-dac502259ad0.png

17、這次就可以看到熟悉《hello ZYNQ7020,Author:liushuhe 2020.11.26》顯示出來了

34c8291e-0aef-11ed-ba43-dac502259ad0.png

三、Debug調試

1、除了“Run As”,還可以“Debug As”,這樣可以設置斷點,單步運行

34f42212-0aef-11ed-ba43-dac502259ad0.png

2、進入Debug模式 ,程序會自動運行到main函數(shù)處

351e80a2-0aef-11ed-ba43-dac502259ad0.png

3、和其他開發(fā)工具一樣,我們也可以逐步運行、設置斷點

353d20b6-0aef-11ed-ba43-dac502259ad0.png

4、窗口右上角,有2個按鈕可以方便我們在debug和編輯模式之間進行切換

3598682c-0aef-11ed-ba43-dac502259ad0.png

四、到此,關于ZYNQ7020 的PS端基本開發(fā)流程,全部跑通,關于PS-PL的聯(lián)合實驗,待我另寫一篇。

審核編輯:湯梓紅

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

    關注

    68

    文章

    19159

    瀏覽量

    229112
  • FPGA
    +關注

    關注

    1626

    文章

    21665

    瀏覽量

    601802
  • Zynq
    +關注

    關注

    9

    文章

    608

    瀏覽量

    47124

原文標題:學員筆記精選 | ZYNQ7000系列之《PS端 》串口打印

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ZYNQ7000系列 PS、PL、AXI 、啟動流程基本概念

    /005899fe6815 二、ZYNQ7020 分為PS、PL PS: 處理系統(tǒng) (Processing System) , 就是與
    的頭像 發(fā)表于 05-12 10:25 ?1.6w次閱讀
    <b class='flag-5'>ZYNQ</b>7000系列 <b class='flag-5'>PS</b>、PL、AXI 、啟動<b class='flag-5'>流程</b>基本概念

    vivado zynq實現(xiàn)錯誤

    你好,我在Win10中使用vivado 2016.2 for zynq7020。我的時鐘方案是zynq PS FCLK_CLK0-->時鐘向導IP輸入(Primitive PLL)的輸入。合成
    發(fā)表于 11-05 11:40

    zynq7020板子+ad采集+dma傳輸問題?

    求助各位大神,我用的是ad7606采集數(shù)據(jù),然后通過dma傳輸?shù)絘rm核中,用的板子時zynq7020,但是一直出現(xiàn)一個問題,[BD 41-237] Bus Interface property
    發(fā)表于 06-17 16:51

    zynq 7020 PSzynq PL是如何通話的?

    嗨,我必須找出zynq 7020 PSzynq PL如何通話,特別是我必須找到將在ARM中處理的SDK C代碼。你能用一個明確的C代碼告訴我,它解釋了數(shù)據(jù)如何從
    發(fā)表于 05-08 09:37

    ZYNQ芯片開發(fā)流程的簡介

    PS和PL互聯(lián)技術ZYNQ芯片開發(fā)流程的簡介
    發(fā)表于 01-26 07:12

    ZYNQ PSIIC接口怎么使用?

    ZYNQ PSIIC接口使用筆記
    發(fā)表于 02-23 06:23

    基于Zynq的嵌入式開發(fā)流程

    基于Zynq的嵌入式開發(fā)流程Xilinx Zynq SoC 是集成了FPGA和硬核處理器的特殊SoC,它與一般FPGA的最大不同就是自帶了一個ARM Cortex-A系列硬核,根據(jù)型號
    發(fā)表于 08-23 08:15

    分享!基于Zynq-7010/7020的多路千兆網(wǎng)口實現(xiàn)方案

    (Processing System,PS)和可編程邏輯資源(Programmable Logic,PL)),提供了基于Zynq-7010/7020的多路千兆網(wǎng)口實現(xiàn)方案。1 硬件平臺TLZ7x-EasyEVM-S
    發(fā)表于 10-22 09:43

    實現(xiàn)上位機與zynq7020開發(fā)板通信的方法

    最近想實現(xiàn)上位機與zynq7020開發(fā)板通信。采用串口通信方式,利用QT編寫一個簡易串口助手實現(xiàn)與下位機的通信。 下位機給上位機發(fā)送收據(jù),上位機能夠正常接受。但是上位機給下位機串口發(fā)數(shù)據(jù),下位機
    發(fā)表于 02-17 07:08

    AD9681是否可被zynq-7020的pl驅動?

    您好: 我想咨詢AD9681是否可以被zynq-7020的PL驅動(zynq7020的性能是否足夠)。我們需要做衛(wèi)星的探測載荷,由于衛(wèi)星能源控制嚴格,我們需要低功耗、多通道(至少8個)、高采樣率
    發(fā)表于 12-04 08:18

    ZYNQ7020開發(fā)板的電路原理圖免費下載

    本文檔的主要內容詳細介紹的是ZYNQ7020開發(fā)板的電路原理圖免費下載。
    發(fā)表于 02-12 16:07 ?494次下載
    <b class='flag-5'>ZYNQ7020</b><b class='flag-5'>開發(fā)</b>板的電路原理圖免費下載

    AX7020原理圖等資料分享

    ZYNQ7020原理圖等資料SCH和PCB封裝等免費下載。
    發(fā)表于 09-23 15:14 ?28次下載

    Zynq-7020千兆網(wǎng)口的3種擴展方案

    常用的以太網(wǎng)接口通常是MAC + 物理PHY的形式,外接RJ45插頭實現(xiàn)GE_T模式的電口應用。而Zynq-7020PS部分包含兩個千兆以太網(wǎng)MAC層硬核,因此還需要以太網(wǎng)物理層傳輸芯片實現(xiàn)千兆以太網(wǎng)接口。Zynq-7020
    的頭像 發(fā)表于 12-14 15:56 ?3038次閱讀

    xilinx ZYNQ7000系列基本開發(fā)流程PS

    ZYNQ 芯片分為 PL 和 PSPS 的 IO 分配相對是固定的,不能任意分配,雖然 PS
    的頭像 發(fā)表于 08-11 09:36 ?9538次閱讀
    xilinx <b class='flag-5'>ZYNQ</b>7000系列基本<b class='flag-5'>開發(fā)</b><b class='flag-5'>流程</b>之<b class='flag-5'>PS</b><b class='flag-5'>端</b>

    基于zynq7020器件來搭建Linux系統(tǒng)

    Zynq器件將arm和FPGA結合,利用了兩者各自的優(yōu)勢,arm可以實現(xiàn)靈活的控制,而FPGA部分可以實現(xiàn)算法加速,這大大擴展了zynq的應用。比如深度學習加速,圖像處理等等。PL側表示FPGA的邏輯部分,PS側為arm
    發(fā)表于 11-09 11:28 ?2422次閱讀
    基于<b class='flag-5'>zynq7020</b>器件來搭建Linux系統(tǒng)