本系列文章我們介紹下Xilinx公司的ZYNQ SOC軟件開發,軟件設計採用的硬件平台為Xilinx XC7Z035-2FFG676。通過該系列文章我們學習ZYNQ SOC軟件開發的基本流程、MIO使用、EMIO使用以及中斷資源的使用等相關入門類知識,同時掌握Xilinx Vivado軟件調試相關的方法等。作為本系列開篇文章,本文學習以下內容:
- ZYNQ-7000 SOC軟件開發流程
- 實現ZYNQ SOC Hello word實驗例程(熟悉開發流程)
1.ZYNQ-7000 SOC軟件開發流程
ZYNQ-7000 SOC是Xilinx公司推出的FPGA+ARM架構的單芯片片上系統(SOC),它在性價比、性能、成本及可升級性等眾多方面相對於單純的FPGA邏輯或者ARM處理器具有很大優勢。目前,市面上ZYNQ SOC的應用也是非常的廣泛,如自動駕駛、視聽娛樂、機器視覺、蜂窩網通信等等。
ZYNQ SOC的開發流程與以往的純FPGA邏輯開發有所不同,這一點我們在後續文章專門進行相關的介紹。圖1給出了進行ZYNQ SOC開發的流程框圖。

圖1、ZYNQ SOC開發的流程框圖
從圖1中我們可以看到:
1.項目任務需求實現功能劃分
我們在進行ZYNQ SOC項目開發時,一般先對項目需求展開分析,將設計任務合理劃分為硬件設計(Vivado:FPGA邏輯設計)和軟件設計(SDK:ARM嵌入式軟件設計)。一般來說FPGA邏輯執行速度快,延遲小,實現固定算法、高速接口處理等,軟件則實現執行速度慢,複雜控制部分功能。
2.硬件平台設計
利用Vivado開發環境搭建SDK硬件配置環境是ZYNQ SOC設計的第一步。我們在IP Integrator集成環境內實現PS配置,如DDR3、時鐘、MIO、PL和PS時鐘、中斷等;完成各個IP模塊信號連接;驗證各個IP連接正確性;生成整個硬件平台的頂層HDL文件。
然後,對工程添加管腳約束(不使用FPGA外設管腳,可不添加),經過綜合、實現,生成硬件bit流文件。最後將硬件配置信息導入到SDK完成硬件平台搭建。
3.SDK軟件設計
硬件配置信息導入到SDK後,我們就可以創建板級支持包(.bsp),建立應用工程,進行軟件開發與調試,最終生成.elf文件。
4.配置文件下載
生成.elf文件後,我們可以將比特流文件和該文件一起產生可執行文件,並下載到配置存儲器中,完成配置文件存儲。待電路板上時,按照對應的啟動模式加載配置文件,實現硬件和軟件啟動。
2.Hello word實驗例程
2.1實驗系統框圖
本實驗通過使用SDK自帶的測試例程實現Hello Word語句輸出,系統框圖如2所示。

圖2、實驗系統框圖
2.2硬件平台設計
我們利用Xilinx Vivado集成開發環境搭建硬件平台。
1.建立Vivado工程

step2.輸入工程名稱及工程路徑,點擊NEXT。

Step3:建立空工程,點擊NEXT。

Step4:選擇芯片型號。

Step5:點擊Finish,完成工程建立。

Step6:點擊IP INTEGRATOR,然後點擊Create Block Design,創建系統框圖。

Step7:點擊圖中“+”,添加IP

Step8:在Serach里搜索ZYNQ,然後雙擊過濾顯示的ZYNQ7 Processing System。

Step9:點擊Run Block Automation,自動添加ARM外設I/O

Step10:點擊OK

Step11:將鼠標放置在FCLK_CLK0,彈出鉛筆符號時,按住左鍵拖到M_AXI_GP0_ACLK管腳,完成PS時鐘到PL時鐘連接(不用FPGA邏輯資源,可以不用連接)。

Step12:雙擊processing_system7_0,進行配置PS,首先配置PS和PL時鐘。

Step13:PS DDR3 內存配置,電路板上使用的內存型號:MT41K256M16 RE 125。

Step14:配置PS MIO接口電壓和MIO管腳配置。配置完成後,點擊OK,完成PS配置

Step15:連接IP配置及連接後,驗證模塊連接的正確性;另外可以刷新模塊布局。

Step16:選擇system.bd,右擊選擇Generate Output Products

Step17:點擊Generate

Step19:選擇system.bd,右擊選擇Create HDL Wrapper,產生工程頂層文件。

Step20:選擇選擇 Leave Let Vivado manager wrapper and auto update,單擊 OK

Step21:查看頂層文件。

Step22:產生硬件bit流文件。點擊Generate Bitstream,在彈出的對話框中選擇Yes

Step23:點擊OK,進行編譯。

Step24:完成比特流文件生成,點擊Cancel,至此完成硬件設計。

Step25:導入硬件SOC配置信息到SDK,File->export->–>Export Hardware

Step26:如果包括FPGA比特流文件,需要勾選Include bitstream

Step27:導入配置文件到SDK,File->–>Launch SDK,彈出的菜單,點擊OK,完成SDK導入。

2.3 軟件設計
Step1:硬件設計加載到SDK後,顯示界面如圖所示。

Step2:新建軟件應用工程,File->New->–>Application Project

Step3:新建應用工程,命名HelloWord,點擊NEXT

Step4:我們選擇SDK自帶的Hello Word測試例程,點擊Finish

Step5:生成應用工程

Step6:開始調試,右擊HelloWord,選擇Debug As->Debug Configurations

Step7:雙擊Xilinx C/C++ application(System Debugger),生成應用工程調試文件

Step8:配置調試信息

Step9:配置串口信息,選擇串口號,波特率。

Step10:點擊運行按鈕,

Step11:在SDK Terminal可以看到,打印出了Hello Word信息,表明實驗測試成功。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/281181.html