1.1 硬件介紹
我們從原理圖中可以看到 ZYNQ 芯片分為PL和PS,PS端的IO分配相對是固定的,不能任意分配,而且不需要在Vivado軟件里分配管腳,雖然本實驗僅僅使用了PS,但是還要建立一個Vivado工程,用來配置PS管腳。雖然PS端的ARM是硬核,但是在ZYNQ當中也要將ARM硬核添加到工程當中才能使用。前面章節介紹的是代碼形式的工程,本章開始介紹ZYNQ的圖形化方式建立工程。
下面介紹FPGA工程師負責內容。
1.2 Vivado工程建立
1)創建一個名為“ps_hello”的工程,建立過程不再贅述,參考“PL的”Hello World”LED實驗”。
2)點擊“Create Block Design”,創建一個Block設計
3)“Design name”這里不做修改,保持默認“design_1”,這里可以根據需要修改,不過名字要盡量簡短,否則在Windows下編譯會有問題。
? ? ? ?
4)點擊“Add IP”快捷圖標
5)搜索“PS”,在搜索結果列表中雙擊”Control,Interfaces & Processing System”
6)點擊Run Block Automation
7)配置如下,點擊OK
8)自動連接如下
9)雙擊CIPS進行配置
點擊PSPMC進行配置
? ?
10)配置QSPI,EMMC,SD
選擇相應MIO
11)勾選USB 2.0,GEM0,UART0,TTC,GPIO等外設
配置外設
12)將MIO24配置成GPIO輸入,對應PS端按鍵,MIO25配置成GPIO輸出,對應PS端LED燈
13)在clocking中,將參考時鐘設置更精確些
14)將內部中斷都勾選上,配置完成,點擊OK
15)點擊Finish
16)雙擊AXI NoC配置DDR4
選擇參考時鐘和system clock
DDR Address Region 1選擇NONE,點擊OK
17)修改引腳名稱
雙擊配置sys_clk的頻率為200MHz
18)選擇Block設計,右鍵“Create HDL Wrapper...”,創建一個Verilog或VHDL文件,為block design生成HDL頂層文件。
19)保持默認選項,點擊“OK”
20)添加約束
21)Generate Device Image
22)完成后取消
23)File->Export->Export Hardware...
此時在工程目錄下可以看到xsa文件,這個文件就包含了Vivado硬件設計的信息,可交由軟件開發人員使用。
到此為止,FPGA工程師工作告一段落。
軟件工程師工作內容
Vitis工程目錄為“ps_hello/vitis”
以下為軟件工程師負責內容。
1.3 Vitis調試
1.3.1 創建Application工程
1)新建一個文件夾,將vivado導出的xx.xsa文件拷貝進來。
2)Vitis是獨立的軟件,可以雙擊Vitis軟件打開,也可以通過在Vivado軟件中選擇ToolsàLaunch Vitis打開Vitis軟件
在歡迎界面,點擊Open Workspace,選擇之前新建的文件夾,點擊”OK”
3)啟動Vitis之后界面如下,點擊“Create Platform Component”,這個選項會創建Platfrom工程,Platform工程類似于以前版本的hardware platform,包含了硬件支持的相關文件以及BSP。
4)第一頁填寫Component name和路徑,保持默認,點擊Next
5)選擇(XSA,選擇“Browse”,選擇之前生成的xsa,點擊打開,之后點擊Next
7)點擊Finish完成
8)生成之后出現窗口界面,以下是一些窗口介紹,與之前版本的Vitis界面有相似之處,但差別也比較大。
9)可以在Flow窗口編譯平臺
沒有錯誤狀態
10)點擊左側Example,這里面有很多官方的例程,與以前版本也比較類似,選擇Hello World
11)點擊創建工程
12)填寫工程名稱和路徑,保持默認
13)選中平臺
14)點擊Next
15)完成
16)選中hello_world,點擊Build
1.3.2 下載調試
1)連接JTAG線到開發板、UART的USB線到PC
2)在上電之前最好將開發板的啟動模式設置到JTAG模式,拔到”ON”的位置
3)開發板上電,并且打開串口調試工具,點擊Flow中的Run
4)這個時候觀察串口調試工具,即可以看到輸出”Hello World”
1.4 固化程序
普通的FPGA一般是可以從flash啟動,或者被動加載,在第一章的PMC架構中已經介紹啟動過程,這里不再介紹。
在Flow中選擇Creat Boot Image,彈出的窗口中可以看到生成的BIF文件路徑,BIF文件是生成BOOT文件的配置文件,還有生成的Output Image文件路徑,也就是生成BOOT.pdi文件,它是我們需要的啟動文件,可以放到SD卡啟動,也可以燒寫到QSPI Flash。
在生成的目錄下可以找到boot.pdi文件
1.4.1 SD卡啟動測試
1)格式化SD卡,只能格式化為FAT32格式,其他格式無法啟動
? ? ? ? ?
2)放入boot.pdi文件,放在根目錄
3)SD卡插入開發板的SD卡插槽
4)啟動模式調整為SD卡啟動
? ?
5)打開串口軟件,上電啟動,即可看到打印信息,紅色框為FSBL啟動信息,黃色箭頭部分為執行的應用程序helloworld
1.4.2 QSPI啟動測試
1)在Vitis菜單Vitis -> Program Flash
2)Image FIle文件選擇要燒寫的boot.pdi。選擇Verify after flash,Flash Type選擇qspi-x8-dual_parallel,在燒寫完成后校驗flash。
3)點擊Program等待燒寫完成
4)設置啟動模式為QSPI,再次啟動,可以在串口軟件里看到與SD同樣的啟動效果。
1.5 本章小結
本章從FPGA工程師和軟件工程師兩者角度出發,介紹了Versal開發的經典流程,FPGA工程師的主要工作是搭建好硬件平臺,提供硬件描述文件xsa給軟件工程師,軟件工程師在此基礎上開發應用程序。本章是一個簡單的例子介紹了FPGA和軟件工程師協同工作,后續還會牽涉到PS與PL之間的聯合調試,較為復雜,也是Versal開發的核心部分。
同時也介紹了FSBL,啟動文件的制作,SD卡啟動方式,QSPI下載及啟動方式。
審核編輯:劉清
-
處理器
+關注
關注
68文章
18406瀏覽量
222815 -
led燈
+關注
關注
22文章
1559瀏覽量
107070 -
DDR4
+關注
關注
12文章
295瀏覽量
40343 -
串口調試
+關注
關注
2文章
263瀏覽量
24502 -
QSPI
+關注
關注
0文章
39瀏覽量
11993
原文標題:【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之體驗ARM,裸機輸出(7)
文章出處:【微信號:ALINX,微信公眾號:ALINX】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論