新建工程
1. 打開vivado2017.4,在出現(xiàn)的對(duì)話框中選擇創(chuàng)建一個(gè)工程,如圖所示。這一步是為了創(chuàng)建一個(gè)ZYNQ的工程。
2. 點(diǎn)擊創(chuàng)建工程后,出現(xiàn)對(duì)話框如圖所示,然后點(diǎn)擊對(duì)話框中的下一步。這一步表示這是一個(gè)創(chuàng)建工程的向?qū)Вㄟ^(guò)該向?qū)バ陆ㄒ粋€(gè)工程。
3,此時(shí)會(huì)出現(xiàn)一個(gè)對(duì)話框如圖所示,這一步給工程命名,并且確定工程的保存路徑,下面的小勾表示創(chuàng)建一個(gè)和工程名字相同子目錄,然后點(diǎn)擊下一步。
4,下一步后出現(xiàn)對(duì)話框如圖所示,該步驟是確定需要?jiǎng)?chuàng)建工程的類型,我們選擇RTL工程,該類型的工程可以添加源文件,創(chuàng)建IP大框架,生成IP,綜合分析和實(shí)現(xiàn)等。點(diǎn)擊下一步。
5,此時(shí)出現(xiàn)對(duì)話框如圖所示,該步驟表示添加現(xiàn)有的源文件,創(chuàng)建一個(gè)空的工程,這步直接點(diǎn)擊下一步。
6,出現(xiàn)對(duì)話框如圖所示,該步驟為添加現(xiàn)有的約束文件,創(chuàng)建空的工程,直接點(diǎn)擊下一步。
7,出現(xiàn)對(duì)話框如圖所示,該步驟選擇芯片的類型,本工程建立在7015型號(hào)上,所以選擇xc7z015clg485-1,然后點(diǎn)擊下一步。
8,此時(shí)出現(xiàn)對(duì)話框如圖所示,該步驟表示工程創(chuàng)建完成,顯示所創(chuàng)建的工程的信息,點(diǎn)擊完成。
9,空的工程創(chuàng)建完成以后出現(xiàn)界面如圖所示,需要往里面添加需要的IP大框架,在IP向?qū)吕碇须p擊創(chuàng)建IP框架,建立IP框架圖。
10,雙擊后出現(xiàn)創(chuàng)建設(shè)計(jì)對(duì)話框如圖所示,點(diǎn)擊OK。
11,創(chuàng)建背框后出現(xiàn)如圖的對(duì)話框,點(diǎn)擊diagram中的大空白頁(yè)中的“+”圖標(biāo),添加IP到設(shè)計(jì)框架。
12,點(diǎn)擊+號(hào)后添加ZYNQ的IP到設(shè)計(jì)框架中,如圖所示,在輸入框中輸入zynq,下拉表中會(huì)有對(duì)應(yīng)的zynq出現(xiàn),雙擊下面的IP添加到設(shè)計(jì)框中。
13,添加zynq的ip后對(duì)話框如圖所示,雙擊圖中的ZYNQ核心IP,出現(xiàn)配置界面。
14,出現(xiàn)的配置界面如圖所示,這時(shí)可以對(duì)ZYNQ進(jìn)行配置了,其Page Navigator 界面下有 8 個(gè)子項(xiàng),分別為 Zynq Block Design,PS-PL Configuration,
Peripheral I/O Pins,MIO Configration,Clock Configuration,DDRConfiguration,SMC Timing Calculation,Interrupts。這些頁(yè)面選項(xiàng)是針對(duì) ZYNQ 的不同硬件模塊的配置,其中PS_PL 頁(yè)面提供了 PS 到 PL 的相關(guān)接口配置信息以及 PS 部分一些配置信息;Peripheral I/O Pins 頁(yè)面主要是對(duì)一些通用外設(shè)接口的配置;MIO Configruation 頁(yè)面主要是對(duì) MIO 以及EMIO 的分配控制;Clock Configruation 頁(yè)面主要是對(duì) PS 端時(shí)鐘資源的配置和管理;DDR Configration 頁(yè)面主要是對(duì) DDR 控制器一些參數(shù)的配置;Interrupts 頁(yè)面主要是對(duì)中斷進(jìn)行配置管理。
15,可以通過(guò)page navigator中的的八個(gè)設(shè)計(jì)單元分別去配置工程中zynq的硬件外設(shè)單元;也可以通過(guò)加載腳本的方式配置設(shè)計(jì)單元;這里通過(guò)腳本去設(shè)計(jì)ZYNQ器件的基本單元,點(diǎn)擊presets,出現(xiàn)下列列表,選擇apply configuration選項(xiàng),如圖所示。
16,然后出現(xiàn)選擇腳本路徑的對(duì)話框如圖所示,選擇之前保存的好的最小系統(tǒng)腳本,點(diǎn)擊ok按鈕,配置好ZYNQ的IP。
17,待配置好IP后會(huì)出現(xiàn)如圖的對(duì)話框,表示配置好了相關(guān)的屬性和外設(shè),配置了的外設(shè)后面會(huì)打上勾,點(diǎn)擊ok。
18,配置好IP外設(shè)后出現(xiàn)如圖的對(duì)話框,點(diǎn)擊紅框中的source選項(xiàng)卡,然后鼠標(biāo)右鍵點(diǎn)擊在design sources下的design_1(design_1為剛剛設(shè)計(jì)的IP),在彈出的下拉列表中選擇generate output products,生成輸出的產(chǎn)品。
19,點(diǎn)擊generate output products后出現(xiàn)對(duì)話框如圖所示,表示將要生成輸出產(chǎn)品,選擇global,并點(diǎn)擊下面的生成。生成成功后點(diǎn)擊OK,
20,再點(diǎn)擊紅框中的source選項(xiàng)卡,然后鼠標(biāo)右鍵點(diǎn)擊在design sources下的design_1,在彈出的下拉列表中選擇create HDL wrapper,如圖所示,表示生成頂層文件。
21,生成頂層文件成功后出現(xiàn)如圖所示對(duì)話框,點(diǎn)擊OK。
22,生成了頂層文件后,進(jìn)行綜合實(shí)現(xiàn)布線并生成.bit文件,如圖所示,點(diǎn)擊紅框圖標(biāo),然后出現(xiàn)對(duì)話框是否確認(rèn)生成bit文件,點(diǎn)擊yes,確定生成文件。
23,點(diǎn)擊yes后出現(xiàn)對(duì)話框如圖所示,點(diǎn)擊ok開始生成bit文件。
24,然后等待綜合實(shí)現(xiàn)布線的完成,等待界面右上角的圈圈轉(zhuǎn)完,表示.bit文件生成完成,如圖所示。
25,生成成功以后會(huì)出現(xiàn)如圖所示的對(duì)話框,右上角會(huì)有勾出現(xiàn),并且提示是否看生成后的設(shè)備布線等具體信息,這里不看點(diǎn)擊cancel。
26,生成.bit文件以后,點(diǎn)擊file菜單,在下拉列表中選擇export,并且在子菜單中選擇export hardware,生成硬件平臺(tái),供后續(xù)軟件sdk使用,如圖所示。
27,后續(xù)出現(xiàn)對(duì)話框如圖所示,勾選上包含.bit文件,點(diǎn)擊OK,表示生成硬件平臺(tái)。
28,有了硬件平臺(tái)后,點(diǎn)擊file菜單,在下拉列表中選擇launch SDK,打開ps端開發(fā)的SDK,如圖所示。
29,然后出現(xiàn)對(duì)話框如圖所示,確認(rèn)SDK的工作空間等信息,點(diǎn)擊OK,至此開始進(jìn)入到PS端開發(fā)SDK。
30,等待SDK打開完成,打開后出現(xiàn)界面如圖所示,此時(shí)擁有了硬件平臺(tái)design_1_wrapper_hw_platform_0。在system.hdf文件中會(huì)顯示相應(yīng)硬件平臺(tái)外設(shè)的基地址和地址范圍。
31,擁有硬件平臺(tái)后,此時(shí)還需要建立軟件工程,軟件工程一般需要建立兩個(gè),一個(gè)是FBSL工程,一個(gè)是應(yīng)用工程,F(xiàn)BSL工程是用來(lái)做固化啟動(dòng)芯片的工程,而應(yīng)用工程則是需要實(shí)現(xiàn)的應(yīng)用程序,這里先新建FBSL工程,點(diǎn)擊file菜單,在下拉列表中選擇new,在子菜單中選擇application project,如圖所示。
32,然后出現(xiàn)對(duì)話框如圖所示,輸入工程名字,選擇工程路徑,一般使用默認(rèn)路徑,選擇系統(tǒng)平臺(tái)standalone,選擇上述的硬件平臺(tái)design_1_wrapper_hw_platform_0,選擇操作核心0核(ps_cortexa9_0),確定開發(fā)語(yǔ)言為C語(yǔ)言,創(chuàng)建新的板級(jí)開發(fā)包,然后點(diǎn)擊下一步。
33,后續(xù)出現(xiàn)對(duì)話框如圖所示,選擇創(chuàng)建工程的模板類型,這里要?jiǎng)?chuàng)建FBSL工程,所以選擇zynq fbsl類型模板,點(diǎn)擊finish,完成工程的新建。
34,有了啟動(dòng)工程以后,還要有應(yīng)用程序工程,所以在新建一個(gè)應(yīng)用程序,這里再新建一個(gè)應(yīng)用工程,點(diǎn)擊file菜單,在下拉列表中選擇new,在子菜單中選擇application project,如圖所示。
35,然后出現(xiàn)新建工程信息對(duì)話框,如圖所示,輸入工程名字,選擇工程路徑,一般使用默認(rèn)路徑,選擇系統(tǒng)平臺(tái)standalone,選擇上述的硬件平臺(tái)design_1_wrapper_hw_platform_0,選擇操作核心0核(ps_cortexa9_0),確定開發(fā)語(yǔ)言為C語(yǔ)言,由于有了板級(jí)開發(fā)包了,所以這里使用之前創(chuàng)建的板級(jí)開發(fā)包,然后點(diǎn)擊下一步。
36,后續(xù)出現(xiàn)對(duì)話框如圖所示,選擇創(chuàng)建工程的模板類型,這里要?jiǎng)?chuàng)建一個(gè)helloworld模板應(yīng)用程序,所以選擇helloworld類型模板,點(diǎn)擊finish,完成工程的新建。
使用調(diào)試
1,建立完工程以后需要進(jìn)行在線調(diào)試程序,整個(gè)SDK中的界面分布如圖所示。
2,配置debug的一些相關(guān)設(shè)置,點(diǎn)擊菜單欄上的run,會(huì)出現(xiàn)下拉列表,如圖所示,在列表中會(huì)出現(xiàn)好多和debug相關(guān)的調(diào)試配置,有斷點(diǎn)的配置,有運(yùn)行的配置,這里先選擇run as下的launch on hardware,選擇在創(chuàng)建的硬件平臺(tái)上運(yùn)行程序。
選擇debug configurations,配置一些debug相關(guān)的信息,如圖所示。主要是選擇上復(fù)位整個(gè)系統(tǒng)和下載FPGA程序的操作,在這兩個(gè)選項(xiàng)上打上勾,然后點(diǎn)擊應(yīng)用,主要是在進(jìn)入調(diào)試模式時(shí)復(fù)位系統(tǒng),并且下載好fpga程序。
3,點(diǎn)擊小爬蟲以后進(jìn)入debug的界面,如圖所示。其分布主要為:工具欄,核心選擇欄,程序源碼欄,變量監(jiān)測(cè)欄,內(nèi)存監(jiān)測(cè)欄等,在圖中紅色框框中描述的功能是調(diào)試過(guò)程中經(jīng)常用到的功能。
加載固化
1,固化程序需要首先創(chuàng)建一個(gè)固化程序文件,然后將這個(gè).bin文件下載到flash中;作為ZYNQ的固化程序,需要三個(gè)部分的程序,一部分為FBSL程序,該程序作為應(yīng)用程序的bootloader;一部分為FPGA端的.bit文件,工程中的系統(tǒng)文件;還有一部分就是應(yīng)用程序的文件了。使用SDK生成固化文件,選擇菜單 Xilinx ->Create Boot Image,如圖所示。
2,彈出對(duì)話框如圖所示,輸入生成固化程序的路徑,點(diǎn)擊output bif file path路徑中的browse瀏覽生成路徑,下面output path會(huì)和上述選擇路徑一樣,然后在下方的框框中點(diǎn)擊add,通過(guò)三次添加把fsbl程序文件,fpga端的.bit文件以及應(yīng)用程序的.elf文件三個(gè)文件加入到boot image partion中,最后點(diǎn)擊create image創(chuàng)建出固化程序。
3,有了固化程序,還需要將程序下載到qflash中,需要用到SDK中的下載程序,在菜單欄中選擇Xilinx下拉列表中的Program Flash,然后彈出下載對(duì)話框,如圖所示。
4,對(duì)話框如圖所示,需要選擇固化程序文件的路徑(Image File),還需要選擇能夠下載程序的FBSL.elf文件。
5,但是,使用的vivado版本為2017.4,在生成的FBSL.elf文件不能正常加載程序到qflash,在fbsl工程源碼中可以看到啟動(dòng)方式為QFLASH,會(huì)對(duì)flash進(jìn)行分區(qū),無(wú)法正常下載,我們需要修改其啟動(dòng)方式為JTAG模式,然后編譯,這樣子生成的FBSL.elf文件才能做加載使用。修改源碼如圖所示。
6,同時(shí)還需要添加環(huán)境變量到系統(tǒng)變量中,改變QSPI的時(shí)鐘為10MHz,如圖所示。右鍵點(diǎn)擊我的電腦,點(diǎn)擊屬性,彈出對(duì)話框,選擇高級(jí)系統(tǒng)設(shè)置;彈出對(duì)話框,點(diǎn)擊環(huán)境變量;彈出對(duì)話框,在系統(tǒng)變量那一欄點(diǎn)擊新建;彈出對(duì)話框,在變量名中輸入XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ,變量值中輸入10000000,然后點(diǎn)擊確定。
7,修改上面內(nèi)容后進(jìn)行加載,有了固化程序,還需要將程序下載到qflash中,需要用到SDK中的下載程序,在菜單欄中選擇Xilinx下拉列表中的Program Flash,選擇固化程序文件的路徑(Image File)以及能夠下載程序的FBSL.elf文件(修改后重新編譯的fbsl.elf文件)。
注意:下載的fbsl.elf文件與生成固化程序的fbsl.elf文件是兩個(gè)不同的文件,為了以后不需要做修改,可以將上述修改后的fbsl.elf文件單獨(dú)放在一個(gè)路徑中,在下載flash程序的時(shí)候選擇這個(gè)路徑下的fbsl.elf文件就可以了。
編輯:hfy
-
Zynq
+關(guān)注
關(guān)注
10文章
615瀏覽量
48245
發(fā)布評(píng)論請(qǐng)先 登錄
誰(shuí)能詳細(xì)提供一個(gè)DSP6000系列,建立一個(gè)工程的步驟,多謝
玩轉(zhuǎn)Zynq連載27——導(dǎo)出PS硬件配置和新建SDK工程
玩轉(zhuǎn)Zynq連載28——[ex50] 第一個(gè)Zynq系統(tǒng)工程“Hello Zynq”
如何創(chuàng)建一個(gè)Keil工程的步驟
Zybo Zynq開發(fā)板可以創(chuàng)建多個(gè)設(shè)備配置嗎?
淺析在Windows系統(tǒng)中將RT-Thread移植到Zynq的步驟
如何創(chuàng)建一個(gè)DSP/BIOS程序
創(chuàng)建ZYNQ處理器設(shè)計(jì)和Logic Analyzer的使用

如何使用Xilinx SDK創(chuàng)建Zynq引導(dǎo)映像
ZYNQ的啟動(dòng)原理和配置

如何創(chuàng)建AXI CDMA Linux用戶空間示例應(yīng)用

TMS320F28377新工程的創(chuàng)建與基礎(chǔ)工程配置教程說(shuō)明

評(píng)論