<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十六章PS端網絡遠程更新QSPI

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

原創聲明:

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

適用于板卡型號:

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

vivado工程目錄為“ps_hello/vivado”

vitis工程目錄為“ps_remote/vitis”

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

軟件工程師工作內容

以下為軟件工程師負責內容。

1. Vitis程序開發

1.1 UDP傳輸方式

1)LWIP部分主要處理BIN文件的接收,程序為lwip_app.c

o4YBAGAKMiaANHdtAAA_EWkkf2M029.jpg

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

pIYBAGAKMieAWzESAADdecxNhMY969.jpgo4YBAGAKMiiAMmb6AAGOcZFDTtw206.jpg

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

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

pIYBAGAKMiiAVgCsAAASHmvQ2pA166.jpg

1.2 TCP傳輸方式

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

o4YBAGAKMiiATFfDAABBlXTLRlc722.jpg

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

1.3 QSPI Flash讀寫控制

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

pIYBAGAKMimAOYi8AAAJLXdTPmk897.jpg

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

o4YBAGAKMimAN_o_AABbKIK2EpM269.jpg

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

pIYBAGAKMimAJf7qAAAgkQnvjAQ573.jpg

3)主要的函數為update_qspi,其中TotalLen為要更新的總字節數,FlashDataToSend為存放更新數據的緩存區域,流程也比較簡單,首先是擦除,在這里沒選擇擦除整個Flash,而是根據TotalLen大小進行Sector擦除,因此擦除的空間會比TotalLen稍微大一點;然后是寫Flash,利用FlashWrite函數進行寫入;最后是校驗,從Flash里讀出數據,并與寫入的數據進行對比。

o4YBAGAKMiqAT6ZkAAAQBJ0sDkk913.jpg

2. 板上驗證

我們可以選擇其他例程的BOOT.bin文件。我們是設定網絡環境理想狀態下做的實驗,在做此實驗時,不要打開其他有關以太網傳輸的上位機軟件,由于端口號一樣,可能會造成沖突。

1)首先連接開發板,將網線連接到網口

2)如果有DHCP服務器,會自動分配IP給開發板;如果沒有DHCP服務器,默認開發板IP地址為192.168.1.10,需要將PC的IP地址設為同一網段,如下圖所示。同時要確保網絡里沒有192.168.1.10的IP地址,否則會造成IP沖突,導致無法顯示??梢栽诎遄游瓷想娗霸贑MD里輸入ping 192.168.1.10查看是否能ping通,如果ping通,說明網絡中有此IP地址,就無法驗證。

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

pIYBAGAKMiqANcCfAABvqUiukvk503.jpg

2.1 UDP方式

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

o4YBAGAKMiqANPGNAAAnJNyVZR8467.jpg

2)打開工程目錄下的板卡網絡升級軟件

pIYBAGAKMiqAbDjhAAANVF26Y60011.jpg

3)填入板卡的IP地址和端口號,選擇UDP發送方式,選擇BOOT.bin文件,點擊發送

o4YBAGAKMiuAU_AOAABz106h2TU512.jpg

4)發送完畢后,會顯示發送的字節數

pIYBAGAKMiuAVMmUAAByAEsAFq8981.jpg

5)在串口窗口可以看到板卡接收到的字節數,以及擦除,燒寫,校驗過程。

o4YBAGAKMiuAYo6iAAA55QUWT0E405.jpg

6)斷電通撥碼開關選擇QSPI啟動方式,打開電源啟動,即可看到程序運行起來。

2.2 TCP方式

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

pIYBAGAKMiyAYjmhAAApfLXyAm4047.jpg

2)打開工程目錄下的板卡網絡升級軟件

pIYBAGAKMiqAbDjhAAANVF26Y60011.jpg

3)填入IP地址和端口號,選擇TCP發送方式,選擇BOOT.bin文件,點擊發送

o4YBAGAKMiyATCyOAAB06T56AuQ902.jpg

4)與UDP一樣,也能看到發送的字節數

pIYBAGAKMiyAX94FAAByx9Epmo8925.jpg

5)在串口窗口可以看到板卡接收到的字節數,以及擦除,燒寫,校驗過程。

o4YBAGAKMi2ABQNVAAA66YnxmaI037.jpg

6)斷電通過撥碼開關選擇QSPI啟動方式,打開電源啟動,即可看到程序運行起來。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1608

    文章

    21358

    瀏覽量

    594371
  • FlaSh
    +關注

    關注

    10

    文章

    1562

    瀏覽量

    146818
  • Zynq
    +關注

    關注

    9

    文章

    600

    瀏覽量

    46757
  • QSPI
    +關注

    關注

    0

    文章

    39

    瀏覽量

    11997
  • MPSoC
    +關注

    關注

    0

    文章

    194

    瀏覽量

    24143
收藏 人收藏

    評論

    相關推薦

    Zynq UltraScale + MPSoC USB 3.0 CDC器件類設計

    Linux主機測試CDC功能履行實施細節設計類型僅PSSW類型Zynq?UltraScale+?MPSoC Linux操作系統CPU的ARM Cortex A53 Core 0以1.1 GHz運行
    發表于 01-03 09:59

    如何利用ZYNQ MPSoC玩DOOM?

    賽靈思和 DornerWorks 的系統軟件團隊在賽靈思的 Zynq? Ultrascale+? MPSoC 上啟動 Xen Project 管理程序時,我們發現可通過運行當年叱詫一時的流行電子游戲
    發表于 10-09 06:21

    請問Zynq Ultrascale + MPSOC本身是否存在問題?

    你好我們正在考慮在我們的新設計中使用Zynq Ultrascale + MPSOC。我們想在我們的電路板設計中加入HDMI接口。 Zynq Ultr
    發表于 10-14 09:17

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

      如何調試Zynq UltraScale+ MPSoC VCU DDR控制器  Zynq UltraScale+
    發表于 01-07 16:02

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    發表于 02-02 07:53

    模擬電路網絡課件 第二十六節:差分式放大電路

    模擬電路網絡課件 第二十六節:差分式放大電路 6.2 差分式放大電路 一、直接耦合多級放大電路的零點漂移
    發表于 09-17 11:35 ?1681次閱讀
    模擬電路<b class='flag-5'>網絡</b>課件 <b class='flag-5'>第二十六</b>節:差分式放大電路

    閑話Zynq UltraScale+ MPSoC(連載5)

    通過EMIO布線到PL; c)新增了四通道的高速GTR收發器; d)DDR控制更新到可支持DDR4L-2400速率。 (1)MIO資源 Zynq UltraScale+具有78個可配置復用的MIO,這些MIO可用作將
    發表于 02-08 08:29 ?535次閱讀
    閑話<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>(連載5)

    Zynq UltraScale+ MPSoC的發售消息

    Zynq?UltraScale+?MPSoC,現已開始發售。視頻向您重點介紹了Xilinx UltraScale +產品組合的第一位成員
    的頭像 發表于 11-27 06:47 ?3335次閱讀

    米爾科技Zynq UltraScale+ MPSoC技術參考手冊介紹

    Zynq UltraScale+ MPSoC是Xilinx推出的第二代多處理SoC系統,在第一代Zynq-7000的基礎上做了全面升級,在單
    的頭像 發表于 11-18 11:03 ?2692次閱讀
    米爾科技<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>技術參考手冊介紹

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

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

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

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

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片設計

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片設計,應用于工廠自動化、機器視覺、工業質檢等工業領域
    發表于 11-02 14:35 ?1253次閱讀

    Zynq UltraScale+ MPSoC中的隔離方法

    電子發燒友網站提供《Zynq UltraScale+ MPSoC中的隔離方法.pdf》資料免費下載
    發表于 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的隔離設計示例

    電子發燒友網站提供《Zynq UltraScale+ MPSoC的隔離設計示例.pdf》資料免費下載
    發表于 09-13 11:28 ?2次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的隔離設計示例
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>