資料介紹
描述
繼續(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. 功耗
Zynq FPGA 比其純可編程邏輯同類產(chǎn)品(如 Artix 或 Kintex 芯片)消耗更多功率和成本。因此,使用 Zynq 而不直接在 ARM 內(nèi)核上運(yùn)行嵌入式應(yīng)用程序(就像我將在這個(gè)項(xiàng)目中做的那樣)或嵌入式 Linux 或 RTOS 等操作系統(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
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的文件夾:
創(chuàng)建vitis_??workspace目錄后,導(dǎo)航到該目錄并單擊“確定”。這將返回到 Vitis 啟動(dòng)屏幕,并確認(rèn)所選的工作區(qū)路徑。
點(diǎn)擊 Launch 后,Vitis 將加載到一個(gè)新的空白工作區(qū):
通過(guò)從空白工作區(qū)頁(yè)面中選擇創(chuàng)建平臺(tái)項(xiàng)目來(lái)創(chuàng)建一個(gè)新的平臺(tái)項(xiàng)目。
請(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)目...
為項(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)用程序模板。
我正在用 C 語(yǔ)言編寫這個(gè)應(yīng)用程序,我選擇了 Hello World 應(yīng)用程序模板。
現(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)。
編寫 C 代碼并保存文件后,通過(guò)在 Explorer 窗口中右鍵單擊應(yīng)用程序項(xiàng)目并選擇Build Project來(lái)構(gòu)建應(yīng)用程序項(xiàng)目。
使用 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即可。
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)。
要將字符發(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 波特)的串行終端。
當(dāng)您在串行終端中鍵入字符以進(jìn)行處理時(shí),單步執(zhí)行代碼 (F6) 或讓它運(yùn)行 (F8)。
正如您將看到的,每個(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è)教程中。
- 為ZynqberryZero生成嵌入式Linux映像
- 嵌入式Linux應(yīng)用程序開(kāi)發(fā)-(1)第一個(gè)嵌入式QT應(yīng)用程序
- 嵌入式Linux應(yīng)用程序例程
- 基于MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究總結(jié)
- 基于MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究簡(jiǎn)介
- 使用用于MCS-51的IAR嵌入式平臺(tái)編寫的一個(gè)示例程序程序免費(fèi)下載
- 基于嵌入式Linux應(yīng)用程序開(kāi)發(fā)詳解 12次下載
- 如何為應(yīng)用程序選擇嵌入式系統(tǒng) 0次下載
- 基于MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究 5次下載
- MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究 7次下載
- ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計(jì)工具-DLTools 4次下載
- ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計(jì)工具-字庫(kù) 10次下載
- 基于FPGA的原型系統(tǒng)的嵌入式應(yīng)用程序 21次下載
- 嵌入式系統(tǒng)應(yīng)用程序移植的研究
- 嵌入式Linux NFS方式下應(yīng)用程序的實(shí)現(xiàn)
- 嵌入式系統(tǒng)中的實(shí)時(shí)操作系統(tǒng) 264次閱讀
- 聊一聊嵌入式C語(yǔ)言 433次閱讀
- 用C語(yǔ)言構(gòu)建高效的嵌入式程序 499次閱讀
- 【從0開(kāi)始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到嵌入式Linux平臺(tái)運(yùn)行 520次閱讀
- 嵌入式程序基于源代碼仿真調(diào)試 906次閱讀
- 簡(jiǎn)化SBC的嵌入式Linux軟件開(kāi)發(fā) 998次閱讀
- 如何用AWTK和AWPLC快速開(kāi)發(fā)嵌入式應(yīng)用程序 1292次閱讀
- 基于嵌入式軟件的JNI技術(shù)應(yīng)用解析 1020次閱讀
- 基于μC/OS嵌入式操作系統(tǒng)的嵌入式數(shù)據(jù)管理設(shè)計(jì) 1179次閱讀
- 目前國(guó)內(nèi)在ARM CPU上廣泛采用的三種嵌入式操作系統(tǒng)淺析 3895次閱讀
- 教你如何編寫優(yōu)質(zhì)的嵌入式C程序? 8100次閱讀
- C語(yǔ)言里如何編寫精確的微量延時(shí) 1615次閱讀
- 嵌入式C通用延時(shí)驅(qū)動(dòng)的編寫方法 2188次閱讀
- 嵌入式C實(shí)現(xiàn)延時(shí)程序的不同變量的區(qū)別 幾種Linux嵌入式開(kāi)發(fā)環(huán)境的簡(jiǎn)單介紹 1566次閱讀
- 如何編寫ARM7的啟動(dòng)代碼(LPC2119為例) 2442次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多