Zynq學習筆記(1)——Hellow World


  Zynq是一款SOC芯片,之前只是用了PL(Programmable Logic)部分,而Zynq最突出的功能,就是內部的雙核Cortex-A9,所以從現在開始我將學習ZYNQ的SOC學習(PS部分)。

  本文記錄的是熟悉Zynq的PS(Processor Subsystem)部分使用方法,了解開發板資源,做一個最小系統Hellow world,使用資源有ARM Cortex-A9、DDR3內存、一個UART串口。具體流程是將寫好的程序加載到DDR內存中,然后CPU一條一條執行,那么執行的情況可以通過串口打印觀察。

我使用的是迪芝倫官方出品的ZYBO開發板,首先在開發板上選擇QSPI Flash跳線帽

供電方式不用改,選擇USB供電

打開Vivado軟件,選擇Create Project

Next~

添加工程名,next~

選擇開發板型號,我手上的開發板型號如圖所示。

finish~

點擊create block design,塊的名稱為system,

點擊圖上的加號,查找zynq IP,選擇zynq7 processing system。

點擊run block automation

這個界面什么也不做,點擊OK。

然后就會生成如圖所示引腳。

雙擊進入system,點擊clock configuration,ZYBO提供了50Mhz的時鍾給PS部分,所以input frequency添加50Mhz,FCLK就是產生的時鍾,這里設置為100或者ZYBO PL部分的時鍾125Mhz都可以。

點擊MIO configuration——I/O peripheral勾選,如圖所示。

這個需要注意的是。右上腳的Bank1 I/O voltage設置為lvcmos 1.8v,因為zynq的bank1的電壓是1.8v,其余都是3.3v,這個我們從原理圖上可以看到。

這里選擇DDR型號,從官方手冊上得到zybo包含了兩片MT41J128M16JT-125或者,MT41K128M16JT-125  DDR3存儲器。原理圖上是前者,但經博主實際測試是后者。選擇完成后點擊OK。

右鍵點擊system.bd,點擊generate output products。

同樣右鍵system.bd,點擊create HDL wrapper。

選擇如圖所示選項,點擊OK。這里實際上是生成頂層源碼,其中調用了zynq ARM內核IP。

然后點擊generate bitstream

點擊file——export——export hardware。將SOC硬件導入到SDK。

點擊file——launch SDK。接下來就到了軟件開發上了。

左邊這部分是Vivado定制好的soc硬件,中間這是硬件地址分配空間。

點擊file——new——application location,將工程名設置為Hellow World,next。

SDK自帶了一些測試程序,我們選擇Hellow World

右鍵Hellow World——Debug AS——Debug Configuration

雙擊如圖所示

注意這里,要run的system debugger要和所創建的工程一直,如圖都是Hellow World,然后點擊run。這個時候開發板就要連接了。

在這一步,用SDK自帶的串口調試,SDK Terminal,點擊加號添加串口,設置COM口,選擇OK。

點擊Resume,在SDK Terminal窗口顯示Hellow World,測試成功。

 

轉載請注明出處:NingHeChuan(寧河川)

個人微信訂閱號:開源FPGA

如果你想及時收到個人撰寫的博文推送,可以掃描左邊二維碼(或者長按識別二維碼)關注個人微信訂閱號

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:http://www.cnblogs.com/ninghechuan/p/8587904.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM