資料介紹
描述
繼續(xù)介紹 ZynqberryZero FPGA 開發(fā)板,我認為使用在 ZynqberryZero 的 Zynq-7000 SoC 的 ARM 核心處理器上運行的簡單嵌入式 C 應用程序來跟進基本硬件設(shè)計是很重要的。
雖然可以將比特流閃存到包含在可編程邏輯中運行的純 HDL 設(shè)計的 ZynqberryZero 上,但我個人認為在任何配備 SoC (如 Zynq 或ZynqMP 系列芯片。
(就上下文而言,我在這里將 SoC 或片上系統(tǒng)定義為任何在其可編程邏輯中內(nèi)置物理處理器的 FPGA。并且提到的所有特定部件/芯片系列都是 Xilinx,但一般概念適用于任何制造商。 )
除了為什么不使用它的明顯原因之外,還有幾個原因表明您應該在 Zynq 芯片中內(nèi)置的物理 ARM 核心處理器上運行某些東西:
1.成本
2. 功耗
Zynq FPGA 比其純可編程邏輯同類產(chǎn)品(如 Artix 或 Kintex 芯片)消耗更多功率和成本。因此,使用 Zynq 而不直接在 ARM 內(nèi)核上運行嵌入式應用程序(就像我將在這個項目中做的那樣)或嵌入式 Linux 或 RTOS 等操作系統(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
2. 從 Ubuntu 的命令行:
~$ source //2019.2/settings64.sh
~$ vitis
Vitis 的啟動屏幕將詢問工作區(qū)目錄,因為這是一個新項目,單擊瀏覽然后導航到工作區(qū)所在的所需目錄。我個人喜歡使用 Vitis 項目的硬件設(shè)計所來自的 Vivado 項目的頂層文件夾,并在該目錄中創(chuàng)建一個名為vitis_??workspace的文件夾:
創(chuàng)建vitis_??workspace目錄后,導航到該目錄并單擊“確定”。這將返回到 Vitis 啟動屏幕,并確認所選的工作區(qū)路徑。
點擊 Launch 后,Vitis 將加載到一個新的空白工作區(qū):
通過從空白工作區(qū)頁面中選擇創(chuàng)建平臺項目來創(chuàng)建一個新的平臺項目。
請注意,創(chuàng)建平臺項目時它已過期,因為它尚未編譯。在繼續(xù)從嵌入式 C 應用程序創(chuàng)建應用程序項目之前,使用Ctrl+B構(gòu)建平臺項目。
編譯平臺項目后,通過單擊新建圖標并選擇應用程序項目來創(chuàng)建一個新的應用程序項目...
為項目指定所需的名稱并保留默認選項以使用它創(chuàng)建新的系統(tǒng)項目。當您單擊應用程序項目的設(shè)置窗口時,請務必選擇由前面步驟中完成的平臺項目創(chuàng)建的自定義平臺、運行應用程序的 ARM 中的目標處理器內(nèi)核、所需的編程語言以及適當?shù)膽贸绦蚰0濉?/font>
我正在用 C 語言編寫這個應用程序,我選擇了 Hello World 應用程序模板。
現(xiàn)在已經(jīng)創(chuàng)建了應用程序項目,是時候真正開始編寫一些代碼了。我想做的不僅僅是通過 UART 串??行終端簡單地打印出“Hello World”,但不需要添加任何額外的硬件。所以我決定使用來自 UART 的簡單字符回顯。
我的嵌入式 C 應用程序首先為 Zynq 的內(nèi)置 UART 設(shè)置控制寄存器,并通過將適當?shù)奈谎诖a寫入控制寄存器來啟用 UART 的發(fā)送和接收緩沖區(qū)。
然后在看到 ASCII 字符進行轉(zhuǎn)義時退出的 while 循環(huán)中,輪詢控制寄存器位以查看接收緩沖區(qū)的 FIFO 中是否有任何內(nèi)容。如果有,它會讀入該字符,將其復制到發(fā)送緩沖區(qū),然后將其發(fā)送回 UART 串??行控制臺。
編寫 C 代碼并保存文件后,通過在 Explorer 窗口中右鍵單擊應用程序項目并選擇Build Project來構(gòu)建應用程序項目。
使用 Micro-USB 電纜將 ZynqberryZero 插入您的 PC。JTAG/UART USB 端口是最靠近板角的端口:
接下來,將比特流編程到 FPGA 上。再次,右鍵單擊 Explorer 窗口中的應用程序項目并選擇Program FPGA。由于我們從應用項目中選擇了 Program FPGA,因此彈出的窗口中的所有字段都會自動填充為適當?shù)闹担虼四恍鑶螕?/font>Program即可。
FPGA 成功編程后,啟動應用程序的調(diào)試運行。右鍵單擊 Explorer 窗口中的應用程序項目,然后選擇Debug As > Launch on Hardware (Single Application Debug)。Vitis 會自動將整個窗口切換到 Debug 視圖,并在 main 函數(shù)的第一行設(shè)置斷點。
要將字符發(fā)送到 Zynqberry 的 UART 并看到它們回顯,需要將串行終端應用程序連接到小板創(chuàng)建的串行端口。您可以使用任何您喜歡的串行終端,但在 Vitis 中有一個內(nèi)置終端,我喜歡使用它來保持簡單。如果它尚未在 Vitis 的 Debug 視圖的底部窗口中打開一個選項卡,您可以通過選擇Window > Show View打開它,然后搜索/選擇Vitis Serial Terminal。
連接到波特率為 115200(標準 Zynq UART 波特)的串行終端。
當您在串行終端中鍵入字符以進行處理時,單步執(zhí)行代碼 (F6) 或讓它運行 (F8)。
正如您將看到的,每個字符都從接收緩沖區(qū)中提取并回顯。本項目教程用于演示為裸機嵌入式應用程序創(chuàng)建 Vitis 項目的整個過程以及如何對其進行調(diào)試。由于將比特流永久閃存到 FPGA 上更依賴于每個特定的 FPGA 開發(fā)板,我將把它保存到另一個教程中。
- 為ZynqberryZero生成嵌入式Linux映像
- 嵌入式Linux應用程序開發(fā)-(1)第一個嵌入式QT應用程序
- 嵌入式Linux應用程序例程
- 基于MATLAB平臺的DSP嵌入式應用程序設(shè)計的研究總結(jié)
- 基于MATLAB平臺的DSP嵌入式應用程序設(shè)計的研究簡介
- 使用用于MCS-51的IAR嵌入式平臺編寫的一個示例程序程序免費下載
- 基于嵌入式Linux應用程序開發(fā)詳解 12次下載
- 如何為應用程序選擇嵌入式系統(tǒng) 0次下載
- 基于MATLAB平臺的DSP嵌入式應用程序設(shè)計的研究 5次下載
- MATLAB平臺的DSP嵌入式應用程序設(shè)計的研究 7次下載
- ARM嵌入式應用程序架構(gòu)設(shè)計工具-DLTools 4次下載
- ARM嵌入式應用程序架構(gòu)設(shè)計工具-字庫 10次下載
- 基于FPGA的原型系統(tǒng)的嵌入式應用程序 21次下載
- 嵌入式系統(tǒng)應用程序移植的研究
- 嵌入式Linux NFS方式下應用程序的實現(xiàn)
- 嵌入式系統(tǒng)中的實時操作系統(tǒng) 264次閱讀
- 聊一聊嵌入式C語言 433次閱讀
- 用C語言構(gòu)建高效的嵌入式程序 499次閱讀
- 【從0開始創(chuàng)建AWTK應用程序】編譯應用到嵌入式Linux平臺運行 520次閱讀
- 嵌入式程序基于源代碼仿真調(diào)試 906次閱讀
- 簡化SBC的嵌入式Linux軟件開發(fā) 998次閱讀
- 如何用AWTK和AWPLC快速開發(fā)嵌入式應用程序 1292次閱讀
- 基于嵌入式軟件的JNI技術(shù)應用解析 1020次閱讀
- 基于μC/OS嵌入式操作系統(tǒng)的嵌入式數(shù)據(jù)管理設(shè)計 1179次閱讀
- 目前國內(nèi)在ARM CPU上廣泛采用的三種嵌入式操作系統(tǒng)淺析 3895次閱讀
- 教你如何編寫優(yōu)質(zhì)的嵌入式C程序? 8100次閱讀
- C語言里如何編寫精確的微量延時 1615次閱讀
- 嵌入式C通用延時驅(qū)動的編寫方法 2188次閱讀
- 嵌入式C實現(xiàn)延時程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 1566次閱讀
- 如何編寫ARM7的啟動代碼(LPC2119為例) 2442次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多