資料介紹
描述
繼續介紹 ZynqberryZero FPGA 開發板,我認為使用在 ZynqberryZero 的 Zynq-7000 SoC 的 ARM 核心處理器上運行的簡單嵌入式 C 應用程序來跟進基本硬件設計是很重要的。
雖然可以將比特流閃存到包含在可編程邏輯中運行的純 HDL 設計的 ZynqberryZero 上,但我個人認為在任何配備 SoC (如 Zynq 或ZynqMP 系列芯片。
(就上下文而言,我在這里將 SoC 或片上系統定義為任何在其可編程邏輯中內置物理處理器的 FPGA。并且提到的所有特定部件/芯片系列都是 Xilinx,但一般概念適用于任何制造商。 )
除了為什么不使用它的明顯原因之外,還有幾個原因表明您應該在 Zynq 芯片中內置的物理 ARM 核心處理器上運行某些東西:
1.成本
2. 功耗

Zynq FPGA 比其純可編程邏輯同類產品(如 Artix 或 Kintex 芯片)消耗更多功率和成本。因此,使用 Zynq 而不直接在 ARM 內核上運行嵌入式應用程序(就像我將在這個項目中做的那樣)或嵌入式 Linux 或 RTOS 等操作系統真的沒有意義。
在我上一篇關于 ZynqberryZero 的項目文章中,我介紹了如何在 Vivado 中設置基礎硬件設計。對于那些不熟悉的人,Vitis 是 Vivado 的 Xilinx 芯片的合作伙伴 IDE,用于開發在 FPGA 硬件中的任何處理器上運行的軟件(無論是 Zynq 的物理 ARM 內核還是在MicroBlaze 等可編程邏輯)。這個 Vivado 項目和在該項目的最后步驟中導出的最終硬件包是我開始構建這個 Vitis 項目的基礎。有兩種啟動 Vitis 的方法:
1. 從 Vivado 中選擇工具>啟動 Vitis

2. 從 Ubuntu 的命令行:
~$ source //2019.2/settings64.sh
~$ vitis
Vitis 的啟動屏幕將詢問工作區目錄,因為這是一個新項目,單擊瀏覽然后導航到工作區所在的所需目錄。我個人喜歡使用 Vitis 項目的硬件設計所來自的 Vivado 項目的頂層文件夾,并在該目錄中創建一個名為vitis_??workspace的文件夾:

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

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

通過從空白工作區頁面中選擇創建平臺項目來創建一個新的平臺項目。

請注意,創建平臺項目時它已過期,因為它尚未編譯。在繼續從嵌入式 C 應用程序創建應用程序項目之前,使用Ctrl+B構建平臺項目。
編譯平臺項目后,通過單擊新建圖標并選擇應用程序項目來創建一個新的應用程序項目...

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

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

現在已經創建了應用程序項目,是時候真正開始編寫一些代碼了。我想做的不僅僅是通過 UART 串??行終端簡單地打印出“Hello World”,但不需要添加任何額外的硬件。所以我決定使用來自 UART 的簡單字符回顯。
我的嵌入式 C 應用程序首先為 Zynq 的內置 UART 設置控制寄存器,并通過將適當的位掩碼寫入控制寄存器來啟用 UART 的發送和接收緩沖區。
然后在看到 ASCII 字符進行轉義時退出的 while 循環中,輪詢控制寄存器位以查看接收緩沖區的 FIFO 中是否有任何內容。如果有,它會讀入該字符,將其復制到發送緩沖區,然后將其發送回 UART 串??行控制臺。

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

使用 Micro-USB 電纜將 ZynqberryZero 插入您的 PC。JTAG/UART USB 端口是最靠近板角的端口:
接下來,將比特流編程到 FPGA 上。再次,右鍵單擊 Explorer 窗口中的應用程序項目并選擇Program FPGA。由于我們從應用項目中選擇了 Program FPGA,因此彈出的窗口中的所有字段都會自動填充為適當的值,因此您只需單擊Program即可。

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

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

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

正如您將看到的,每個字符都從接收緩沖區中提取并回顯。本項目教程用于演示為裸機嵌入式應用程序創建 Vitis 項目的整個過程以及如何對其進行調試。由于將比特流永久閃存到 FPGA 上更依賴于每個特定的 FPGA 開發板,我將把它保存到另一個教程中。
- 為ZynqberryZero生成嵌入式Linux映像
- 嵌入式Linux應用程序開發-(1)第一個嵌入式QT應用程序
- 嵌入式Linux應用程序例程
- 基于MATLAB平臺的DSP嵌入式應用程序設計的研究總結
- 基于MATLAB平臺的DSP嵌入式應用程序設計的研究簡介
- 使用用于MCS-51的IAR嵌入式平臺編寫的一個示例程序程序免費下載
- 基于嵌入式Linux應用程序開發詳解 12次下載
- 如何為應用程序選擇嵌入式系統 0次下載
- 基于MATLAB平臺的DSP嵌入式應用程序設計的研究 5次下載
- MATLAB平臺的DSP嵌入式應用程序設計的研究 7次下載
- ARM嵌入式應用程序架構設計工具-DLTools 4次下載
- 基于FPGA的原型系統的嵌入式應用程序 21次下載
- 嵌入式系統應用程序移植的研究
- 嵌入式Linux NFS方式下應用程序的實現
- 嵌入式VTL中應用程序與內核通訊的設計
- 嵌入式系統中的實時操作系統 521次閱讀
- 聊一聊嵌入式C語言 569次閱讀
- 用C語言構建高效的嵌入式程序 647次閱讀
- 【從0開始創建AWTK應用程序】編譯應用到嵌入式Linux平臺運行 738次閱讀
- 嵌入式程序基于源代碼仿真調試 1315次閱讀
- 簡化SBC的嵌入式Linux軟件開發 1170次閱讀
- 如何用AWTK和AWPLC快速開發嵌入式應用程序 1421次閱讀
- 基于嵌入式軟件的JNI技術應用解析 1106次閱讀
- 基于μC/OS嵌入式操作系統的嵌入式數據管理設計 1241次閱讀
- 目前國內在ARM CPU上廣泛采用的三種嵌入式操作系統淺析 4021次閱讀
- 教你如何編寫優質的嵌入式C程序? 8221次閱讀
- C語言里如何編寫精確的微量延時 1686次閱讀
- 嵌入式C通用延時驅動的編寫方法 2273次閱讀
- 嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 1674次閱讀
- 如何編寫ARM7的啟動代碼(LPC2119為例) 2548次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網絡安全從業者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論