日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Zedboard学习(四):PS+PL搭建SoC最小系统

發(fā)布時間:2025/3/21 windows 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zedboard学习(四):PS+PL搭建SoC最小系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

zynq最核心的設(shè)計理念就是軟件加硬件,即PS+PL。通過軟硬件協(xié)同設(shè)計,結(jié)合了FPGA與雙arm9內(nèi)核,對于嵌入式擁有極大的優(yōu)勢。

SoC:System on
Chip的縮寫,稱為芯片級系統(tǒng),也有稱片上系統(tǒng),意指它是一個產(chǎn)品,是一個有專用目標(biāo)的集成電路,其中包含完整系統(tǒng)并有嵌入軟件的全部內(nèi)容。

整個片上系統(tǒng)主要使用資源:ZYNQ系列FPGA XC7Z020、2片DDR、串口芯片(USB轉(zhuǎn)UART)。zedboard板子自帶了這些資源,不需要另外添加模塊。

PL部分(VIVADO):

新建工程,工程名為min_system,步驟省略,與前一篇博客建立工程步驟相同。(打開鏈接)

建好工程后,點擊Create Block Design。

名字取為soc_system。

剛建好的Block Design。

點擊,添加IP核。

在彈出的搜索框中輸入zynq,查找zynq7處理器。雙擊選中即可添加入Block Design。

添加完成后,點擊上方出現(xiàn)的Run Block Design,自動進行配置。加載vivado軟件自帶的官方配置。

直接點OK。

加載好的zynq處理器系統(tǒng)。

其相當(dāng)于一個CPU。現(xiàn)在在vivado中配置的是基礎(chǔ)的硬件配置,屬于PL;后面可以在SDK中對其進行軟件編程,屬于PS。

給處理器連上時鐘,才可以工作。用鼠標(biāo)左鍵長按拖動即可連線。

雙擊ZYNQ7 Processing System模塊,可以自定義硬件配置,添加或刪減CPU的硬件功能。這里不做修改。

保存當(dāng)前設(shè)計,之后可以看到多出了一個design,如下所示:

在soc_system上,即之前建立的Block Design,右鍵–>Generate Output Products。

點擊generate產(chǎn)生仿真模型。

官方的配置文件一般都不會出錯,如果是自己設(shè)計的,最好還是仿真一下,避免有bug。

回到前面新建好的Block Design,右鍵–>Create HDL Wrapper,創(chuàng)建頂層verilog HDL文件。

選上面的,創(chuàng)建的Verilog HDL文件用戶可以自己修改;選下面的,不可以修改。一般選上面的就行了。

隨后自動生成頂層的Verilog HDL文件。

產(chǎn)生比特流文件,作為FPGA的底層硬件配置。

等待vivado分析綜合完,不過編譯得挺慢的,喝杯茶休息一下吧。

產(chǎn)生了比特流文件之后就要導(dǎo)出了。
File–>Export–>Export Hardware

注意Include Bitstream也要選勾,要把生成的比特流文件導(dǎo)出到sdk,不然怎么下載都不會成功的,因為沒有底層硬件配置好CPU,軟件程序怎么可能跑的起來。

PS部分(SDK):

接下來,啟動SDK進行軟件部分的設(shè)計。
File–>Launch SDK
SDK界面。

新建工程。
File–>New–>New Appilcation Project

選項解釋:

OS Platform:操作系統(tǒng)平臺,有三種可選:standalone(裸機)、freertos823_xilinx、linux。選standalone。
Hardware Platform:選擇的就是之前導(dǎo)出的硬件平臺,當(dāng)然也可以選擇其他軟件自帶的配置好的硬件平臺。默認(rèn)已經(jīng)選擇好了我們自己建立的硬件平臺。
Processor:zynq自帶的兩個arm9處理器,選擇其中一個即可。默認(rèn)選擇好了,不改動。
Language:可以選擇c語言或者c++,選默認(rèn)的c語言。
Board Support Package:板級支持包,名字取為Hello_bsp。

Next,選擇Hello World工程模板。

點擊Finish后,創(chuàng)建工程。

修改Hello_World.c文件。

/****************************************************************************** * * Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * Use of the Software is limited solely to applications: * (a) running on a Xilinx device, or * (b) that interact with a Xilinx device through a bus or interconnect. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * XILINX BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * Except as contained in this notice, the name of the Xilinx shall not be used * in advertising or otherwise to promote the sale, use or other dealings in * this Software without prior written authorization from Xilinx. * ******************************************************************************//** helloworld.c: simple test application** This application configures UART 16550 to baud rate 9600.* PS7 UART (Zynq) is not initialized by this application, since* bootrom/bsp configures it to baud rate 115200** ------------------------------------------------* | UART TYPE BAUD RATE |* ------------------------------------------------* uartns550 9600* uartlite Configurable only in HW design* ps7_uart 115200 (configured by bootrom/bsp)*/#include <stdio.h> #include "platform.h" #include "xil_printf.h"int main() {init_platform();print("Hello Zedboard\n\r");cleanup_platform(); return 0; }

程序就是從串口打印字符串:”Hello Zedboard\n\r”。
默認(rèn)設(shè)置波特率為115200。

下載測試:

SDK自帶串口調(diào)試助手,點擊+號,新建一個連接:

填入對應(yīng)的端口號。

右鍵Hello工程,Run as–>Run Configuration
雙擊下面選中的項,新建一個下載配置。

如下都是默認(rèn)配置:
指定了硬件平臺、處理器、比特流文件、tcl文件。bit文件為之前vivado下生成的比特流文件。

工程名、可執(zhí)行文件。elf文件是SDK中工程編譯后生成的可執(zhí)行文件。

最后可以下載程序進板子了。
首先配置底層硬件。
xilinx tools–>program fpga
由于之前已經(jīng)導(dǎo)出了比特流文件,所以默認(rèn)已經(jīng)選好了比特流文件。
點擊Program。

然后下載軟件程序。
之前在Run Configuration已經(jīng)配置好,可以直接Run了。
點擊 的小箭頭,選擇之前配置好的下載配置。等一下子程序會下載進去。

運行結(jié)果:

總結(jié)

以上是生活随笔為你收集整理的Zedboard学习(四):PS+PL搭建SoC最小系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。