91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(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é)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式軟件
    +關(guān)注

    關(guān)注

    4

    文章

    250

    瀏覽量

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

    關(guān)注

    18

    文章

    459

    瀏覽量

    45621
  • MicroZed
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    5403

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    什么是BSP工程

    師。 嵌入式硬件工程師主要職責是負責設(shè)計嵌入式系統(tǒng)的硬件原理圖,使用相應(yīng)的工具畫出PCB圖,后期配合嵌入式軟件工程
    發(fā)表于 01-13 06:54

    什么是嵌入式應(yīng)用開發(fā)?

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計等。 開發(fā)工具和技術(shù) 嵌入式開發(fā)過程中常用的工具包括: · ?集成開發(fā)環(huán)境(IDE)?:用于編寫、編譯調(diào)試代碼。 · ?編譯器?:將高級
    發(fā)表于 01-12 16:13

    系統(tǒng)嵌入式的學(xué)習路線

    ,供各位嵌入式初學(xué)者參考,希望對大家有所幫助。嵌入式工程師需要掌握的內(nèi)容非常廣泛,主要包括嵌入式軟件、
    發(fā)表于 12-16 07:49

    做醫(yī)療嵌入式軟件研發(fā)以后好跳槽嗎?

    做醫(yī)療嵌入式軟件研發(fā),以后想跳槽一點兒也不難。別看醫(yī)療行業(yè)門檻高、規(guī)矩多,你手里攢下的那套本事,到哪兒都吃得開。嵌入式這東西,甭管在哪個行當折騰,說到底六個基本部分跑不掉:
    的頭像 發(fā)表于 12-03 11:04 ?720次閱讀
    做醫(yī)療<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>研發(fā)以后好跳槽嗎?

    CW32嵌入式軟件開發(fā)的必備知識

    嵌入式軟件開發(fā)作為計算機科學(xué)和電子工程的交叉領(lǐng)域,要求開發(fā)人員具備一系列的專業(yè)知識和技能。 而基于CW32的嵌入式軟件開發(fā)必備知識包括以下
    發(fā)表于 11-28 07:48

    AMD Vitis AI 5.1測試版發(fā)布

    AMD Vitis AI 5.1全新發(fā)布——新增了對 AMD Versal AI Edge 系列神經(jīng)網(wǎng)絡(luò)處理單元 (NPU) 的支持。Vitis AI 包含優(yōu)化的 NPU IP、模型編譯工具和部署 API,可在
    的頭像 發(fā)表于 10-31 12:46 ?796次閱讀

    RT-Thread 2025嵌入式軟件大賽重磅來襲

    為激發(fā)開發(fā)者潛能、促進技術(shù)交流,RT-Thread 正式啟動2025年度嵌入式軟件大賽! 本賽道為嵌入式軟件大賽,聚焦
    的頭像 發(fā)表于 09-22 16:40 ?3514次閱讀
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>大賽重磅來襲

    RT-Thread 2025嵌入式軟件大賽重磅來襲

    為激發(fā)開發(fā)者潛能、促進技術(shù)交流,RT-Thread正式啟動2025年度嵌入式軟件大賽!本賽道為嵌入式軟件大賽,聚焦
    的頭像 發(fā)表于 09-20 10:06 ?1758次閱讀
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>大賽重磅來襲

    飛凌嵌入式2026屆校園招聘正式啟動!

    飛凌嵌入式2026屆校園招聘正式啟動!
    的頭像 發(fā)表于 09-19 08:03 ?1079次閱讀
    飛凌<b class='flag-5'>嵌入式</b>2026屆校園招聘正式<b class='flag-5'>啟動</b>!

    硬件工程師和嵌入式軟件哪個更有前途?

    不少人琢磨硬件工程師和嵌入式軟件到底哪個更有前途,其實從實際職場情況和成長路子看,差別還挺清楚的。先說說天花板這事,一般來講,硬件工程師的職業(yè)天花板還真比
    的頭像 發(fā)表于 09-10 10:43 ?1108次閱讀

    嵌入式工程師為什么要學(xué)QT?

    、Clang、MSVC等,并提供了跨平臺的編譯和發(fā)布流程。 強大的集成開發(fā)環(huán)境(IDE) Qt Creator提供了代碼編輯、調(diào)試、構(gòu)建和發(fā)布功能,極大地提升了開發(fā)效率。 因此,Qt是嵌入式
    發(fā)表于 08-14 15:15

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

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

    如何使用AMD Vitis HLS創(chuàng)建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 來創(chuàng)建一個 HLS IP,通過 AXI4 接口從存儲器讀取數(shù)據(jù)、執(zhí)行簡單的數(shù)學(xué)運算,然后將數(shù)據(jù)寫回存儲器。接著會在 AMD Vivado Design Suite 設(shè)計中使用此 HLS IP,并使用
    的頭像 發(fā)表于 06-13 09:50 ?1876次閱讀
    如何使用AMD <b class='flag-5'>Vitis</b> HLS<b class='flag-5'>創(chuàng)建</b>HLS IP

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

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

    想在嵌入式領(lǐng)域高薪就業(yè)?先邁過這些人才門檻!

    嵌入式開發(fā)的世界,如今正經(jīng)歷著一場變革,同時也暴露出諸多問題?,F(xiàn)在,會編寫嵌入式程序的人隨處可見,樹莓派、Arduino 等開發(fā)板的出現(xiàn),讓嵌入式編程變得輕而易舉,就連軟件工程師也能輕
    的頭像 發(fā)表于 03-20 10:42 ?954次閱讀
    想在<b class='flag-5'>嵌入式</b>領(lǐng)域高薪就業(yè)?先邁過這些人才門檻!