chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ZYNQ的開(kāi)發(fā)流程

工程師鄧生 ? 來(lái)源:CSDN ? 作者:姚家灣 ? 2022-09-15 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

買了一塊ZYNQ 開(kāi)發(fā)板Z7-NANO,開(kāi)始了ZYNQ開(kāi)發(fā)的苦難之旅。盡管按照廠商提供的開(kāi)箱檢查指南,將image 拷貝到sd卡上插入板上后板子工作起來(lái)了。但是如何開(kāi)發(fā)應(yīng)用軟件呢?這一步要比平常的SOC麻煩了許多。

安裝軟件

網(wǎng)絡(luò)上有許多的文章介紹應(yīng)用軟件的開(kāi)發(fā),但是大多數(shù)使用的是舊版本的vivado和SDK 軟件。開(kāi)發(fā)板提供的文檔和軟件也大多是基于舊版軟件的,但是官網(wǎng)上已經(jīng)使用的軟件是vivado和vitis了,前者開(kāi)發(fā)硬件,后者開(kāi)發(fā)軟件。

下載軟件使用 Xilinx Unified Installer 2021.2。通過(guò)它下載vivado和vitis。安裝軟件需要足夠的磁盤空間和耐心。vitis 軟件包大約有60個(gè)G左右。vitis 中包括了vivado 軟件。只需要下載vitis就可以了,不必單獨(dú)地下載vivado。

vivado用來(lái)開(kāi)發(fā)硬件,vitis 開(kāi)發(fā)軟件,相當(dāng)于原來(lái)的SDK。

由于手頭沒(méi)有大硬盤空間的ubuntu Linux 電腦,又不想去做VM。先安裝在windows10 的筆記本上了。網(wǎng)絡(luò)上建議安裝在ubuntu 上。

ZYNQ 的開(kāi)發(fā)流程

ZYNQ 的開(kāi)發(fā)要比其它的SOC開(kāi)發(fā)復(fù)雜的多。大至的流程包括:

34995cce-348e-11ed-ba43-dac502259ad0.pngimg

ZYNQ的開(kāi)發(fā)包括

1 硬件邏輯設(shè)計(jì)

硬件工程師設(shè)計(jì)邏輯并將軟件開(kāi)發(fā)所需的信息從Vivado導(dǎo)出到 XSA 存檔文件。

2 構(gòu)建軟件平臺(tái)

平臺(tái)(platform)

平臺(tái)是硬件組件 (XSA) 和軟件組件(域/BSP、FSBL 等引導(dǎo)組件等)的組合。

領(lǐng)域(domain)

一個(gè)平臺(tái)上可以建立多個(gè)領(lǐng)域。領(lǐng)域是一個(gè)板級(jí)支持包 (BSP) 或操作系統(tǒng) (OS),其中包含用于構(gòu)建應(yīng)用程序的軟件驅(qū)動(dòng)程序集合。例如LinuxDomain??梢詣?chuàng)建多個(gè)應(yīng)用程序以在域上運(yùn)行。領(lǐng)域與平臺(tái)中的單個(gè)處理器或同構(gòu)處理器集群。比如在一個(gè)核上運(yùn)行Linux,或者在兩個(gè)核的集群上運(yùn)行Linux。

建立領(lǐng)域的基礎(chǔ)是支持包和操作系統(tǒng)。Zynq 的Linux 稱為PetaLinux。PetaLinux 的裁剪需要使用Petalinux 構(gòu)建工具。

Petalinux是Xilinx公司推出的嵌入式Linux開(kāi)發(fā)套件,包括了Linux Kernel、u-boot、device-tree、rootfs等源碼、庫(kù),以及Yocto recipes,可以讓客戶很方便的生成、配置、編譯及自定義。Petalinux支持Zynq UltraScale+ MPSoC、Zynq-7000全可編程SoC,以及MicroBlaze,可與Xilinx硬件設(shè)計(jì)工具Vivado協(xié)同工作,大大簡(jiǎn)化了Linux系統(tǒng)的開(kāi)發(fā)工作。

在vitis 軟件中,包含Xilinx開(kāi)發(fā)的多個(gè)開(kāi)發(fā)板的硬件xsa。并且能夠建立相應(yīng)的LinuxDomain。

3 應(yīng)用程序開(kāi)發(fā)

軟件開(kāi)發(fā)人員基于平臺(tái)和領(lǐng)域創(chuàng)建應(yīng)用程序。

在已有的平臺(tái)上開(kāi)發(fā)應(yīng)用程序

網(wǎng)絡(luò)上有許多ZYNQ 應(yīng)用程序開(kāi)發(fā)的文檔和教程,但是它們大多數(shù)使用的2018 年前的vivado 和SDK 的。幾乎沒(méi)有使用vitis 開(kāi)發(fā)。而國(guó)內(nèi)的ZYNQ開(kāi)發(fā)板目前還沒(méi)有提供支持vitis 平臺(tái)的軟件包。

網(wǎng)絡(luò)上關(guān)于ZYNQ 開(kāi)發(fā)的介紹文章都比較復(fù)雜,大多數(shù)從vivado 硬件設(shè)計(jì)開(kāi)始,再談petaLinux,再談到vitis 的使用。

其實(shí)沒(méi)有那么復(fù)雜。 最方便地方法就是在vitis 軟件中支持xilinx 開(kāi)發(fā)板的platefrom 構(gòu)建應(yīng)用程序,這些開(kāi)發(fā)板包括:

zc702 基于Zynq XC7Z020-1CLG484C。

zc706 基于XC7Z045,PCI插卡結(jié)構(gòu)

zcu102 Zynq? UltraScale+? MPSoC ,四核 ARM? Cortex?-A53、雙核 Cortex-R5F 實(shí)時(shí)處理器以及一款 Mali?-400 MP2 圖像處理單元。

zcu106 基于Zynq UltraScale+MPSoC。

zedBoard 基于Zynq-7000 SoC XC7Z020-CLG484-1。由安富利公司開(kāi)發(fā)的低成本開(kāi)發(fā)板。

開(kāi)發(fā)的過(guò)程

vitis –New->Create Application Project

34ce4f7e-348e-11ed-ba43-dac502259ad0.png

點(diǎn)擊Next。

352676a4-348e-11ed-ba43-dac502259ad0.png

選擇zc702 平臺(tái),點(diǎn)擊Next。

填入Application Project Nam。例如LinuxApp4

356d707c-348e-11ed-ba43-dac502259ad0.png

Z7020 系列ZYNQ 是雙核cortex-A9 .

領(lǐng)域可以建立在單核上也可以建立在雙核上,也可以是一個(gè)為linux,一個(gè)為freeRTOS 上。非常靈活,在這里我們選擇ps7_cortexa9_SMP。雙核linux。

按Next

35978204-348e-11ed-ba43-dac502259ad0.pngimg

在這一步我以為要填入紅框內(nèi)的內(nèi)容,下載了 common image,并且生成了Sysroot

xilinx-zynqmp-common-v2021.2

導(dǎo)入到項(xiàng)目中,結(jié)果發(fā)現(xiàn)編譯通不過(guò),缺少-lstdC++,等等問(wèn)題。后來(lái)發(fā)現(xiàn),z702 平臺(tái)包中已經(jīng)包含了Sysroot 的SDK內(nèi)容。不需要填入任何東西就可以編譯成功。

按Next

35d1fb6e-348e-11ed-ba43-dac502259ad0.png

選擇Linux Hello World!

生成了一個(gè)簡(jiǎn)單的hello world c程序

#include



intmain(){



printf("Helloworld
");



}

選擇 Project-> Build Project .經(jīng)過(guò)很長(zhǎng)的一段時(shí)間。終于編譯成功了。但是沒(méi)法形成SD image。

copy 到我的Z7_Nano 開(kāi)發(fā)板的SD Card 上。插入到目標(biāo)板,運(yùn)行Linux。輸入

$>mkdirsdcard



$>mount/dev/mmcblk0sdcard



$>cdsdcard



$>./main.elf



Helloworld!



$>

為了測(cè)試其它庫(kù)的調(diào)用,編寫了一個(gè)UDP Client 程序,同樣編譯成功了

//ClientsideimplementationofUDPclient-servermodel



#include



#include



#include



#include



#include



#include



#include



#include







#definePORT8080



#defineMAXLINE1024







//Drivercode



intmain(){



intsockfd;



charbuffer[MAXLINE];



char*hello="Hellofromclient";



structsockaddr_inservaddr;







//Creatingsocketfiledescriptor



if((sockfd=socket(AF_INET,SOCK_DGRAM,0))

為了測(cè)試C++ 程序,編寫了

#include



usingnamespacestd;



classhello{



public:



voidSayHello();



};



voidhello::SayHello()



{



cout<<"Hello?world"<

也通過(guò)了編譯。

結(jié)束語(yǔ)

ZYNQ 要比普通的SOC 芯片復(fù)雜很多,國(guó)產(chǎn)開(kāi)發(fā)板的技術(shù)支持相對(duì)滯后。給初學(xué)者帶來(lái)不小的困難。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4512

    瀏覽量

    227500
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    625

    瀏覽量

    49209
  • Ubuntu系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    4521

原文標(biāo)題:zynq /vitis 應(yīng)用筆記

文章出處:【微信號(hào):ZYNQ,微信公眾號(hào):ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    明晚8點(diǎn)|睿擎文件系統(tǒng)實(shí)戰(zhàn):從開(kāi)發(fā)到發(fā)布全流程解析

    從文件操作到鏡像發(fā)布,一次直播掌握完整開(kāi)發(fā)流程!在嵌入式系統(tǒng)開(kāi)發(fā)中,文件系統(tǒng)是數(shù)據(jù)存儲(chǔ)、配置管理和資源訪問(wèn)的核心基礎(chǔ)。然而在實(shí)際開(kāi)發(fā)中,文件操作效率低下、鏡像打包
    的頭像 發(fā)表于 11-11 11:53 ?353次閱讀
    明晚8點(diǎn)|睿擎文件系統(tǒng)實(shí)戰(zhàn):從<b class='flag-5'>開(kāi)發(fā)</b>到發(fā)布全<b class='flag-5'>流程</b>解析

    ZYNQ PS與PL數(shù)據(jù)交互方式

    ZYNQ SoC 的 PS (Processing System) 和 PL (Programmable Logic) 之間的數(shù)據(jù)交互是系統(tǒng)設(shè)計(jì)的核心。
    的頭像 發(fā)表于 10-15 10:33 ?503次閱讀
    <b class='flag-5'>ZYNQ</b> PS與PL數(shù)據(jù)交互方式

    RTthread怎么加載zynq的支持包?

    RTthread有xilinx zynq的芯片支持包了么,SDK管理器里面怎么下載ZYNQ的支持包呢?求助
    發(fā)表于 09-23 06:05

    單片機(jī)開(kāi)發(fā)流程包括什么?

    單片機(jī)開(kāi)發(fā)是一個(gè)系統(tǒng)性的工程,從需求明確到最終產(chǎn)品落地,需要經(jīng)歷多個(gè)相互關(guān)聯(lián)的流程環(huán)節(jié),每個(gè)環(huán)節(jié)都對(duì)最終產(chǎn)品的性能和質(zhì)量有著重要影響。 一、需求分析與文檔梳理 開(kāi)發(fā)流程的第一步是需求分
    的頭像 發(fā)表于 07-22 11:21 ?610次閱讀

    正點(diǎn)原子Z15I ZYNQ 開(kāi)發(fā)板資料發(fā)布!板載PCIe2.0、SPFx2、MIPI CSI等接口,資料豐富!

    正點(diǎn)原子Z15I ZYNQ 開(kāi)發(fā)板資料發(fā)布!板載PCIe2.0、SPFx2、MIPI CSI等接口,資料豐富! 正點(diǎn)原子Z15I ZYNQ開(kāi)發(fā)板,核心板全工業(yè)級(jí)設(shè)計(jì),主控芯片
    發(fā)表于 05-30 16:59

    正點(diǎn)原子Z20 ZYNQ 開(kāi)發(fā)板發(fā)布!板載FMC LPC、LVDS LCD和WIFI&amp;藍(lán)牙等接口,資料豐富!

    正點(diǎn)原子Z20 ZYNQ 開(kāi)發(fā)板發(fā)布!板載FMC LPC、LVDS LCD和WIFI&amp;藍(lán)牙等接口,資料豐富! 正點(diǎn)原子新品Z20 ZYNQ開(kāi)發(fā)板來(lái)啦!核心板全工業(yè)級(jí)設(shè)計(jì)
    發(fā)表于 05-30 16:55

    技術(shù)分享 | 如何在2k0300(LoongArch架構(gòu))處理器上跑通qt開(kāi)發(fā)流程

    技術(shù)分享 | 如何在2k0300開(kāi)發(fā)板(LoongArch架構(gòu))處理器上跑通qt開(kāi)發(fā)流程
    的頭像 發(fā)表于 05-20 11:05 ?644次閱讀
    技術(shù)分享 | 如何在2k0300(LoongArch架構(gòu))處理器上跑通qt<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>流程</b>

    基于RV1126開(kāi)發(fā)板的AI算法開(kāi)發(fā)流程

    AI算法開(kāi)發(fā)流程由需求分析到準(zhǔn)備數(shù)據(jù),然后到選取模型,訓(xùn)練模型,接著模型轉(zhuǎn)換后進(jìn)行模型部署
    的頭像 發(fā)表于 04-18 14:03 ?2020次閱讀
    基于RV1126<b class='flag-5'>開(kāi)發(fā)</b>板的AI算法<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>流程</b>

    基于RV1126開(kāi)發(fā)板的AI算法開(kāi)發(fā)流程

    AI算法開(kāi)發(fā)流程由需求分析到準(zhǔn)備數(shù)據(jù),然后到選取模型,訓(xùn)練模型,接著模型轉(zhuǎn)換后進(jìn)行模型部署
    的頭像 發(fā)表于 04-18 10:47 ?821次閱讀
    基于RV1126<b class='flag-5'>開(kāi)發(fā)</b>板的AI算法<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>流程</b>

    ZYNQ FPGA的PS端IIC設(shè)備接口使用

    zynq系列中的FPGA,都會(huì)自帶兩個(gè)iic設(shè)備,我們直接調(diào)用其接口函數(shù)即可運(yùn)用。使用xilinx官方提供的庫(kù)函數(shù),開(kāi)發(fā)起來(lái)方便快捷。
    的頭像 發(fā)表于 04-17 11:26 ?1729次閱讀
    <b class='flag-5'>ZYNQ</b> FPGA的PS端IIC設(shè)備接口使用

    從零開(kāi)始馴服Linux(一):ZYNQ-Linux啟動(dòng)文件構(gòu)建全解析

    hello.c就可以了。 創(chuàng)建Petalinux工程創(chuàng)建Petalinux工程的步驟在《領(lǐng)航者ZYNQ之嵌入式Linux開(kāi)發(fā)指南》第六章Petalinux設(shè)計(jì)流程實(shí)戰(zhàn)中已講解,本章就不細(xì)述,也可直接
    發(fā)表于 03-20 16:48

    zynq通過(guò)什么接口去控制DLP?

    我是用ZYNQ控制DLP,DLP的投影,給sensor采集。我的問(wèn)題是zynq通過(guò)什么接口去控制DLP。DLP和sensor沒(méi)有物理連接,sensor會(huì)直接拍DLP的投影
    發(fā)表于 02-21 06:56

    Zynq UltraScale+ MPSoC數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 12-30 14:37 ?3次下載

    基于Xilinx ZYNQ7000 FPGA嵌入式開(kāi)發(fā)實(shí)戰(zhàn)指南

    電子發(fā)燒友網(wǎng)站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開(kāi)發(fā)實(shí)戰(zhàn)指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-10 15:31 ?39次下載

    ZYNQ 7035/7045開(kāi)發(fā)板原理圖

    ZYNQ 7035/7045開(kāi)發(fā)板原理圖
    發(fā)表于 12-05 13:46 ?19次下載