在ZYNQ進(jìn)階之路1-4中我們大致了解了ZYNQ PL端的開(kāi)發(fā)流程以及使用verilog硬件描述語(yǔ)言寫了幾個(gè)硬件模塊,希望大家在之前的章節(jié)中能有所收獲,如果其中有技術(shù)上的問(wèn)題屬于博主技術(shù)知識(shí)有限希望讀者多多諒解!也希望能通過(guò)博主郵箱(wanpengwork@163.com)告知博主,達(dá)到相互學(xué)習(xí)共同進(jìn)步的目標(biāo)。在接下來(lái)的幾章節(jié)中博主主要針對(duì)PS端的基礎(chǔ)開(kāi)發(fā)流程以及外設(shè)模塊設(shè)計(jì)潮瓶,本章節(jié)講解PS端hello xilinx zynq的設(shè)計(jì),主要是熟悉基礎(chǔ)開(kāi)發(fā)流程钙姊。
首先我們打開(kāi)vivado2018.1創(chuàng)建新的工程:
?
接下來(lái)按照第一章節(jié)中的工程創(chuàng)造流程操作接OK了毯辅,工程創(chuàng)造完成后如下所示:
?
接下來(lái)點(diǎn)擊Create Block Design,設(shè)置Design name為ps_hello_xilinx_zynq:
?
點(diǎn)擊圖標(biāo)添加ZYNQ PS的IP,xilinx將PS端的A9處理器以IP核的形式呈現(xiàn)的:
?
?
?
然后雙擊這個(gè)IP核進(jìn)入設(shè)置界面:
?
點(diǎn)擊上圖左側(cè)邊欄 PS-PL Configuration 項(xiàng)煞额,因?yàn)楸驹O(shè)計(jì)只需要包含PS部分思恐,不包含 PL 部分,也不和任何 PL 部分進(jìn)行交互膊毁,所以勾掉默認(rèn)的 FCLK_RESET0_N壁袄, M AXI GP0 interface,如下:
?
點(diǎn)擊左側(cè)邊欄 Peripheral I/O Pins媚媒, 因?yàn)楸驹O(shè)計(jì)要用到 UART 接口嗜逻,核心板串口接口接在MIO48, 49 上缭召,單擊下圖對(duì)應(yīng)位置的 UART1栈顷, 變?yōu)榫G色即為設(shè)置成功:
?
點(diǎn)擊左側(cè)邊欄 Clock Configuration, 因?yàn)闆](méi)有 PL 部分嵌巷,勾掉默認(rèn)的 FCLK_CLK0 項(xiàng):
?
點(diǎn)擊左側(cè)邊欄的 DDR Configuration 項(xiàng)萄凤, Memory 選擇與硬件一致的 MT41J128M16 HA-125:
?
點(diǎn)擊OK,到這里我們PS端就配置完成了搪哪。
回到 Diagram 窗口靡努, 單擊 Run Block Automation, 系統(tǒng)自動(dòng)生成外圍管腳:
?
?
如下晓折, 自動(dòng)生成了外圍 DDR 和 FIXED_IO 端口惑朦, 點(diǎn)擊下圖左側(cè)邊欄 Validation Design 驗(yàn)證設(shè)計(jì):
?
彈出成功窗口,點(diǎn)擊OK:
?
回到 Source 窗口漓概, 右鍵單擊 ps_hello_xilinx_zynq漾月, 選擇 Generate Output Products, 生成此設(shè)計(jì)相關(guān)文件胃珍,如下
?
?
生成完成彈窗點(diǎn)擊 OK梁肿。
再在 Source 窗口蜓陌, 右鍵單擊 ps_hello_xilinx_zynq, 選擇 Create HDL Wrapper吩蔑,生成此設(shè)計(jì)的頂層文
件钮热, 如下:
?
彈出窗口選擇讓vivado自動(dòng)更新,然后點(diǎn)擊OK:
?
生成完成后烛芬,此設(shè)計(jì)的層次結(jié)構(gòu)如下:
?
導(dǎo)出SDK霉旗,菜單欄選擇 File > Export > Export Hardware, 如下:
?
彈出窗口不選擇include bitstream蛀骇,因?yàn)槲覀儧](méi)有PL部分,所以沒(méi)有bitstream文件:
?
然后點(diǎn)擊launch SDK:
?
彈窗點(diǎn)擊OK读拆,即可打開(kāi)SDK界面擅憔,系統(tǒng)已經(jīng)給我們分配好了地址空間和一些基礎(chǔ)文件:
?
建立 SDK 工程
菜單欄點(diǎn)擊 File > New > Application Project,彈出 如下窗口檐晕,填寫好工程名點(diǎn)擊next:
?
點(diǎn)擊hello_world,然后點(diǎn)擊finish:
?
如下暑诸, 在生成的工程文件 src 窗口, 右鍵單擊 helloworld.c選擇Rename辟灰,文件名改為 ps_hello_xilinx_zynq.c个榕, 雙擊打
開(kāi)編輯窗口:
?
將主函數(shù)修改成我們的內(nèi)容:
?
右擊工程名,點(diǎn)擊build Project重新編譯工程:
?
將開(kāi)發(fā)板上電芥喇, 連接電腦 USB 到開(kāi)發(fā)板 JTAG 口西采,連接電腦另一 USB 到開(kāi)發(fā)板 UART 口,開(kāi)發(fā)板撥碼開(kāi)關(guān) 1继控, 2 都
設(shè)置為 ON械馆,給開(kāi)發(fā)板上電,菜單欄選擇 Window > Show View > Other武通,如下圖霹崎,
?
如下彈窗選擇 Terminal, 點(diǎn)擊 OK
?
點(diǎn)擊如下連接按鈕:
?
在如下打開(kāi)的 Terminal Settings 窗口冶忱, 連接類型選擇 Serial尾菇, Port 口選為 COM3(讀者可以右鍵
單擊桌面我的電腦 > 管理 > 設(shè)備管理 > 端口(COM & LPT)確認(rèn)自己的串口 COM 號(hào)) , 波特率
選擇 115200 (這是 Zynq 系統(tǒng)的默認(rèn)串口速率) 囚枪, 點(diǎn)擊 OK
?
然后連接上下載線派诬,如下操作將程序下載到開(kāi)發(fā)板中:
?
然后接可以在串口上看到發(fā)送的數(shù)據(jù)啦。