衡阳派盒市场营销有限公司

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>為ZynqberryZero編寫嵌入式C應(yīng)用程序

為ZynqberryZero編寫嵌入式C應(yīng)用程序

2022-11-07 | zip | 0.69 MB | 次下載 | 2積分

資料介紹

描述

繼續(xù)介紹 ZynqberryZero FPGA 開發(fā)板,我認為使用在 ZynqberryZero 的 Zynq-7000 SoC 的 ARM 核心處理器上運行的簡單嵌入式 C 應(yīng)用程序來跟進基本硬件設(shè)計是很重要的。

雖然可以將比特流閃存到包含在可編程邏輯中運行的純 HDL 設(shè)計的 ZynqberryZero 上,但我個人認為在任何配備 SoC (如 Zynq 或ZynqMP 系列芯片

(就上下文而言,我在這里將 SoC 或片上系統(tǒng)定義為任何在其可編程邏輯中內(nèi)置物理處理器的 FPGA。并且提到的所有特定部件/芯片系列都是 Xilinx,但一般概念適用于任何制造商。 )

除了為什么不使用它的明顯原因之外,還有幾個原因表明您應(yīng)該在 Zynq 芯片中內(nèi)置的物理 ARM 核心處理器上運行某些東西:

1.成本

2. 功耗

pYYBAGNoeS-AAqJWAAEDvkLDqJM249.png
其可編程邏輯中內(nèi)置的 ARM 內(nèi)核的 Zynq 框圖。
?

Zynq FPGA 比其純可編程邏輯同類產(chǎn)品(如 Artix 或 Kintex 芯片)消耗更多功率和成本。因此,使用 Zynq 而不直接在 ARM 內(nèi)核上運行嵌入式應(yīng)用程序(就像我將在這個項目中做的那樣)或嵌入式 LinuxRTOS操作系統(tǒng)真的沒有意義。

在我上一篇關(guān)于 ZynqberryZero 的項目文章中,我介紹了如何在 Vivado 中設(shè)置基礎(chǔ)硬件設(shè)計對于那些不熟悉的人,Vitis 是 Vivado 的 Xilinx 芯片的合作伙伴 IDE,用于開發(fā)在 FPGA 硬件中的任何處理器上運行的軟件(無論是 Zynq 的物理 ARM 內(nèi)核還是在MicroBlaze 等可編程邏輯)。這個 Vivado 項目和在該項目的最后步驟中導出的最終硬件包是我開始構(gòu)建這個 Vitis 項目的基礎(chǔ)。有兩種啟動 Vitis 的方法:

1. 從 Vivado 中選擇工具>啟動 Vitis

poYBAGNoeTKAY_QbAACXcnnrNQY746.png
?

2. 從 Ubuntu 的命令行:

~$ source //2019.2/settings64.sh
~$ vitis

Vitis 的啟動屏幕將詢問工作區(qū)目錄,因為這是一個新項目,單擊瀏覽然后導航到工作區(qū)所在的所需目錄。我個人喜歡使用 Vitis 項目的硬件設(shè)計所來自的 Vivado 項目的頂層文件夾,并在該目錄中創(chuàng)建一個名為vitis_??workspace的文件夾:

poYBAGNoeTWAclf4AABemxYbjTg227.png
?

創(chuàng)建vitis_??workspace目錄后,導航到該目錄并單擊“確定”。這將返回到 Vitis 啟動屏幕,并確認所選的工作區(qū)路徑。

?
pYYBAGNoeTeAdavAAABB3nqaukA391.png
?
1 / 2
?

點擊 Launch 后,Vitis 將加載到一個新的空白工作區(qū):

pYYBAGNoeTuANT0HAADdhLcs1zE992.png
?

通過從空白工作區(qū)頁面中選擇創(chuàng)建平臺項目來創(chuàng)建一個新的平臺項目。

?
?
?
pYYBAGNoeUCAKmdfAACLlSgwn0w320.png
?
1 / 4
?

請注意,創(chuàng)建平臺項目時它已過期,因為它尚未編譯。在繼續(xù)從嵌入式 C 應(yīng)用程序創(chuàng)建應(yīng)用程序項目之前,使用Ctrl+B構(gòu)建平臺項目。

編譯平臺項目后,通過單擊新建圖標并選擇應(yīng)用程序項目來創(chuàng)建一個新的應(yīng)用程序項目...

poYBAGNh-USAUfB6AACQhH8EVyI065.png
?

為項目指定所需的名稱并保留默認選項以使用它創(chuàng)建新的系統(tǒng)項目。當您單擊應(yīng)用程序項目的設(shè)置窗口時,請務(wù)必選擇由前面步驟中完成的平臺項目創(chuàng)建的自定義平臺、運行應(yīng)用程序的 ARM 中的目標處理器內(nèi)核、所需的編程語言以及適當?shù)膽?yīng)用程序模板。

?
?
?
pYYBAGNoeUWAa9GEAACUBsnBjfY979.png
?
1 / 4 ?提供所需的應(yīng)用程序名稱并為系統(tǒng)項目選擇新建。
?

我正在用 C 語言編寫這個應(yīng)用程序,我選擇了 Hello World 應(yīng)用程序模板。

pYYBAGNoeUiAJ9XxAALwzwUb0Hw069.png
?

現(xiàn)在已經(jīng)創(chuàng)建了應(yīng)用程序項目,是時候真正開始編寫一些代碼了。我想做的不僅僅是通過 UART 串??行終端簡單地打印出“Hello World”,但不需要添加任何額外的硬件。所以我決定使用來自 UART 的簡單字符回顯。

我的嵌入式 C 應(yīng)用程序首先為 Zynq 的內(nèi)置 UART 設(shè)置控制寄存器,并通過將適當?shù)奈谎诖a寫入控制寄存器來啟用 UART 的發(fā)送和接收緩沖區(qū)。

然后在看到 ASCII 字符進行轉(zhuǎn)義時退出的 while 循環(huán)中,輪詢控制寄存器位以查看接收緩沖區(qū)的 FIFO 中是否有任何內(nèi)容。如果有,它會讀入該字符,將其復制到發(fā)送緩沖區(qū),然后將其發(fā)送回 UART 串??行控制臺。

pYYBAGNoeU2Ab7i8AAEsm31x-xs504.png
?

編寫 C 代碼并保存文件后,通過在 Explorer 窗口中右鍵單擊應(yīng)用程序項目并選擇Build Project來構(gòu)建應(yīng)用程序項目。

poYBAGNoeVCANKqhAADhfMqBmxc413.png
?

使用 Micro-USB 電纜將 ZynqberryZero 插入您的 PC。JTAG/UART USB 端口是最靠近板角的端口:

接下來,將比特流編程到 FPGA 上。再次,右鍵單擊 Explorer 窗口中的應(yīng)用程序項目并選擇Program FPGA由于我們從應(yīng)用項目中選擇了 Program FPGA,因此彈出的窗口中的所有字段都會自動填充為適當?shù)闹担虼四恍鑶螕?/font>Program即可。

?
?
?
poYBAGNoeVaAYZmFAADIYG-q_5s636.png
?
1 / 2
?

FPGA 成功編程后,啟動應(yīng)用程序的調(diào)試運行。右鍵單擊 Explorer 窗口中的應(yīng)用程序項目,然后選擇Debug As > Launch on Hardware (Single Application Debug)。Vitis 會自動將整個窗口切換到 Debug 視圖,并在 main 函數(shù)的第一行設(shè)置斷點。

?
?
?
poYBAGNoeVqAAbs1AAFI5jHRD5o881.png
?
1 / 2
?

要將字符發(fā)送到 Zynqberry 的 UART 并看到它們回顯,需要將串行終端應(yīng)用程序連接到小板創(chuàng)建的串行端口。您可以使用任何您喜歡的串行終端,但在 Vitis 中有一個內(nèi)置終端,我喜歡使用它來保持簡單。如果它尚未在 Vitis 的 Debug 視圖的底部窗口中打開一個選項卡,您可以通過選擇Window > Show View打開它,然后搜索/選擇Vitis Serial Terminal

連接到波特率為 115200(標準 Zynq UART 波特)的串行終端。

poYBAGNoeV2AFlufAAHKw2MGvvU090.png
?

當您在串行終端中鍵入字符以進行處理時,單步執(zhí)行代碼 (F6) 或讓它運行 (F8)。

pYYBAGNoeWGAR-G9AAQJi4oSU8U074.png
?

正如您將看到的,每個字符都從接收緩沖區(qū)中提取并回顯。本項目教程用于演示為裸機嵌入式應(yīng)用程序創(chuàng)建 Vitis 項目的整個過程以及如何對其進行調(diào)試。由于將比特流永久閃存到 FPGA 上更依賴于每個特定的 FPGA 開發(fā)板,我將把它保存到另一個教程中。


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  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開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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官方下载| 百家乐官网怎么押钱| 七胜百家乐赌场娱乐网规则| 阿巴嘎旗| 百家乐扑克片礼服| 百家乐官网公试打法| 百家乐心得打法| 沙巴百家乐官网现金网| 百家乐有方式赢钱吗| 全椒县| 百家乐游戏打水| 海威百家乐官网赌博机| 百家百家乐官网网站| 大杀器百家乐官网学院| 百家乐21点| 百家乐官网现金网排名| 百家乐押注最高是多少| 壹贰博百家乐官网娱乐城| 大发888娱乐场 zb8| 做生意招财小窍门| 江阴市| 大发888捕鱼| 百家乐官网在线娱乐网| 久盛国际娱乐城| 建水县| 网上百家乐内| 做生意摆放的招财物件| 长乐坊百家乐官网娱乐城| 百家乐返点| ea百家乐官网系统| 莆田棋牌游戏下载| 玩百家乐有几种公式| 网上百家乐官网骗人的吗| 德州扑克网站| 三国百家乐娱乐城| 百家乐官网网站| 百家乐官网筹码桌布|