ZYNQ 純PL端邏輯資源程序固化流程

ZYNQ 純PL端邏輯資源程序固化

ZYNQ的程序固化流程比傳統的FPGA固化流程復雜很多,Vivado生成的bit文件無法直接固化在ZYNQ芯片中。因為ZYNQ 非易失性存儲器的引腳(如 SD 卡、QSPI Flash)是 ZYNQ PS 部分的專用引腳。這些非易失性存儲器由 PS 的 ARM 處理器進行驅動,因此需要將 bit 流文件和 elf 文件(軟件程序的下載文件)合成一個 BOOT.BIN,才能進行固化。

本文以按鍵控制LED亮滅的程序為例,將代碼固化至開發板上的QSPI FLASH中。

  • 硬件平臺:正點原子領航者 ATK-DF7020P
  • 軟件平臺:Vivado 2020.2
  1. 正常的開發流程將可綜合的RTL代碼編寫完成,確定代碼功能正確。本例中只有一個模塊。
    在這里插入圖片描述

  2. 點擊側邊欄PROJECT MANAGER-IP INTEGRATER-Create Block Design選項
    在這里插入圖片描述

  3. 在彈出的窗口中輸入合適的名稱,如system,隨后點擊OK
    在這里插入圖片描述

  4. 點擊Diagram窗口中的按鈕
    在這里插入圖片描述

  5. 在彈出的窗口中找到ZYNQ7 Processing System,回車選擇
    在這里插入圖片描述

  6. 雙擊出現的ZYNQ處理器模塊
    在這里插入圖片描述

  7. 由于純PL端的開發不涉及與ZYNQ處理器的通信,不需要使用到AXI總線,因此需要將總線接口關閉。
    在這里插入圖片描述

  8. 因為打開IP核界面,按下圖所示配置SPI FLASH外設。因為程序是固化在FLASH中的,因此,必須要對其進行配置。
    在這里插入圖片描述

  9. 然后配置DDR3。根據板載的DDR芯片選擇相應的型號,本例選擇的是MT41K256M16 RE-125
    在這里插入圖片描述

  10. 點擊OK結束配置

  11. 點擊Source,右鍵需要固化的模塊,選擇Add Module to Block Design,或者直接左鍵按住模塊名稱,拖入中間圖形化界面中。
    在這里插入圖片描述

  12. 點擊Run Connection Automation進行自動連線
    在這里插入圖片描述

  13. 在彈出的界面中,勾選需要自動連線的模塊,確認時鐘源為ZYNQ FCLK端口提供的50MHZ時鐘
    在這里插入圖片描述

  14. 完成后的界面如下
    在這里插入圖片描述

  15. 選擇需要引出的端口,右鍵端口選擇Make External選項
    在這里插入圖片描述

  16. 全部完成后,點擊Run Block Automation
    在這里插入圖片描述

  17. 彈出的窗口直接點擊OK
    在這里插入圖片描述

  18. 點擊紅框中的按鈕進行驗證,如果出現綠色框中的彈窗,說明驗證正確。如果出現錯誤請檢查連線。
    在這里插入圖片描述

  19. 右鍵Sources中的Design Block文件,選擇Generate Output Products選項
    在這里插入圖片描述

  20. 直接點擊generate
    在這里插入圖片描述

  21. 完成后,右鍵Sources中的Design Block文件,選擇Create HDL Wrapper選項
    在這里插入圖片描述

  22. 保持默認,點擊OK
    在這里插入圖片描述

  23. 出現頂層文件后,按常規操作進行引腳分配
    在這里插入圖片描述

  24. 分配完成后,關閉Elaborated Design界面,按常規流程生成bit文件。隨后點擊File-Export-Export Hardware選項
    在這里插入圖片描述

  25. 選擇Include bitstream選項
    在這里插入圖片描述

  26. 選擇合適的導出位置和導出的文件名,默認也可。點擊Finish結束
    在這里插入圖片描述

  27. 之后打開Vitis。選擇合適的文件夾,新建應用程序
    在這里插入圖片描述

  28. 點擊Create a new platform from hardware,找到剛才導出的文件
    在這里插入圖片描述

  29. 為工程命名,本例為FSBL
    在這里插入圖片描述

  30. 保持默認
    在這里插入圖片描述

  31. 選擇Zynq FSBL模板
    在這里插入圖片描述

  32. 直接右鍵應用工程名,點擊Bulid Project
    在這里插入圖片描述

  33. 左鍵單擊系統工程名后,點擊Xilinx-Create Boot Image
    在這里插入圖片描述

  34. 會彈出以下窗口,檢查無誤后,點擊Create Image。如果沒有自動填充文件,則說明沒有點擊系統工程名。如果顯示找不到elf文件,說明沒有編譯,需要先Bulid Project
    在這里插入圖片描述

  35. 生成成功后,點擊Xilinx-Program Flash
    在這里插入圖片描述

  36. 將JTAG和電路板相連,確保ZYNQ芯片啟動模式處于JTAG模式。電路板上電后,點擊Program。藍色框中的選項,可選可不選。
    在這里插入圖片描述

  37. 寫入完成后,電路板斷電,斷開JTAG,將ZYNQ啟動模式調整為QSPI模式后,重新上電就能看到固化成功后的效果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78990.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78990.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78990.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[計算機科學#6]:從鎖存器到內存,計算機存儲的構建與原理

【核知坊】:釋放青春想象,碼動全新視野。 我們希望使用精簡的信息傳達知識的骨架,啟發創造者開啟創造之路!!! 內容摘要:在上一篇文章中,我們深入了解了計算機如…

如何刪除Google Chrome中的所有歷史記錄【一鍵清除】

谷歌瀏覽器記錄了用戶訪問過的網站。這方便了查找,但有時也需要清理。刪除所有歷史記錄很簡單,只要按照以下步驟操作。 1. 打開谷歌瀏覽器 首先要啟動谷歌瀏覽器。點擊右上角的三個點,進入主菜單。 2. 進入歷史記錄界面 在菜單中找到“歷史…

關于瀏覽器對于HTML實體編碼,urlencode,Unicode解析

目錄 HTML實體編碼 URL編碼 Unicode編碼 解析層次邏輯 為什么<script></script>不可以編碼符號 為什么不能編碼JavaScript:協議 為什么RCDATA標簽中的都會被解析成文本 為什么HTML編碼了<>無法執行 HTML實體編碼 通過特殊語法&#xff08;<、>…

【數據分享】2020年中國高精度森林覆蓋數據集(免費獲取)

森林作為全球陸地生態系統的主體&#xff0c;分布面積廣、結構復雜&#xff0c;承擔著調節氣候、維護生態安全、改善環境等方面的重要作用。我國的森林資源豐富&#xff0c;據《中國森林資源報告&#xff1a;2014—2018》統計&#xff0c;我國森林覆蓋率已經達到23.04%。森林覆…

C語言學習之動態內存的管理

學完前面的C語言內容后&#xff0c;我們之前給內存開辟空間的方式是這樣的。 int val20; char arr[10]{0}; 我們發現這個方式有兩個弊端&#xff1a;空間是固定的&#xff1b;同時在聲明的時候必須指定數組的長度&#xff0c;一旦確定了大小就不能調整的。 而實際應用的過程中…

【深度學習-Day 2】圖解線性代數:從標量到張量,理解深度學習的數據表示與運算

Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

首頁數據展示

排版 現在做首頁的排版&#xff0c;依舊是偷antd里面的東西 使用card包裹list的樣式 import React from react import axios import { Card, Col, Row, List } from antd import { EditOutlined, EllipsisOutlined, SettingOutlined } from ant-design/icons; import { Avat…

使用Set和Map解題思路

前言 Set和Map這兩種數據結構,在解決一些題上&#xff0c;效率很高。跟大家簡單分享一些題以及如何使用Set和Map去解決這些題目。 題目鏈接 136. 只出現一次的數字 - 力扣&#xff08;LeetCode&#xff09; 138. 隨機鏈表的復制 - 力扣&#xff08;LeetCode&#xff09; 舊…

嘗試leaflet+webassemly

前言 筆者在github發現rust版本的leaflet&#xff0c;發現是用wasm-bindgen包裝的&#xff0c;嘗試使用一下 Issues slowtec/leaflet-rshttps://github.com/slowtec/leaflet-rs 正文 準備 新建一個react項目&#xff0c;安裝rsw依賴 pnpm i -D vite-plugin-rsw cargo ins…

機器學習實戰,天貓雙十一銷量與中國人壽保費預測,使用多項式回歸,梯度下降,EDA數據探索,彈性網絡等技術

前言 很多同學學機器學習時總感覺&#xff1a;“公式推導我會&#xff0c;代碼也能看懂&#xff0c;但自己從頭做項目就懵”。 這次我們選了兩個小數據集&#xff0c;降低復雜度&#xff0c;帶大家從頭開始進行分析&#xff0c;建模&#xff0c;預測&#xff0c;可視化等&…

SQL數據庫系統全解析:從入門到實踐

一、數據庫世界入門指南 在數字時代&#xff0c;數據就像新時代的石油&#xff0c;而數據庫系統就是儲存和管理這些寶貴資源的倉庫。對于初學者來說&#xff0c;理解數據庫的基本概念是邁入這個領域的第一步。 數據庫本質上是一個有組織的數據集合&#xff0c;它允許我們高效…

【大模型】圖像生成:StyleGAN3:生成對抗網絡的革命性進化

深度解析StyleGAN3&#xff1a;生成對抗網絡的革命性進化 技術演進與架構創新代際技術對比StyleGAN3架構解析 環境配置與快速入門硬件要求安裝步驟預訓練模型下載 實戰全流程解析1. 圖像生成示例2. 自定義數據集訓練3. 潛在空間操作 核心技術深度解析1. 連續信號建模2. 傅里葉特…

PHP-Cookie

Cookie 是什么&#xff1f; cookie 常用于識別用戶。cookie 是一種服務器留在用戶計算機上的小文件。每當同一臺計算機通過瀏覽器請求頁面時&#xff0c;這臺計算機將會發送 cookie。通過 PHP&#xff0c;您能夠創建并取回 cookie 的值。 設置Cookie 在PHP中&#xff0c;你可…

“Everything“工具 是 Windows 上文件名搜索引擎神奇

01 Everything 和其他搜索引擎有何不同 輕量安裝文件。 干凈簡潔的用戶界面。 快速文件索引。 快速搜索。 快速啟動。 最小資源使用。 輕量數據庫。 實時更新。 官網&#xff1a;https://www.voidtools.com/zh-cn/downloads/ 通過網盤分享的文件&#xff1a;Every…

CSS:選擇器-基本選擇器

文章目錄 1、通配選擇器2、元素選擇器3、類選擇器4、ID選擇器 1、通配選擇器 2、元素選擇器 3、類選擇器 4、ID選擇器

一種動態分配內存錯誤的解決辦法

1、項目背景 一款2年前開發的無線網絡通信軟件在最近的使用過程中出現網絡中傳感器離線的問題&#xff0c;此軟件之前已經使用的幾年了&#xff0c;基本功能還算穩定。這次為什么出了問題。 先派工程師去現場調試一下&#xff0c;初步的結果是網絡信號弱&#xff0c;并且有個別…

React 第三十四節 Router 開發中 useLocation Hook 的用法以及案例詳解

一、useLocation基礎用法 作用&#xff1a;獲取當前路由的 location 對象 返回對象結構&#xff1a; {pathname: "/about", // 當前路徑search: "?namejohn", // 查詢參數&#xff08;URL參數&#xff09;hash: "#contact", …

DeepSeek-Prover-V2-671B最新體驗地址:Prover版僅適合解決專業數學證明問題

DeepSeek-Prover-V2-671B最新體驗地址&#xff1a;Prover版僅適合解決專業數學證明問題 DeepSeek 團隊于 2025 年 4 月 30 日正式在Hugging Face開源了其重量級新作 —— DeepSeek-Prover-V2-671B&#xff0c;這是一款專為解決數學定理證明和形式化推理任務而設計的超大規模語…

tornado_登錄頁面(案例)

目錄 1.基礎知識?編輯 2.腳手架&#xff08;模版&#xff09; 3.登錄流程圖&#xff08;processon&#xff09; 4.登錄表單 4.1后&#xff08;返回值&#xff09;任何值&#xff1a;username/password &#xff08;4.1.1&#xff09;app.py &#xff08;4.1.2&#xff…

Android學習總結之自定義view設計模式理解

面試題 1&#xff1a;請舉例說明自定義 View 中模板方法模式的應用 考點分析 此問題主要考查對模板方法模式的理解&#xff0c;以及該模式在 Android 自定義 View 生命周期方法里的實際運用。 回答內容 模板方法模式定義了一個操作的算法骨架&#xff0c;把一些步驟的實現延…