吴忠躺衫网络科技有限公司

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>SP701上的lwIP入門

SP701上的lwIP入門

2023-02-09 | zip | 6.59 MB | 次下載 | 免費

資料介紹

描述

在我上一篇項目博文中,我介紹了如何在 Vivado 2021.2 中為基于 SP701 Spartan-7 的開發 FPGA 板創建基礎硬件設計。該項目是涵蓋如何使用 Xilinx 的嵌入式軟件 IDE Vitis 在嵌入式 C 語言中創建輕量級 IP (lwIP) 回顯服務器以在 SP701 上運行的項目的延續。

如果您還不熟悉,Vitis 及其前身 Xilinx SDK 都有一個模板 lwIP 回顯服務器項目,可以用作起點并根據用戶的特定應用需求進行定制。我發現它作為為我的 FPGA 設計建立網絡通信的基準非常方便,并且節省了大量時間,所以我不會在每次需要通過以太網連接控制我的 FPGA 時重新發明輪子。

作為高級概述,我將使用 lwIP 回顯服務器項目模板創建一個新的應用程序項目,將 SP701 連接到我的本地網絡,直接連接到我的路由器,然后使用套接字在我的主機 PC 上創建一個簡單的 Python3 腳本來發送一些向 SP701 上的服務器測試數據包,看它們是否成功回顯。

啟動 Vitis

Vitis 可以直接從 Vivado 啟動,也可以從命令行獨立啟動。

要從 Vivado 啟動,請選擇Tools > Launch Vitis IDE (這可以在 Vivado 中打開或不打開項目的情況下完成):

poYBAGPjO4eAA6DMAABxGPqjRIU665.png
?

要從命令行啟動,首先獲取環境然后運行 ??Vitis:

~$ source /tools/Xilinx/Vitis/2021.2/settings64.sh
~$ vitis

為這個 Vitis 實例的工作區選擇一個目錄,我個人喜歡在 Vivado 項目的頂層創建一個文件夾,我在 Vitis 工作區中創建軟件中的硬件將基于該項目。這只是我保持一切井井有條的方式。

?
?
?
poYBAGPjO5OATgJzAABh3F05NO8320.png
?
1 / 3
?

Vitis 最初將啟動到一個完全空白的工作區。與它的前身 Xilinx SDK 不同,它會自動從 Vivado 中提取導出的硬件平臺。

pYYBAGPjO5mAOvTzAADd3Y_zIuM483.png
?

整個項目流程可以分解為以下步驟:

  • 使用從 Vivado 導出的硬件平臺設計為目標創建一個平臺項目。
  • 創建一個應用程序項目,其中包含要在目標硬件的處理系統上運行的實際 C 代碼。
  • 使用硬件上的系統調試器等調試器調試應用程序。
  • 對目標設備的閃存進行編程

我將介紹該項目的前三個步驟。

平臺項目

通過從空白工作區窗口中選擇創建平臺項目,基于從 Vivado 導出的硬件平臺(帶比特流)創建新的平臺項目。

彈出窗口將指導您完成用于命名平臺項目的參數選擇,并指向為目標板(.xsa 文件)導出的硬件平臺所在的位置。

由于這是一個未使用 LinuxRTOS操作系統的裸機應用程序,因此Operating system設置為standalone

目標處理器是 Vivado 模塊設計microblaze_0中 MicroBlaze 處理器的實例化

?
?
?
pYYBAGPjO56AUs-EAACFRrxltUk426.png
?
1 / 2
?

單擊 Finish,Vitis 將在空白工作區中生成平臺項目。

在這個特定實例中創建應用程序項目之前,需要修改平臺項目中生成的 BSP 以包含 lwIP 庫,因為在新平臺項目中默認情況下未啟用該特定庫

要修改 BSP 以添加 lwIP 庫,請選擇修改 BSP 設置...

pYYBAGPjbdCAa9bYAACW_AGWbxc460.png
?

然后在彈出窗口中,選中啟用lwip211的復選框并單擊OK

poYBAGPjbdaAc5WnAACNcUh1zTQ847.png
?

請注意,平臺項目顯示為已過期。這是因為此時尚未構建平臺項目,因此不存在輸出文件。運行平臺項目的初始構建,這樣它就不會再使用菜單欄中的構建圖標或按 ctrl+B 顯示為過時。

?
?
?
pYYBAGPjbdmADfJDAAIhB2fR84k467.png
?
1 / 2
?

應用項目

配置和構建平臺項目后,基于它創建一個新的應用程序項目。選擇新建>應用程序項目...

poYBAGPjbd-AXxHyAACMqrBrHVE357.png
?

在彈出窗口中,您可以跳過第一張幻燈片(它是我們生成應用程序項目的步驟大綱)。選擇上一步中創建的平臺項目作為應用程序的基礎,然后單擊Next

根據需要命名應用項目,Vitis 將自動為其生成系統項目并將其與 MicroBlaze 軟處理器相關聯(假定它是唯一可運行的目標)。單擊下一步

同樣,由于沒有操作系統,域將是standalone 在 Vitis 中創建新應用項目的最后一步是選擇一個項目模板,以完成初始啟動中的一些基礎工作。正如我之前提到的,這個項目正在使用 lwIP 回顯服務器應用程序模板。選擇它并單擊完成

注意:如果您忘記修改 BSP 以啟用 lwip211 庫,Finish 按鈕將變灰,并且窗口頂部會出現一條警告消息,告訴您庫丟失。

?
?
?
pYYBAGPjbeSABZZrAABhCAlPNOI403.png
?
1 / 5
?

同樣,Vitis 將為設計生成應用程序項目和基礎代碼。

poYBAGPjbgCAXCOoAAPxydCALt0275.png
?

默認代碼有很好的注釋,所以請隨意打開/src/main.c閱讀它并添加任何所需的自定義代碼。

為應用程序項目運行構建。

應用調試

通過使用以太網電纜將 SP701 開發板連接到您的路由器來設置 SP701 開發板,將 USB 連接到 UART 端口 J5 到您的主機 PC,然后插入墻上適配器為 SP701 板供電通過將 SW11 設置為 ON 位置來打開電路板。

pYYBAGPjbhaAWDdJAAU947EylHg333.png
?

通過在資源管理器窗口中右鍵單擊應用程序名稱,然后選擇Debug As > Launch Hardware (Single Application Debug) ,在 Vitis 中啟動 lwIP 服務器應用程序的調試運行

然后,Vitis 將從開發視圖切換到調試視圖,將比特流編程到 FPGA 上,啟動 MicroBlaze,然后設置斷點,使其在進入 lwIP 應用程序的主要功能后立即停止。

pYYBAGPjbhyAHtYOAAHpZly6pEk804.png
?

此時,您可以像在任何其他調試器中一樣選擇逐步執行/結束/退出,或者您可以單擊運行/恢復/F8 (所有這些都位于菜單欄中)讓應用程序正常運行隨時暫停和單步執行的選項。

您還需要連接到 SP701 的 UART 串??行輸出。您可以使用您選擇的任何串行終端應用程序執行此操作,或使用 Vitis 中的內置終端應用程序。調試視圖底部有一組選項卡,包括Console Vitis Serial Terminal Executables Debug Shell Vitis Log ProblemsDebugger Console

切換到Vitis 串行終端選項卡并點擊+按鈕。將有三個枚舉串口,選擇三個中的第一個(例如,如果有 ttyUSB0、ttyUSB1 和 ttyUSB2,則選擇 ttyUSB0)。并以 9600 的波特率和默認 UART 設置連接到它。

pYYBAGPjfh-AIst6AAOxdrRI2Dw541.png
?

現在單擊運行將啟動回顯服務器偵聽它在端口號 7 上建立的端口,如 UART 接口上的串行輸出所證明的那樣。這將告訴您 SP701 板的本地 IP 和鏈接狀態。

主機 PC 回顯客戶端

為了測試 SP701 上的 lwIP 回顯服務器,我在 Python3 中拼湊了一個簡單的回顯客戶端腳本,我從與 SP701 位于同一本地網絡的 PC 上運行該腳本。

該腳本在 SP701 的本地 IP(默認為 192.168.1.10)的端口 7 上作為客戶端打開一個套接字,然后將一個字節數據包發送到回顯服務器。

發送數據包后,回顯服務器會等待,直到收到與發送出去的字節數相同的返回字節,然后打印出接收到的數據包。一旦接收到預期的字節數,echo 客戶端就會關閉套接字。關閉套接字很重要,因為如果您不這樣做并嘗試再次運行腳本,它將掛起,因為套接字資源從未被釋放。

pYYBAGPjfiKABCXTAAIN1a-oV4Y971.png
?

作為對連接的進一步測試,您還可以從 PC 的命令行 ping SP701:

poYBAGPjfiaAOwEFAAFU4uQ8ZRc560.png
?

我認為這將是啟動和運行 lwIP 的一個很好的停止點(我試圖將我的項目帖子保持在易于消耗的長度)。在未來的項目中,我將通過在回顯服務器中添加自定義函數來對此進行擴展,因此請保留此書簽。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐官网总厂在哪里| 缅甸百家乐网络赌博解谜| 华克山庄娱乐| 百家乐官网必赢法冯耘| 做生意摆放风水| 大发888 娱乐场| 罗浮宫百家乐官网的玩法技巧和规则 | 百家乐官网分析下载| 百家乐二十一点游戏| 百家乐官网赌场破解| 大发888真钱下载| 网上玩百家乐官网的玩法技巧和规则 | 做生意看风水| 真人百家乐官网分析软件是骗局| 首席百家乐的玩法技巧和规则| 百家乐官网游戏机的玩法| 百家乐谋略| 百家乐官网赌场破解方法| 田阳县| 百家乐龙虎斗| 百家乐官网百家乐官网论坛| 娱乐城注册送18体验金| 百家乐投注方法新版| 澳门百家乐官网皇冠网| 巴比伦百家乐娱乐城| 十三张百家乐官网的玩法技巧和规则| 皇冠在线代理| 联合百家乐的玩法技巧和规则| 一筒百家乐官网的玩法技巧和规则 | 顶级赌场是真的吗| 同乐城娱乐城| 自贡百家乐赌| 太阳城百家乐优惠| 百家乐官网大眼仔小路| 百家乐官网庄闲下载| 网页百家乐官网游戏| 二八杠生死门| 万豪网上娱乐| 老虎机单机游戏下载| 百家乐技巧赚钱| 百家乐视频游戏大厅|