国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ZYNQ的開發流程

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

掃碼添加小助手

加入工程師交流群

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

安裝軟件

網絡上有許多的文章介紹應用軟件的開發,但是大多數使用的是舊版本的vivado和SDK 軟件。開發板提供的文檔和軟件也大多是基于舊版軟件的,但是官網上已經使用的軟件是vivado和vitis了,前者開發硬件,后者開發軟件。

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

vivado用來開發硬件,vitis 開發軟件,相當于原來的SDK。

由于手頭沒有大硬盤空間的ubuntu Linux 電腦,又不想去做VM。先安裝在windows10 的筆記本上了。網絡上建議安裝在ubuntu 上。

ZYNQ 的開發流程

ZYNQ 的開發要比其它的SOC開發復雜的多。大至的流程包括:

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

ZYNQ的開發包括

1 硬件邏輯設計

硬件工程師設計邏輯并將軟件開發所需的信息從Vivado導出到 XSA 存檔文件。

2 構建軟件平臺

平臺(platform)

平臺是硬件組件 (XSA) 和軟件組件(域/BSP、FSBL 等引導組件等)的組合。

領域(domain)

一個平臺上可以建立多個領域。領域是一個板級支持包 (BSP) 或操作系統 (OS),其中包含用于構建應用程序的軟件驅動程序集合。例如LinuxDomain。可以創建多個應用程序以在域上運行。領域與平臺中的單個處理器或同構處理器集群。比如在一個核上運行Linux,或者在兩個核的集群上運行Linux。

建立領域的基礎是支持包和操作系統。Zynq 的Linux 稱為PetaLinux。PetaLinux 的裁剪需要使用Petalinux 構建工具。

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

在vitis 軟件中,包含Xilinx開發的多個開發板的硬件xsa。并且能夠建立相應的LinuxDomain。

3 應用程序開發

軟件開發人員基于平臺和領域創建應用程序。

在已有的平臺上開發應用程序

網絡上有許多ZYNQ 應用程序開發的文檔和教程,但是它們大多數使用的2018 年前的vivado 和SDK 的。幾乎沒有使用vitis 開發。而國內的ZYNQ開發板目前還沒有提供支持vitis 平臺的軟件包。

網絡上關于ZYNQ 開發的介紹文章都比較復雜,大多數從vivado 硬件設計開始,再談petaLinux,再談到vitis 的使用。

其實沒有那么復雜。 最方便地方法就是在vitis 軟件中支持xilinx 開發板的platefrom 構建應用程序,這些開發板包括:

zc702 基于Zynq XC7Z020-1CLG484C。

zc706 基于XC7Z045,PCI插卡結構

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

zcu106 基于Zynq UltraScale+MPSoC。

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

開發的過程

vitis –New->Create Application Project

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

點擊Next。

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

選擇zc702 平臺,點擊Next。

填入Application Project Nam。例如LinuxApp4

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

Z7020 系列ZYNQ 是雙核cortex-A9 .

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

按Next

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

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

xilinx-zynqmp-common-v2021.2

導入到項目中,結果發現編譯通不過,缺少-lstdC++,等等問題。后來發現,z702 平臺包中已經包含了Sysroot 的SDK內容。不需要填入任何東西就可以編譯成功。

按Next

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

選擇Linux Hello World!

生成了一個簡單的hello world c程序

#include



intmain(){



printf("Helloworld
");



}

選擇 Project-> Build Project .經過很長的一段時間。終于編譯成功了。但是沒法形成SD image。

copy 到我的Z7_Nano 開發板的SD Card 上。插入到目標板,運行Linux。輸入

$>mkdirsdcard



$>mount/dev/mmcblk0sdcard



$>cdsdcard



$>./main.elf



Helloworld!



$>

為了測試其它庫的調用,編寫了一個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++ 程序,編寫了

#include



usingnamespacestd;



classhello{



public:



voidSayHello();



};



voidhello::SayHello()



{



cout<<"Hello?world"<

也通過了編譯。

結束語

ZYNQ 要比普通的SOC 芯片復雜很多,國產開發板的技術支持相對滯后。給初學者帶來不小的困難。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • soc
    soc
    +關注

    關注

    40

    文章

    4576

    瀏覽量

    229137
  • Zynq
    +關注

    關注

    10

    文章

    630

    瀏覽量

    49448
  • Ubuntu系統
    +關注

    關注

    0

    文章

    93

    瀏覽量

    4620

原文標題:zynq /vitis 應用筆記

文章出處:【微信號:ZYNQ,微信公眾號:ZYNQ】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于ZYNQ-MZ702P開發板實現以太網通信

    本章以太網通信實驗是基于ZYNQ-MZ702P開發板進行實現,在配置方面,需要讀者自主修改不同的地方。文章末尾有本項目原工程壓縮包,提供參考。
    的頭像 發表于 02-11 11:42 ?913次閱讀
    基于<b class='flag-5'>ZYNQ</b>-MZ702P<b class='flag-5'>開發</b>板實現以太網通信

    如何在Zynq UltraScale+ MPSoC平臺上通過JTAG啟動嵌入式Linux鏡像

    流程教程)。本文則進一步講解如何在 Zynq UltraScale+ MPSoC 平臺上通過 JTAG 逐步啟動 Linux,并提供了完整的過程與關鍵命令。只要按步驟操作,即使是復雜的 Linux 鏡像也能成功通過 JTAG 啟動。
    的頭像 發表于 01-13 11:45 ?4409次閱讀

    基于Vitis Model Composer完成全流程AI Engine開發

    基于Vitis Model Composer進行AI Engine(AIE)開發,核心優勢體現在AIE專屬優化、開發流程簡化、靈活的適配性、高效驗證及量產適配等方面。
    的頭像 發表于 12-31 11:20 ?6034次閱讀
    基于Vitis Model Composer完成全<b class='flag-5'>流程</b>AI Engine<b class='flag-5'>開發</b>

    明晚8點|睿擎文件系統實戰:從開發到發布全流程解析

    從文件操作到鏡像發布,一次直播掌握完整開發流程!在嵌入式系統開發中,文件系統是數據存儲、配置管理和資源訪問的核心基礎。然而在實際開發中,文件操作效率低下、鏡像打包
    的頭像 發表于 11-11 11:53 ?641次閱讀
    明晚8點|睿擎文件系統實戰:從<b class='flag-5'>開發</b>到發布全<b class='flag-5'>流程</b>解析

    ZYNQ PS與PL數據交互方式

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

    RTthread怎么加載zynq的支持包?

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

    單片機開發流程包括什么?

    單片機開發是一個系統性的工程,從需求明確到最終產品落地,需要經歷多個相互關聯的流程環節,每個環節都對最終產品的性能和質量有著重要影響。 一、需求分析與文檔梳理 開發流程的第一步是需求分
    的頭像 發表于 07-22 11:21 ?1004次閱讀

    CH367連接zynq問題

    通過四線SPI連接CH367和zynq時,CH367使用CH367StreamSPI函數設置為四線模式,然后設置SDI為MISO,SDX為MOSI,SCS和SCL為片選和時鐘
    發表于 07-03 10:10

    正點原子Z15I ZYNQ 開發板資料發布!板載PCIe2.0、SPFx2、MIPI CSI等接口,資料豐富!

    正點原子Z15I ZYNQ 開發板資料發布!板載PCIe2.0、SPFx2、MIPI CSI等接口,資料豐富! 正點原子Z15I ZYNQ開發板,核心板全工業級設計,主控芯片
    發表于 05-30 16:59

    正點原子Z20 ZYNQ 開發板發布!板載FMC LPC、LVDS LCD和WIFI&amp;藍牙等接口,資料豐富!

    正點原子Z20 ZYNQ 開發板發布!板載FMC LPC、LVDS LCD和WIFI&amp;藍牙等接口,資料豐富! 正點原子新品Z20 ZYNQ開發板來啦!核心板全工業級設計
    發表于 05-30 16:55

    技術分享 | 如何在2k0300(LoongArch架構)處理器上跑通qt開發流程

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

    基于RV1126開發板的AI算法開發流程

    AI算法開發流程由需求分析到準備數據,然后到選取模型,訓練模型,接著模型轉換后進行模型部署
    的頭像 發表于 04-18 14:03 ?2359次閱讀
    基于RV1126<b class='flag-5'>開發</b>板的AI算法<b class='flag-5'>開發</b><b class='flag-5'>流程</b>

    基于RV1126開發板的AI算法開發流程

    AI算法開發流程由需求分析到準備數據,然后到選取模型,訓練模型,接著模型轉換后進行模型部署
    的頭像 發表于 04-18 10:47 ?1095次閱讀
    基于RV1126<b class='flag-5'>開發</b>板的AI算法<b class='flag-5'>開發</b><b class='flag-5'>流程</b>

    ZYNQ FPGA的PS端IIC設備接口使用

    zynq系列中的FPGA,都會自帶兩個iic設備,我們直接調用其接口函數即可運用。使用xilinx官方提供的庫函數,開發起來方便快捷。
    的頭像 發表于 04-17 11:26 ?2142次閱讀
    <b class='flag-5'>ZYNQ</b> FPGA的PS端IIC設備接口使用

    從零開始馴服Linux(一):ZYNQ-Linux啟動文件構建全解析

    hello.c就可以了。 創建Petalinux工程創建Petalinux工程的步驟在《領航者ZYNQ之嵌入式Linux開發指南》第六章Petalinux設計流程實戰中已講解,本章就不細述,也可直接
    發表于 03-20 16:48