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

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

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

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

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

YCqV_FPGA_EETre ? 來(lái)源:FPGA開(kāi)發(fā)圈 ? 2020-04-30 15:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 介紹

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

2. 測(cè)試環(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 打開(kāi)其中的硬件工程,升級(jí)所有IP,然后編譯工程。為了測(cè)試,也可以在BD設(shè)計(jì)中,添加AXI timer,AXI BRAM等IP。成功編譯工程后,導(dǎo)出硬件設(shè)計(jì)文件mz_petalinux_wrapper.xsa。在2019.2使用了新的硬件設(shè)計(jì)文件格式,也就是XSA文件。

3.1. BD設(shè)計(jì)

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

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

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

請(qǐng)指定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目錄。

啟動(dòng)Vitis,指定它的workspace目錄。

4.2. VitisFile菜單

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

4.3. 指定Application工程名

指定Application的工程名,可以使用默認(rèn)的system工程名。

4.4. Platform頁(yè)面

點(diǎn)擊Next,進(jìn)入Platform頁(yè)面。

4.5. 指定XSA文件

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

4.6. 創(chuàng)建Domain

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

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

4.8. 執(zhí)行編譯。

創(chuàng)建工程后,執(zhí)行編譯。會(huì)先編譯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ǎn)擊想調(diào)試的工程,再點(diǎn)擊工具條調(diào)試圖標(biāo)旁邊的三角形,選擇"Debug Configurations",

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

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

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

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

5.4. 開(kāi)始調(diào)試

點(diǎn)擊Debug后,會(huì)開(kāi)始調(diào)試。由于有FPGA設(shè)計(jì),先下載FPGA。

5.5. main函數(shù)入口

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

6. 調(diào)試工程

6.1. FreeRTOS

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

6.2. LWIP TCP iPerf server

在Templates界面,為T(mén)emplate選擇FreeRTOS LWIP TCP Perf server。

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

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

6.4. 連續(xù)運(yùn)行

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

-----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測(cè)試

設(shè)置電腦IP地址,再做Ping測(cè)試,檢查單板網(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測(cè)試

在電腦啟動(dòng)iperf測(cè)試。

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測(cè)試串口打印

在電腦啟動(dòng)啟動(dòng)iperf測(cè)試后,單板串口打印。

[ 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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 嵌入式軟件
    +關(guān)注

    關(guān)注

    4

    文章

    250

    瀏覽量

    28063
  • 硬件設(shè)計(jì)
    +關(guān)注

    關(guān)注

    18

    文章

    459

    瀏覽量

    45629
  • MicroZed
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    5403

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    什么是BSP工程

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

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

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

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

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

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

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

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

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

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

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

    RT-Thread 2025嵌入式軟件大賽重磅來(lái)襲

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

    RT-Thread 2025嵌入式軟件大賽重磅來(lái)襲

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

    飛凌嵌入式2026屆校園招聘正式啟動(dòng)

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

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

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

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

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

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

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

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

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

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

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

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

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