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

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

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

【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十六章PS端網(wǎng)絡(luò)遠(yuǎn)程更新QSPI

FPGA技術(shù)專欄 ? 來源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-01-29 10:02 ? 次閱讀

原創(chuàng)聲明:

本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處。

適用于板卡型號(hào):

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

vivado工程目錄為“ps_hello/vivado”

vitis工程目錄為“ps_remote/vitis”

在實(shí)際工作中,會(huì)遇到產(chǎn)品升級(jí)問題,如果按照程序燒錄的方式,可能需要打開產(chǎn)品的外殼,這無疑。本章介紹一種通過網(wǎng)絡(luò)遠(yuǎn)程更新FLASH程序的方法,包含UDP和TCP兩種方法。

軟件工程師工作內(nèi)容

以下為軟件工程師負(fù)責(zé)內(nèi)容。

1. Vitis程序開發(fā)

1.1 UDP傳輸方式

1)LWIP部分主要處理BIN文件的接收,程序?yàn)閘wip_app.c

o4YBAGAKMiaANHdtAAA_EWkkf2M029.jpg

2)在創(chuàng)建工程后,需要使能lwip庫,并進(jìn)行設(shè)置,使能DHCP功能,將pbuf空間盡可能設(shè)置大一些,增大緩存空間,提高效率。

pIYBAGAKMieAWzESAADdecxNhMY969.jpgo4YBAGAKMiiAMmb6AAGOcZFDTtw206.jpg

3)udp_receive函數(shù)為設(shè)置的接收回調(diào)函數(shù),主要功能是接收數(shù)據(jù),并將接收到的數(shù)據(jù)緩存到FlashRxBuffer空間,留待更新Flash使用,在發(fā)送數(shù)據(jù)后,再發(fā)送“update”命令,開始更新flash,在函數(shù)中判斷此命令。

4)在while循環(huán)語句中,判斷StartUpdate變量值,更新Flash。

pIYBAGAKMiiAVgCsAAASHmvQ2pA166.jpg

1.2 TCP傳輸方式

1)TCP的LWIP部分同樣也是lwip_app.c文件,控制部分參考lwip echo server例程,建立一個(gè)TCP Server

o4YBAGAKMiiATFfDAABBlXTLRlc722.jpg

2)與UDP類似,在recv_callback接收回調(diào)函數(shù)中,緩存接收到的BIN文件,啟動(dòng)更新命令同樣是update,其他部分也與UDP類似。

1.3 QSPI Flash讀寫控制

UDP和TCP兩種方式使用的是同樣的QSPI讀寫文件qspi.c和qspi.h

pIYBAGAKMimAOYi8AAAJLXdTPmk897.jpg

1)qspi.c文件是根據(jù)xqspipsu_generic_flash_polled_example做的修改

o4YBAGAKMimAN_o_AABbKIK2EpM269.jpg

2)主要有以下一些函數(shù),寫使能及關(guān)閉,flash擦除,flash寫,flash讀,讀Flash ID等。

pIYBAGAKMimAJf7qAAAgkQnvjAQ573.jpg

3)主要的函數(shù)為update_qspi,其中TotalLen為要更新的總字節(jié)數(shù),F(xiàn)lashDataToSend為存放更新數(shù)據(jù)的緩存區(qū)域,流程也比較簡(jiǎn)單,首先是擦除,在這里沒選擇擦除整個(gè)Flash,而是根據(jù)TotalLen大小進(jìn)行Sector擦除,因此擦除的空間會(huì)比TotalLen稍微大一點(diǎn);然后是寫Flash,利用FlashWrite函數(shù)進(jìn)行寫入;最后是校驗(yàn),從Flash里讀出數(shù)據(jù),并與寫入的數(shù)據(jù)進(jìn)行對(duì)比。

o4YBAGAKMiqAT6ZkAAAQBJ0sDkk913.jpg

2. 板上驗(yàn)證

我們可以選擇其他例程的BOOT.bin文件。我們是設(shè)定網(wǎng)絡(luò)環(huán)境理想狀態(tài)下做的實(shí)驗(yàn),在做此實(shí)驗(yàn)時(shí),不要打開其他有關(guān)以太網(wǎng)傳輸?shù)?a target="_blank">上位機(jī)軟件,由于端口號(hào)一樣,可能會(huì)造成沖突。

1)首先連接開發(fā)板,將網(wǎng)線連接到網(wǎng)口

2)如果有DHCP服務(wù)器,會(huì)自動(dòng)分配IP給開發(fā)板;如果沒有DHCP服務(wù)器,默認(rèn)開發(fā)板IP地址為192.168.1.10,需要將PC的IP地址設(shè)為同一網(wǎng)段,如下圖所示。同時(shí)要確保網(wǎng)絡(luò)里沒有192.168.1.10的IP地址,否則會(huì)造成IP沖突,導(dǎo)致無法顯示。可以在板子未上電前在CMD里輸入ping 192.168.1.10查看是否能ping通,如果ping通,說明網(wǎng)絡(luò)中有此IP地址,就無法驗(yàn)證。

沒有問題之后打開串口軟件。

pIYBAGAKMiqANcCfAABvqUiukvk503.jpg

2.1 UDP方式

1)下載程序,可以看串口里的信息

o4YBAGAKMiqANPGNAAAnJNyVZR8467.jpg

2)打開工程目錄下的板卡網(wǎng)絡(luò)升級(jí)軟件

pIYBAGAKMiqAbDjhAAANVF26Y60011.jpg

3)填入板卡的IP地址和端口號(hào),選擇UDP發(fā)送方式,選擇BOOT.bin文件,點(diǎn)擊發(fā)送

o4YBAGAKMiuAU_AOAABz106h2TU512.jpg

4)發(fā)送完畢后,會(huì)顯示發(fā)送的字節(jié)數(shù)

pIYBAGAKMiuAVMmUAAByAEsAFq8981.jpg

5)在串口窗口可以看到板卡接收到的字節(jié)數(shù),以及擦除,燒寫,校驗(yàn)過程。

o4YBAGAKMiuAYo6iAAA55QUWT0E405.jpg

6)斷電通撥碼開關(guān)選擇QSPI啟動(dòng)方式,打開電源啟動(dòng),即可看到程序運(yùn)行起來。

2.2 TCP方式

1)下載程序,可以看到串口信息

pIYBAGAKMiyAYjmhAAApfLXyAm4047.jpg

2)打開工程目錄下的板卡網(wǎng)絡(luò)升級(jí)軟件

pIYBAGAKMiqAbDjhAAANVF26Y60011.jpg

3)填入IP地址和端口號(hào),選擇TCP發(fā)送方式,選擇BOOT.bin文件,點(diǎn)擊發(fā)送

o4YBAGAKMiyATCyOAAB06T56AuQ902.jpg

4)與UDP一樣,也能看到發(fā)送的字節(jié)數(shù)

pIYBAGAKMiyAX94FAAByx9Epmo8925.jpg

5)在串口窗口可以看到板卡接收到的字節(jié)數(shù),以及擦除,燒寫,校驗(yàn)過程。

o4YBAGAKMi2ABQNVAAA66YnxmaI037.jpg

6)斷電通過撥碼開關(guān)選擇QSPI啟動(dòng)方式,打開電源啟動(dòng),即可看到程序運(yùn)行起來。

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

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601232
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1614

    瀏覽量

    147652
  • Zynq
    +關(guān)注

    關(guān)注

    9

    文章

    607

    瀏覽量

    47101
  • QSPI
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    12151
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    196

    瀏覽量

    24230
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

      如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器  Zynq UltraScale+
    發(fā)表于 01-07 16:02

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發(fā)表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    發(fā)表于 02-02 07:53

    模擬電路網(wǎng)絡(luò)課件 第二十六節(jié):差分式放大電路

    模擬電路網(wǎng)絡(luò)課件 第二十六節(jié):差分式放大電路 6.2 差分式放大電路 一、直接耦合多級(jí)放大電路的零點(diǎn)漂移
    發(fā)表于 09-17 11:35 ?1808次閱讀
    模擬電路<b class='flag-5'>網(wǎng)絡(luò)</b>課件 <b class='flag-5'>第二十六</b>節(jié):差分式放大電路

    閑話Zynq UltraScale+ MPSoC(連載1)

    Zynq-7000,這款SoC功能顯得更加強(qiáng)勁:最顯著的變化是新加入了GPU和視頻編解碼器,PS的高速接口更加豐富。按照Xilinx官方的說法,Zynq
    發(fā)表于 02-08 08:24 ?721次閱讀
    閑話<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>(連載1)

    閑話Zynq UltraScale+ MPSoC(連載5)

    作者:Hello,Panda Part3 I/O資源 和Zynq-7000相比較,Zynq UltraScale+ 增強(qiáng)了PS的IO性能;
    發(fā)表于 02-08 08:29 ?696次閱讀
    閑話<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>(連載5)

    Zynq UltraScale+ MPSoC的發(fā)售消息

    Zynq?UltraScale+?MPSoC,現(xiàn)已開始發(fā)售。視頻向您重點(diǎn)介紹了Xilinx UltraScale +產(chǎn)品組合的第一位成員
    的頭像 發(fā)表于 11-27 06:47 ?3558次閱讀

    米爾科技Zynq UltraScale+ MPSoC技術(shù)參考手冊(cè)介紹

    Zynq UltraScale+ MPSoC是Xilinx推出的第二代多處理SoC系統(tǒng),在第一代Zynq-7000的基礎(chǔ)上做了全面升級(jí),在單
    的頭像 發(fā)表于 11-18 11:03 ?3096次閱讀
    米爾科技<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>技術(shù)參考手冊(cè)介紹

    ZYNQ Ultrascale+ MPSOC FPGA教程】第二章 硬件原理圖介紹

    AXU2CGA/B的特點(diǎn)是體積小并擴(kuò)展了豐富的外設(shè)。主芯片采用Xilinx公司的Zynq UltraScale+ MPSoCs CG系列的芯片,型號(hào)為XCZU2CG-1SFVC784I。AXU2CGA的PS
    發(fā)表于 02-21 06:29 ?15次下載
    【<b class='flag-5'>ZYNQ</b> <b class='flag-5'>Ultrascale+</b> <b class='flag-5'>MPSOC</b> <b class='flag-5'>FPGA</b>教程】<b class='flag-5'>第二</b>章 硬件原理圖介紹

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    Zynq UltraScale+ MPSoC VCU DDR 控制器是一款專用 DDR 控制器,只支持在 Zynq UltraScale+
    發(fā)表于 02-23 06:00 ?15次下載
    如何調(diào)試 <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    米爾電子zynq ultrascale+ mpsoc底板外設(shè)資源清單分享

    米爾電子推出的國(guó)內(nèi)首款zynq ultrascale+ mpsoc平臺(tái)核心板(及開發(fā)板):MYC-CZU3EG吸引了人工智能、工業(yè)控制、嵌入式視覺、ADAS、算法加速、云計(jì)算、有線/無線通信等
    發(fā)表于 01-07 15:20 ?3次下載
    米爾電子<b class='flag-5'>zynq</b> <b class='flag-5'>ultrascale+</b> <b class='flag-5'>mpsoc</b>底板外設(shè)資源清單分享

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片設(shè)計(jì)

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片設(shè)計(jì),應(yīng)用于工廠自動(dòng)化、機(jī)器視覺、工業(yè)質(zhì)檢等工業(yè)領(lǐng)域
    發(fā)表于 11-02 14:35 ?1544次閱讀

    Zynq UltraScale+ MPSoC中的隔離方法

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC中的隔離方法.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 17:11 ?1次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>中的隔離方法

    Zynq UltraScale+ MPSoC的隔離設(shè)計(jì)示例

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC的隔離設(shè)計(jì)示例.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:28 ?3次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的隔離設(shè)計(jì)示例

    Zynq UltraScale+ MPSoC驗(yàn)證數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC驗(yàn)證數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 09-15 10:13 ?0次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>驗(yàn)證數(shù)據(jù)手冊(cè)