在Zedboard的Demo演示中試驗了通過Quad-SPI FLASH和SD存儲卡啟動系統(tǒng),還有一種配置Zynq芯片的方法是通過JTAG接口,而且FPGA邏輯的調(diào)試和嵌入式軟件調(diào)試也需要通過JTAG,下面我們來看看在Zedboard上面如何進行嵌入式系統(tǒng)開發(fā)。Xilinx提供了一整套軟硬件設計開發(fā)工具ISE Design Suite,其中整合了各種開發(fā)軟件,可以在Xilinx網(wǎng)站免費下載。注意為了能夠使用最新的Zynq芯片必須下載ISE Design Suite14.1或者以上版本,F(xiàn)PGA的設計工具都很龐大,14.1版本ISE占到了6.5G,非常恐怖。下載完成解壓縮之后開始安裝

如下可以選擇Embedded Edi
tion,也可以選擇System Edition

ISE軟件是需要License的,安裝完成以后可以選擇Webpack,這是Xilinx提供的一個免費的版本。

ISE Design Suite是一系列開發(fā)工具的集合,在這里我們主要會用到以下幾個主要的工具:

PlanAhead:這是進行Zynq嵌入式系統(tǒng)設計的一個入口,整合了嵌入式硬件設計工具XPS以及軟件設計工具SDK,還連接邏輯綜合等ISE工具。
Xilinx Platform Studio(XPS):用于搭建嵌入式系統(tǒng)硬件平臺
Xilinx Software Development Kit(SDK):嵌入式軟件開發(fā)環(huán)境
ChipScope Pro:片上的信號邏輯分析工具
?
軟件安裝完成后,現(xiàn)在可以在Zedboard硬件平臺上實驗如何進行嵌入式系統(tǒng)軟硬件開發(fā)了,在這之前建議下載一個Zedboard板卡定義文件,這在之后的Zynq硬件配置時會用到。Zynq芯片內(nèi)部集成了處理器和可編程邏輯,我們知道它的內(nèi)部大體可以劃分為PS(Processing System)和PL(Programmable Logic)部分。PS和PL部分是可以獨立配置也可以整合在一起同時配置,也就是說我們可以單獨建立PS系統(tǒng)(如果不用到PL部分IO),也可以單獨配置PL邏輯(PS部分只作為配置PL邏輯的控制器),也可以同時配置PS和PL邏輯,可見Zynq芯片可以靈活的搭建嵌入式平臺實現(xiàn)不同的功能。建立獨立的PS系統(tǒng)建立一個獨立的PS系統(tǒng)就是我們只在PS部分搭建一個ARM的嵌入式系統(tǒng),不需要額外PL邏輯,利用Xilinx的工具能很快建立一個系統(tǒng),甚至不需要寫任何代碼,模塊化的設計確實很方便。首先Zedboard上的MODE選擇跳線我們要設在通過JTAG啟動(參見Zedboard Demo演示),如下:

上圖是一般的Zynq芯片的設計流程。按照步驟能很快建立一個處理器系統(tǒng)。1)打開PlanAhead,選擇Create New Project新建一個項目

按照下圖選擇建立項目


2)確定后生成了一個新的項目,PlanAhead項目的文件以后綴.ppr結尾,可以點擊Add Souces添加硬件設計文件。

選擇建立一個新的Embeded Source,確定之后PlanAhead會自動跳用XPS執(zhí)行。


3)在XPS中設定硬件的配置,與之前版本不一樣的地方是右邊系統(tǒng)窗口里增加了Zynq
標簽頁,圖形化的表示PS內(nèi)部框圖。圖中綠色的部分是可以修改
參數(shù)也就是說可以重新配置的。

圖形化邏輯配置簡單明確4)現(xiàn)在可以配置PS內(nèi)部邏輯,也可以導入配置好的模板,在這里我們導入之前下載的Zedboard板卡定義文件,選擇Zynq標簽頁下面Import按鈕彈出窗口

確定后導入了定義好的Zedboard文件,配置后的框圖如下,這是點擊綠色圖塊會發(fā)現(xiàn)邏輯已經(jīng)設定好。


5)關閉XPS,又回到PlanAhead窗口。這時在Design Souces下增加了剛才建立的.xmp項目。郵件點擊.xmp選擇Create Top HDL。

到這一步一個簡單的ARM系統(tǒng)建立起來了,只需要建立PS部分配置。下一步將硬件下載到Zedboard上,搭建好Zedboard平臺,需要JTAG下載線,可以用Micro
USB連接到USB-PROG(J17)口,也可以使用Xilinx下載電纜連接到14腳JTAG插座(J15)。6)選擇File->Export->Export Harware...,彈出窗口,夠選上Launch SDK,確定后PlanAhead開始啟動SDK軟件。


上圖可以看到system.xml文件包含了硬件平臺的配置
信息。ps7_init.c和ps7_init.h中包含了處理器平臺硬件的初始化s設置。7)接通Zedboard的
電源,目前處于等待JTAG變成狀態(tài),只有電源指示
LED(LD13)變亮。打開一個串口監(jiān)視,這里用Putty來監(jiān)視,波特率115200、數(shù)據(jù)位8位、停止位1位、奇偶校驗無。

8)選擇File->New->Xilinx C Project,彈出窗口建立一個hello_world的例程


9)完成之后現(xiàn)在建立了一個Hello_world的小程序,并且自動編譯。編譯完成后右鍵點擊hello_world_0,選擇Run as->Launch on Hardware將程序下載到Zedboard。

下載完成后程序執(zhí)行在串口監(jiān)視窗口會輸出“Hello world”。

一個簡單的ARM Cortex-A9內(nèi)核的系統(tǒng)已經(jīng)建立,可以進行軟件開發(fā)了。小結介紹JTAG方式啟動Zedboard。演示用Xilinx設計工具ISE Design suite14.1進行Zynq開發(fā)的設計下載和驗證,利用Zynq芯片的PS部分獨立建立了一個簡單的嵌入式系統(tǒng)。接下來將結合PS和PL邏輯建立一個功能更靈活的系統(tǒng)。來源:愛板網(wǎng)
?
評論