電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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 開(kāi)發(fā)板,我認(rèn)為使用在 ZynqberryZero 的 Zynq-7000 SoC 的 ARM 核心處理器上運(yùn)行的簡(jiǎn)單嵌入式 C 應(yīng)用程序來(lái)跟進(jìn)基本硬件設(shè)計(jì)是很重要的。

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

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

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

1.成本

2. 功耗

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

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

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

1. 從 Vivado 中選擇工具>啟動(dòng) Vitis

poYBAGNoeTKAY_QbAACXcnnrNQY746.png
?

2. 從 Ubuntu 的命令行:

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

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

poYBAGNoeTWAclf4AABemxYbjTg227.png
?

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

?
pYYBAGNoeTeAdavAAABB3nqaukA391.png
?
1 / 2
?

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

pYYBAGNoeTuANT0HAADdhLcs1zE992.png
?

通過(guò)從空白工作區(qū)頁(yè)面中選擇創(chuàng)建平臺(tái)項(xiàng)目來(lái)創(chuàng)建一個(gè)新的平臺(tái)項(xiàng)目。

?
?
?
pYYBAGNoeUCAKmdfAACLlSgwn0w320.png
?
1 / 4
?

請(qǐng)注意,創(chuàng)建平臺(tái)項(xiàng)目時(shí)它已過(guò)期,因?yàn)樗形淳幾g。在繼續(xù)從嵌入式 C 應(yīng)用程序創(chuàng)建應(yīng)用程序項(xiàng)目之前,使用Ctrl+B構(gòu)建平臺(tái)項(xiàng)目。

編譯平臺(tái)項(xiàng)目后,通過(guò)單擊新建圖標(biāo)并選擇應(yīng)用程序項(xiàng)目來(lái)創(chuàng)建一個(gè)新的應(yīng)用程序項(xiàng)目...

poYBAGNh-USAUfB6AACQhH8EVyI065.png
?

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

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

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

pYYBAGNoeUiAJ9XxAALwzwUb0Hw069.png
?

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

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

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

pYYBAGNoeU2Ab7i8AAEsm31x-xs504.png
?

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

poYBAGNoeVCANKqhAADhfMqBmxc413.png
?

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

接下來(lái),將比特流編程到 FPGA 上。再次,右鍵單擊 Explorer 窗口中的應(yīng)用程序項(xiàng)目并選擇Program FPGA。由于我們從應(yīng)用項(xiàng)目中選擇了 Program FPGA,因此彈出的窗口中的所有字段都會(huì)自動(dòng)填充為適當(dāng)?shù)闹?,因此您只需單?/font>Program即可。

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

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

?
?
?
poYBAGNoeVqAAbs1AAFI5jHRD5o881.png
?
1 / 2
?

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

連接到波特率為 115200(標(biāo)準(zhǔn) Zynq UART 波特)的串行終端。

poYBAGNoeV2AFlufAAHKw2MGvvU090.png
?

當(dāng)您在串行終端中鍵入字符以進(jìn)行處理時(shí),單步執(zhí)行代碼 (F6) 或讓它運(yùn)行 (F8)。

pYYBAGNoeWGAR-G9AAQJi4oSU8U074.png
?

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


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

評(píng)論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)