在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Vitis里如何創(chuàng)建嵌入式軟件工程,并且編譯和調(diào)試,直到啟動

YCqV_FPGA_EETre ? 來源:FPGA開發(fā)圈 ? 2020-04-30 15:54 ? 次閱讀

1. 介紹

Vitis是Xilinx新推出的統(tǒng)一軟件平臺,可實現(xiàn)在 Xilinx 所有芯片(包括 FPGA、SoC 和 Versal ACAP)上開發(fā)嵌入式軟件和加速應(yīng)用。Xilinx主要宣傳Vitis可以為異構(gòu)平臺的應(yīng)用實現(xiàn)加速。其實,Vitis也能完美的支持嵌入式軟件開發(fā)。下面以MicroZed單板為例,介紹在Vitis里如何創(chuàng)建嵌入式軟件工程,并且編譯和調(diào)試,直到啟動。

2. 測試環(huán)境

1). Windows 10
2). Vitis 2019.2
3). MicroZed

3. Vivado工程導(dǎo)出XSA文件

在MicroZed 2019.1 BSP下載MicroZed的Petalinux BSP。解壓后,使用Vivado 2019.2 打開其中的硬件工程,升級所有IP,然后編譯工程。為了測試,也可以在BD設(shè)計中,添加AXI timer,AXI BRAM等IP。成功編譯工程后,導(dǎo)出硬件設(shè)計文件mz_petalinux_wrapper.xsa。在2019.2使用了新的硬件設(shè)計文件格式,也就是XSA文件。

3.1. BD設(shè)計

也可以不添加AXI timer,AXI BRAM等IP。

3.2. 導(dǎo)出硬件的菜單

3.3. 導(dǎo)出硬件的界面

請指定XSA文件的路徑和名字。

3.4. Vivado在TCL Console里關(guān)于導(dǎo)出硬件的打印。

write_hw_platform -fixed -force -include_bit -file C:/prj/zynq7000/microzed/v192/MZ7010_FMCCC_2019_1/mz_vitis_sw/mz_petalinux_wrapper.xsa INFO: [Vivado 12-4895] Creating Hardware Platform: C:/prj/zynq7000/microzed/v192/MZ7010_FMCCC_2019_1/mz_vitis_sw/mz_petalinux_wrapper.xsa ... INFO: [Vivado 12-4896] Successfully created Hardware Platform: C:/prj/zynq7000/microzed/v192/MZ7010_FMCCC_2019_1/mz_vitis_sw/mz_petalinux_wrapper.xsa write_hw_platform: Time (s): cpu = 0016 ; elapsed = 0017 . Memory (MB): peak = 1570.996 ; gain = 0.000

4. 創(chuàng)建工程

4.1. 指定workspace目錄。

啟動Vitis,指定它的workspace目錄。

4.2. VitisFile菜單

在Vitis的File菜單里,選擇"New --> Application Project"。

4.3. 指定Application工程名

指定Application的工程名,可以使用默認的system工程名。

4.4. Platform頁面

點擊Next,進入Platform頁面。

4.5. 指定XSA文件

在Platform頁面,選擇右邊的“Creae a new platform from hardware(XSA)”, 在點擊“+”,指定平臺的XSA文件,然后Vitis自動創(chuàng)建platform。

4.6. 創(chuàng)建Domain

點擊Next,創(chuàng)建Domain。這時候可以選擇處理器、OS、Language。

4.7. 創(chuàng)建工程后的目錄結(jié)構(gòu)。

4.8. 執(zhí)行編譯。

創(chuàng)建工程后,執(zhí)行編譯。會先編譯FSBL工程,BSP工程,再編譯應(yīng)用程序工程。

Project --> Build Project

1530 **** Build of configuration Debug for project mzed_cpu0_hello **** make all C:/Xilinx/Vitis/2019.2/gnuwin/bin/make --no-print-directory pre-build a9-linaro-pre-build-step C:/Xilinx/Vitis/2019.2/gnuwin/bin/make --no-print-directory main-build Building file: ../src/helloworld.c Invoking: ARM v7 gcc compiler arm-none-eabi-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/helloworld.o" -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -IC:/prj/zynq7000/microzed/v192/MZ7010_FMCCC_2019_1/mz_vitis_sw/microzed_petalinux_wrapper/export/microzed_petalinux_wrapper/sw/microzed_petalinux_wrapper/standalone_domain/bspinclude/include -MMD -MP -MF"src/helloworld.d" -MT"src/helloworld.o" -o "src/helloworld.o" "../src/helloworld.c" Finished building: ../src/helloworld.c Building file: ../src/platform.c Invoking: ARM v7 gcc compiler arm-none-eabi-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/platform.o" -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -IC:/prj/zynq7000/microzed/v192/MZ7010_FMCCC_2019_1/mz_vitis_sw/microzed_petalinux_wrapper/export/microzed_petalinux_wrapper/sw/microzed_petalinux_wrapper/standalone_domain/bspinclude/include -MMD -MP -MF"src/platform.d" -MT"src/platform.o" -o "src/platform.o" "../src/platform.c" Finished building: ../src/platform.c Building target: mzed_cpu0_hello.elf Invoking: ARM v7 gcc linker arm-none-eabi-gcc -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -Wl,-build-id=none -specs=Xilinx.spec -Wl,-T -Wl,../src/lscript.ld -LC:/prj/zynq7000/microzed/v192/MZ7010_FMCCC_2019_1/mz_vitis_sw/microzed_petalinux_wrapper/export/microzed_petalinux_wrapper/sw/microzed_petalinux_wrapper/standalone_domain/bsplib/lib -o "mzed_cpu0_hello.elf" ./src/helloworld.o ./src/platform.o -Wl,--start-group,-lxil,-lgcc,-lc,--end-group Finished building target: mzed_cpu0_hello.elf Invoking: ARM v7 Print Size arm-none-eabi-size mzed_cpu0_hello.elf |tee "mzed_cpu0_hello.elf.size" text data bss dec hexfilename 19064 1144 22568 42776 a718mzed_cpu0_hello.elf Finished building: mzed_cpu0_hello.elf.size 1543 Build Finished (took 12s.869ms)

編譯后應(yīng)用程序和Domain目錄結(jié)構(gòu)

編譯后FSBL目錄結(jié)構(gòu)

5. 調(diào)試工程

5.1. 調(diào)試配置界面

先點擊想調(diào)試的工程,再點擊工具條調(diào)試圖標旁邊的三角形,選擇"Debug Configurations",

得到調(diào)試配置界面。

5.2. 自動創(chuàng)建調(diào)試配置

雙擊System Project,Vitis自動創(chuàng)建了調(diào)試配置。

5.3. 檢查調(diào)試配置的Target Setup。

5.4. 開始調(diào)試

點擊Debug后,會開始調(diào)試。由于有FPGA設(shè)計,先下載FPGA。

5.5. main函數(shù)入口

調(diào)試器下載所有代碼后,在main函數(shù)入口處停下,等待程序員調(diào)試。

6. 調(diào)試工程

6.1. FreeRTOS

之前只是簡單的Hello world工程。下面創(chuàng)建更復(fù)雜的FreeRTOS LWIP TCP iPerf server. 在Domain界面,為OS選擇FreeRTOS。

6.2. LWIP TCP iPerf server

在Templates界面,為Template選擇FreeRTOS LWIP TCP Perf server。

6.3. 調(diào)試LWIP TCP iPerf server

同樣的啟動調(diào)試,也在main函數(shù)入口處停下,直接選擇連續(xù)運行。

6.4. 連續(xù)運行

連續(xù)運行后,單板串口打印。

-----lwIP Socket Mode TCP Server Application------ Start PHY autonegotiation Waiting for PHY to complete autonegotiation. autonegotiation complete link speed for phy address 0: 100 ERROR: DHCP request timed out Configuring default IP 192.168.1.10 Board IP: 192.168.1.10 Netmask : 255.255.255.0 Gateway : 192.168.1.1 TCP server listening on port 5001 On Host: Run $iperf -c 192.168.1.10 -i 5 -t 300 -w 2M

6.5. 電腦Ping測試

設(shè)置電腦IP地址,再做Ping測試,檢查單板網(wǎng)絡(luò)是否正常。

C: oolsiperf-2.0.5-2-win32>ping 192.168.1.10 Pinging 192.168.1.10 with 32 bytes of data: Reply from 192.168.1.10: bytes=32 time=1ms TTL=255 Reply from 192.168.1.10: bytes=32 time

6.6. 電腦iperf測試

在電腦啟動iperf測試。

C: oolsiperf-2.0.5-2-win32>iperf -c 192.168.1.10 -i 5 -t 20 -w 2M ------------------------------------------------------------ Client connecting to 192.168.1.10, TCP port 5001 TCP window size: 2.00 MByte ------------------------------------------------------------ [ 3] local 192.168.1.100 port 63484 connected with 192.168.1.10 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 5.0 sec 55.4 MBytes 92.9 Mbits/sec [ 3] 5.0-10.0 sec 53.4 MBytes 89.5 Mbits/sec [ 3] 10.0-15.0 sec 53.5 MBytes 89.8 Mbits/sec [ 3] 15.0-20.0 sec 53.4 MBytes 89.5 Mbits/sec [ 3] 0.0-20.0 sec 216 MBytes 90.4 Mbits/sec

6.7. 單板iperf測試串口打印

在電腦啟動啟動iperf測試后,單板串口打印。

[ 1] local 192.168.1.10 port 5001 connected with 192.168.1.100 port 5001 [ ID] Interval Transfer Bandwidth [ 1] 0.0- 5.0 sec 53.2 MBytes 89.3 Mbits/sec [ 1] 5.0-10.0 sec 53.4 MBytes 89.6 Mbits/sec [ 1] 10.0-15.0 sec 53.4 MBytes 89.6 Mbits/sec [ 1] 15.0-20.0 sec 53.4 MBytes 89.6 Mbits/sec [ 1] 0.0-20.2 sec 216 MBytes 89.6 Mbits/sec TCP test passed Successfully

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

    關(guān)注

    4

    文章

    244

    瀏覽量

    27079
  • 硬件設(shè)計
    +關(guān)注

    關(guān)注

    18

    文章

    422

    瀏覽量

    45010
  • MicroZed
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    5279

原文標題:【干貨分享】以MicroZed單板為例,Vitis嵌入式軟件開發(fā)極速入門

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何成為一名嵌入式軟件工程師?

    軟件工程師保持持續(xù)學(xué)習(xí)的態(tài)度,緊跟技術(shù)發(fā)展趨勢;同時,注重實踐經(jīng)驗的積累,積極參與實際項目的開發(fā)和調(diào)試工作。 此外,還應(yīng)不斷提升自己的溝通能力和團隊協(xié)作能力,以適應(yīng)日益復(fù)雜的工作環(huán)境。 嵌入式
    發(fā)表于 04-15 14:37

    嵌入式軟件工程師就業(yè)好不好?

    ,市場需求大,所以其薪資待遇普遍較高。一般來說,在北京、上海、深圳等發(fā)達地區(qū),嵌入式軟件工程師的薪資水平會更高。并且,隨著技術(shù)水平的提高和經(jīng)驗的積累,薪資待遇還會不斷提升。 行業(yè)發(fā)展?jié)摿薮?從長遠來看
    發(fā)表于 02-20 10:19

    如何成為嵌入式開發(fā)工程師?

    如何成為嵌入式開發(fā)工程師? 成為嵌入式開發(fā)工程師通常需要掌握一系列技能和知識,并且在實踐中不斷積累經(jīng)驗。以下是一些基本步驟和建議: 1. 基
    發(fā)表于 02-19 10:39

    如何提高嵌入式代碼質(zhì)量?

    并提升代碼質(zhì)量。 遵循良好的軟件工程實踐 良好的軟件工程實踐是提高代碼質(zhì)量的基礎(chǔ),特別是在嵌入式系統(tǒng)中更為重要。以下是幾個關(guān)鍵點: 1. 模塊化設(shè)計:將系統(tǒng)分解為獨立的模塊,每個模塊負責(zé)一個特定
    發(fā)表于 01-15 10:48

    使用AMD Vitis進行嵌入式設(shè)計開發(fā)用戶指南

    Zynq MPSoC 和 AMD Alveo 數(shù)據(jù)中心加速器卡)為目標的異構(gòu)嵌入式應(yīng)用。 Vitis 工具包括: C++ 編譯器、庫和本征函數(shù),適用于 AI 引擎和可編程邏輯( PL ) 適用于 Arm
    的頭像 發(fā)表于 01-08 09:33 ?1156次閱讀
    使用AMD <b class='flag-5'>Vitis</b>進行<b class='flag-5'>嵌入式</b>設(shè)計開發(fā)用戶指南

    嵌入式工程師常用的開發(fā)工具有哪些?

    項目管理和調(diào)試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優(yōu)化能力和調(diào)試工具,能夠幫助工程師快速開發(fā)出高質(zhì)量的嵌入式
    發(fā)表于 12-20 15:29

    嵌入式學(xué)習(xí)建議

    的平衡,要在理解軟件工程基本原理基礎(chǔ)上理解硬件構(gòu)件與軟件構(gòu)件等基本概念。 以上建議,僅供初學(xué)者參考。當(dāng)然,以上只是基礎(chǔ)階段的學(xué)習(xí)建議。要成為良好的嵌入式系統(tǒng)設(shè)計師,還需要在實際項目中鍛煉,并不斷學(xué)習(xí)與積累經(jīng)驗。
    發(fā)表于 10-22 11:41

    嵌入式系統(tǒng)的啟動流程

    嵌入式系統(tǒng)的啟動流程是一個復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動的多個階段。
    的頭像 發(fā)表于 10-05 17:44 ?730次閱讀

    嵌入式開發(fā)常用軟件有哪些?

    用于編寫、編譯調(diào)試嵌入式系統(tǒng)軟件。它提供了一個集成的開發(fā)環(huán)境(IDE),包括代碼編輯器、編譯器、調(diào)試
    發(fā)表于 09-09 15:22

    名單公布!【書籍評測活動NO.42】 嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用

    ,以及PRTOS社區(qū)的愿景等內(nèi)容。 作者簡介 孫陳偉 某大廠資深編譯器團隊編譯器開發(fā)工程師,曾任華為技術(shù)軟件公司高級軟件工程師,梅特勒-托利
    發(fā)表于 08-23 15:17

    嵌入式軟件開發(fā)招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 編輯 尋求:嵌入式軟件工程師 要求:3年以上開發(fā)經(jīng)驗,音視頻領(lǐng)域應(yīng)用層開發(fā) 地址:北京市昌平區(qū) 郵箱:[email protected] 歡迎廣大感興趣的朋友約聊。
    發(fā)表于 07-26 13:44

    嵌入式系統(tǒng)怎么學(xué)?

    工具:熟悉常用的嵌入式系統(tǒng)開發(fā)工具,包括集成開發(fā)環(huán)境(IDE)、編譯器、調(diào)試器(如Keil、IAREmbedded Workbench、Eclipse)等。 5、實時操作系統(tǒng)(RTOS):了解實時
    發(fā)表于 07-02 10:10

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個充滿機遇和挑戰(zhàn)的領(lǐng)域,如何提升自己顯得非常重要,它決定了你未來的發(fā)展方向和
    發(fā)表于 06-12 11:20

    從事嵌入式方向,一定要軟硬件通吃?

    軟件工程師的職責(zé)嵌入式軟件工程師的主要職責(zé)是為嵌入式系統(tǒng)編寫和調(diào)試代碼,確保系統(tǒng)按預(yù)期工作。他們需要處理底層硬件接口、實時操作系統(tǒng)(RTOS
    的頭像 發(fā)表于 06-05 08:10 ?1577次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要軟硬件通吃?

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    并且了解嵌入式系統(tǒng)的工作原理。此外,他們還需要具備良好的邏輯思維能力,能夠快速解決復(fù)雜的軟件問題。嵌入式軟件工程師在
    發(fā)表于 05-16 11:00
    主站蜘蛛池模板: 国产视频首页 | 国产超爽人人爽人人做 | a级黑粗大硬长爽猛视频毛片 | 中文字幕一区二区三区四区五区人 | 亚洲视频一区网站 | 精品乩伦视频 | 99精品偷自拍 | 不卡一级毛片免费高清 | 天堂资源 | 色综合天天综合网看在线影院 | 日本人的色道www免费一区 | 日韩在线一区视频 | 国产在线高清精品二区色五郎 | 黄色爱爱视频 | 国产一区美女 | 国产视频首页 | 亚洲国产成a人v在线观看 | 他也色在线 | 91热成人精品国产免费 | 美女牲交毛片一级视频 | 国产一级特黄在线视频 | 日本69sex护士www | 免费黄色地址 | 欧美高清成人videosex | 最新大黄网站免费 | 国产看午夜精品理论片 | 久综合| 一级片影院| 国产网站免费视频 | 河南毛片 | sihu影院永久在线影院 | 亚洲一级毛片免费看 | 丁香六月婷婷在线 | 宅男噜噜噜66| 日本成本人三级在线观看2018 | 天天干天天干天天干天天干天天干 | 国内免费视频成人精品 | 欧美三级欧美一级 | 精品伊人久久大香线蕉网站 | 国产又大又黄又粗又爽 | 天堂在线中文无弹窗全文阅读 |