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

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

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

Zynq的開發(fā)方式和開發(fā)工具

汽車玩家 ? 來源:CSDN ? 作者:戰(zhàn)斗機(jī)上的飛行員 ? 2020-03-08 16:40 ? 次閱讀

1、Zynq的開發(fā)四種方式

純PL開發(fā),純PS開發(fā)(helloworld),PS+PL(無操作系統(tǒng),跑裸跑程序),PS+PL(跑操作系統(tǒng))。

1.1 純PL開發(fā)

這個和一般的xilinx的FPGA沒有很大的區(qū)別。

1.2 純PS開發(fā)

典型的就是helloworld工程, 一種是傳統(tǒng)的arm的方式。還一種就是xilinx方法,這個是生成一個elf文件,這個elf文件包括了硬件配置信息(xmp),和裸跑程序(c文件)。

1.3 PS+PL(不跑操作系統(tǒng))開發(fā)

這個可以參考懶兔子博客二,三筆記,生成的elf文件包括了硬件配置信息(xmp),還有裸跑程序(c文件),另外還有一個.bit文件可以看出和純PS開發(fā)的區(qū)別了。

1.4 PS+PL(跑操作系統(tǒng))開發(fā)

這個就需要BOOT.BIN,設(shè)備樹,linux內(nèi)核鏡像,文件系統(tǒng)了。

其中BOOT.BIN是由3部分組成的(boot.elf, .bit, fsbl.elf),boot.elf這個是由交叉編譯環(huán)境產(chǎn)生的,相當(dāng)于ssbl,.bit文件是PL使用文件,fsbl.elf這個是fsbl。

2、開發(fā)工具

2.1 獨(dú)立開發(fā)環(huán)境

PL—> Vivado

PS(ARM)–> SDK(Xilinx)或者第三方ARM開發(fā)工具

2.2 集成開發(fā)環(huán)境

SDSoC

2.3 獨(dú)立開發(fā)環(huán)境的四個步驟

(1) 系統(tǒng)架構(gòu)師確定硬件-軟件分區(qū)方案;

(2) 硬件工程師處理被分配到硬件中的功能,并將它們轉(zhuǎn)換或設(shè)計成IP核(Verilog/VHDL,也可用Vivado HLS實(shí)現(xiàn)C/C++高層次綜合);

(3) 利用Vivado IP Integrator 創(chuàng)建整個嵌入式系統(tǒng)的模塊化設(shè)計。包括開發(fā)需要的數(shù)據(jù)移動工具(AXI-DMA、AXI Memory Master、AXI-FIFO 等),以及連接 PL IP 與 PS 的 AXI 接口(GP、HP 和 ACP),之后將此項(xiàng)目導(dǎo)入到SDK中;

(4) 軟件工程師使用SDK,開發(fā)PS中ARM處理器的驅(qū)動程序和應(yīng)用。

對于以硬件為中心的優(yōu)化流程,矛盾往往出現(xiàn)在不同的數(shù)據(jù)移動工具和PL-PS接口以及寫入和調(diào)試驅(qū)動程序與應(yīng)用,為避免重構(gòu)硬件造成軟件的變化,使得PS-PL開發(fā)更加緊密,賽靈思推出了SDSoC開發(fā)環(huán)境。將上述步驟(2)、(3)和(4)實(shí)現(xiàn)高度自動化,以縮短開發(fā)時間。該開發(fā)環(huán)境會生成必要的硬件和軟件組件,用以同步硬件和軟件并保存源程序語義,同時支持任務(wù)級并行處理和流水線化的通信與計算,從而實(shí)現(xiàn)高性能。SDSoC 環(huán)境會自動安排所有必要的賽靈思工具(Vivado、IP Integrator、HLS 和 SDK),以生成針對 Zynq SoC 的完整軟硬件系統(tǒng),而且所需的用戶介入程度很小。

一個SDSoC設(shè)計項(xiàng)目是建立在一個“平臺”之上的。所謂“平臺”包含硬件平臺和軟件平臺兩個部分,是一個設(shè)計開發(fā)可以復(fù)用的基礎(chǔ)性系統(tǒng)。

平臺是利用標(biāo)準(zhǔn)的Vivado、SDK和OS工具創(chuàng)建的。硬件平臺(HPFM)定義了諸如處理系統(tǒng)(PS,Processing System)、I/O子系統(tǒng)、存儲器接口等,這些工作都基于一個定義明確的端口接口(AXI、AXI-S,、時鐘、復(fù)位、中斷)。軟件平臺(SPFM)定義了OS、設(shè)備驅(qū)動、啟動加載程序(boot loaders)、文件系統(tǒng)、庫等。

基于C/C++源代碼的定制和專用硬件和軟件,用戶可以擴(kuò)展平臺。

SDSoC將平臺作為獨(dú)立的解決方案空間,基于平臺提供的資源去生成用于解決方案的IP。每個解決方案都是為一個平臺裁剪而成的。

一個擴(kuò)展名為xpfm的文件包含了硬件描述符XML文件(HPFM)和軟件描述符XML文件(SPFM)位置的參考。

2.4 Vivado

Vivado是基于IP的設(shè)計,稱為block design(BD),調(diào)用已有的IP,用戶自己編寫的邏輯模塊也可以封裝成IP,然后在模塊blcok中連線。邏輯開發(fā)完畢,再轉(zhuǎn)到SDK,SDK會根據(jù)Vivado的硬件設(shè)計設(shè)置調(diào)用相應(yīng)的內(nèi)部驅(qū)動代碼。(PL部分就如同ARM的總線AXI等掛的外設(shè))

2.5 SDK

SDK根據(jù)生成的.hdf文件匹配FSBL,只需添加main.c文件即可。

3、類似嵌入式 C/C++/OpenCL 應(yīng)用開發(fā)的體驗(yàn)–SDSoC

SDSoC? 開發(fā)環(huán)境可為異構(gòu) Zynq? AllProgrammable SoC 及 MPSoC 部署提供類似嵌入式 C/C++/OpenCL 應(yīng)用的開發(fā)體驗(yàn),其中包括簡單易用的 Eclipse IDE 和綜合設(shè)計環(huán)境。SDSoC 提供業(yè)界首款 C/C++/OpenCL 全系統(tǒng)優(yōu)化編譯器,可實(shí)現(xiàn)系統(tǒng)級的特性描述、可編程邏輯中的自動軟件加速、自動系統(tǒng)連接生成以及可加速編程的各種庫。此外,它還可幫助最終用戶及第三方平臺開發(fā)人員快速定義、集成和驗(yàn)證系統(tǒng)級解決方案,為其最終用戶實(shí)現(xiàn)定制化編程環(huán)境。(軟件工程師能夠?qū)?Zynq SoC 中的可編程邏輯和 ARM 處理系統(tǒng)進(jìn)行編程)

? 簡單易用的 EclipseIDE 可用于開發(fā)支持嵌入式 C/C++/OpenCL 應(yīng)用的全面 Zynq All Programmable SoC 和 MPSoC 系統(tǒng)

? 只需一點(diǎn)按鈕,就可對可編程邏輯 (PL) 中的功能進(jìn)行加速

? 支持作為目標(biāo) OS 的裸機(jī)、Linux 與 FreeRTOS

? Xilinx 庫作為 Vivado HLS 的一部分,由聯(lián)盟成員提供,是可選硬件優(yōu)化的庫。

? OpenCL 在 2016.3 版中為早期的測試版。請聯(lián)系您的當(dāng)?shù)劁N售代表提出申請

下圖展示的是一個基于基礎(chǔ)平臺的完整SDSoC設(shè)計的整體結(jié)構(gòu)。需要加速的C/C++/SystemC功能成為了FPGA可編程邏輯(PL)中的IP,而其他功能保留在處理器系統(tǒng)(PS)中。同時,SDSoC會在那些IP和PS系統(tǒng)間自動生成互連。

3.1 系統(tǒng)級的特性描述

? 快速性能估算與面積估算可在幾分鐘內(nèi)完成,包括 PS、數(shù)據(jù)通信以及 PL

? 高速緩存、存儲器以及總線利用率的自動運(yùn)行時儀表

? 可實(shí)現(xiàn)最佳總體系統(tǒng)架構(gòu)的便捷生成與探索

3.2 全系統(tǒng)優(yōu)化編譯器

? 可將C/C++/OpenCL 應(yīng)用編譯成全功能 Zynq SoC 與 MPSoC 系統(tǒng)

? 可在生成 ARM 軟件與 FPGA 比特流的可編程邏輯中實(shí)現(xiàn)自動功能加速

? 不僅可優(yōu)化系統(tǒng)連接,而且還支持吞吐量、時延以及面積權(quán)衡的快速系統(tǒng)探索

3.3 SDSoC開發(fā)流程

① SDSoC 環(huán)境使用快速估算流程(通過調(diào)用內(nèi)含的Vivado HLS)構(gòu)建應(yīng)用項(xiàng)目。這樣在數(shù)分鐘內(nèi)就能大致估算出性能和資源情況。

② 如果有必要,用適當(dāng)?shù)闹噶顑?yōu)化 C/C++ 應(yīng)用和硬件功能,并重新運(yùn)行估算直到實(shí)現(xiàn)所需的性能和占位面積。

③ 然后,SDSoC 環(huán)境構(gòu)建整個系統(tǒng)。該過程會生成完整的 Vivado Design Suite 項(xiàng)目和比特流,以及一個針對 Linux、FreeRTOS 或裸機(jī)的可引導(dǎo)的運(yùn)行時間軟件映像。

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

    關(guān)注

    70

    文章

    2137

    瀏覽量

    120397
  • Zynq
    +關(guān)注

    關(guān)注

    9

    文章

    604

    瀏覽量

    47016
收藏 人收藏

    評論

    相關(guān)推薦

    簡述三種esp32的開發(fā)方式是什么

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍(lán)牙雙模無線通信芯片,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能硬件等領(lǐng)域。本文將詳細(xì)介紹三種ESP32的開發(fā)方式:Arduino
    的頭像 發(fā)表于 08-20 09:11 ?631次閱讀

    嵌入式QT常見開發(fā)方式有哪些?

    嵌入式QT常見開發(fā)方式有哪些? 嵌入式工程師在學(xué)習(xí)和使用Qt進(jìn)行開發(fā)時,常見的幾種開發(fā)方式包括: 1.Qt Widgets編程: 通過C++代碼直接編寫GUI應(yīng)用程序,利用QtWidgets庫
    發(fā)表于 08-12 10:05

    字節(jié)跳動發(fā)布豆包MarsCo智能開發(fā)工具

    在數(shù)字時代的浪潮中,編程已成為推動科技進(jìn)步和創(chuàng)新的核心動力。為了助力國內(nèi)開發(fā)者更高效、智能地進(jìn)行編程工作,字節(jié)跳動公司近日發(fā)布了全新的智能開發(fā)工具——豆包 MarsCode。這款工具基于強(qiáng)大的豆包大模型打造,全面免費(fèi)開放使用,旨
    的頭像 發(fā)表于 07-01 15:03 ?505次閱讀

    Diamond開發(fā)工具使用說明

    Diamond開發(fā)工具使用說明
    發(fā)表于 05-23 09:14 ?0次下載

    瑞薩Smart Configurator支持SEGGER集成開發(fā)工具

    SEGGER與瑞薩電子(Renesas Electronics)近日宣布達(dá)成重要合作,SEGGER的集成開發(fā)工具Embedded Studio現(xiàn)已無縫融入瑞薩電子的Smart
    的頭像 發(fā)表于 05-10 14:25 ?485次閱讀

    低代碼開發(fā)平臺的崛起:優(yōu)勢、特點(diǎn)與應(yīng)用

    低代碼開發(fā)平臺是近年來迅速崛起的一種創(chuàng)新型軟件開發(fā)工具,以其高效、靈活的開發(fā)模式正顛覆著傳統(tǒng)的開發(fā)方式。不再需要編寫大量繁雜的代碼,開發(fā)者們
    的頭像 發(fā)表于 04-18 10:43 ?271次閱讀
    低代碼<b class='flag-5'>開發(fā)</b>平臺的崛起:優(yōu)勢、特點(diǎn)與應(yīng)用

    STM32WLE5使用什么開發(fā)工具

    我準(zhǔn)備使用STM32WLE5,請教一下使用什么開發(fā)工具?STLINK-V2可以嗎?
    發(fā)表于 03-14 07:00

    蘋果準(zhǔn)備推出AI軟件開發(fā)工具

    近日,有知情人士透露,蘋果公司正在全力加碼人工智能,準(zhǔn)備推出一款新的軟件開發(fā)工具。這款工具將利用生成式人工智能技術(shù),幫助開發(fā)者自動完成編碼工作,預(yù)計將加劇與微軟在人工智能方面的競爭。
    的頭像 發(fā)表于 02-20 14:35 ?714次閱讀

    配置Ubuntu系統(tǒng)環(huán)境和安裝的開發(fā)工具

    安裝好Ubuntu系統(tǒng)環(huán)境后,開發(fā)前需要簡單配置Ubuntu系統(tǒng)環(huán)境以及安裝一些必備的開發(fā)工具。
    的頭像 發(fā)表于 12-22 13:32 ?1356次閱讀
    配置Ubuntu系統(tǒng)環(huán)境和安裝的<b class='flag-5'>開發(fā)工具</b>

    圖形界面開發(fā)工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能強(qiáng)大且對用戶非常友好的圖形界面開發(fā)工具。目前最新版本是1.6.1。
    的頭像 發(fā)表于 12-20 09:49 ?1.3w次閱讀
    圖形界面<b class='flag-5'>開發(fā)工具</b>GUI Guider的使用教程

    任意單片機(jī)基于simulink模型開發(fā)方式

    使用Arduino在simulink中搭建的LED閃爍的一個例子如圖1所示,相比之前C語言代碼實(shí)現(xiàn)的方式,這里沒有寫一行代碼就實(shí)現(xiàn)了LED閃爍。讀者有沒有感覺這種開發(fā)方式即簡單又方便,要實(shí)現(xiàn)什么功能
    的頭像 發(fā)表于 11-30 15:27 ?652次閱讀
    任意單片機(jī)基于simulink模型<b class='flag-5'>開發(fā)方式</b>

    CCES和VDSP開發(fā)工具有什么不同?哪個易于操作?

    我選用的21489做音頻操作,但是我是一名新手,需要學(xué)習(xí)一個開發(fā)工具,我想問各位這兩個開發(fā)工具CCES和VDSP++到底有什么區(qū)別,如何選用?因?yàn)檫€有一系列的后續(xù)開發(fā),各位可建議采用哪個開發(fā)工
    發(fā)表于 11-30 06:59

    開發(fā)板和開發(fā)工具指南

    與使用開發(fā)環(huán)境相比,許多工程師更傾向于將調(diào)試點(diǎn)嵌入其代碼并使用測試設(shè)備來驗(yàn)證其硬件。歐時電子指南將詳述開發(fā)板和開發(fā)工具的優(yōu)勢,并提供關(guān)于使用和選擇恰當(dāng)開發(fā)工具的實(shí)用建議。
    的頭像 發(fā)表于 10-26 14:35 ?470次閱讀

    Intellij IDEA 開發(fā)工具實(shí)例

    本篇博客我們將會以Intellij IDEA 開發(fā)工具為例,所以我這里簡單談?wù)勎覀兯褂玫?b class='flag-5'>開發(fā)工具。 目前大家做Java開發(fā)的,無外乎就兩種,eclipse或者Intellij IDEA
    的頭像 發(fā)表于 09-25 16:21 ?725次閱讀
    Intellij IDEA <b class='flag-5'>開發(fā)工具</b>實(shí)例

    先楫hpm_sdk開發(fā)方式的優(yōu)缺點(diǎn) 與單片機(jī)傳統(tǒng)開發(fā)方式的不同點(diǎn)

    最近在跟一些開發(fā)者交流過程中,或者開發(fā)者群里反饋,感覺先楫單片機(jī)開發(fā)方式不同于以往的單片機(jī)開發(fā)方式,或者開發(fā)方式沒接觸過導(dǎo)致無從下手,或者是
    的頭像 發(fā)表于 09-25 09:16 ?1084次閱讀
    先楫hpm_sdk<b class='flag-5'>開發(fā)方式</b>的優(yōu)缺點(diǎn) 與單片機(jī)傳統(tǒng)<b class='flag-5'>開發(fā)方式</b>的不同點(diǎn)