衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用PCIE更新AMD ZYNQ的QSPI Flash參考設計

XILINX開發者社區 ? 來源:XILINX開發者社區 ? 2023-11-17 10:02 ? 次閱讀

本文作者:AMD 工程師Gao Jackie

簡介

AMD ZYNQ 7000 的 S_AXI 端口提供了外設訪問 PS 內部外設控制器接口,這其中包括 4 個 S_AXI_HP 端口以及兩個 S_AXI_GP 端口。一般來說,可以訪問的內部資源包括 DDR 控制器,QSPI 控制器,OCM,IIC,SPI 等。

教程提供一個最小的參考設計,使上位機可以通過 PCIE 端口,通過 S_AXI_GP0 端口訪問 ZYNQ 內部的 QSPI 控制器,用來更新 Flash 的啟動分區。

軟件方面,移植了 Embedded SW的相關驅動代碼至 xdma 平臺,并提供了一個簡單的上位機測試程序,用來燒寫啟動鏡像至 Flash 分區。

教程中所有涉及的設計及代碼均在 Windows 和 Linux(Ubuntu20.04)平臺下作了驗證。

系統設計

1. 系統設計框圖參考如下。在設計實例化了一個 XDMA IP,通過其 M_AXI 端口連接至 ZYNQ 的 S_AXI_GP0,以訪問 PS QSPI 控制器。

036c1be4-847b-11ee-939d-92fbcf53809c.png

2. BD 中需要分配 XDMA 的 M_AXI 地址如下,可以用 AMD Vivado 的自動地址分配工具完成。

037f9f0c-847b-11ee-939d-92fbcf53809c.png

3. 如果有訪問其它外設的需求,詳細的地址可以參考 UG585 的 Table 4‐1: System-Level Address Map。

UG585:https://docs.xilinx.com/r/en-US/ug585-zynq-7000-SoC-TRM

環境需求

硬件環境:

ZC706 開發板

Windows10/11 或者 Ubuntu20.04 主機

軟件環境:

Vivado Design Suite 2022.2

Petalinux 2022.2

CMake > 2.15

Windows + Visual Studio 或者 Linux + GCC

代碼結構

硬件:

HW 文件夾里面里面包含 Vivado 工程,直接用 Vivado 2022.2 打開。

固件:

此參考設計用 petalinux 制作系統啟動鏡像,完整的 petalinux 工程位于 fw 目錄下。

執行 petalinux-build 可以編譯。

執行 petalinux-package –boot –u-boot –force –fpga XXX.bit 生成 BOOT.BIN 文件。

軟件:

qspi的驅動軟件移植自 Embedded SW,主要的改動包括修改 xil_io.c 文件,用 xdma 的驅動替換默認的 Xil_In32 和 Xil_Out32 的實現。

軟件支持 Windows 和 Linux 的主機,采用 cmake 環境。如果在 Windows 下,可以選擇 Visual Studio 作為編譯工具。編譯過程如下:

1.cdsw
2.mkdir build
3.cmake .. && make

測試結果

在 petalinux 下生成的 BOOT.BIN 文件放在生成的上位機軟件目錄下,執行后可以看到更新 FLASH 的進度條在變化,說明 FLASH 被正常少燒寫。

完成后切換到 QSPI FLASH 啟動模式,上電觀察啟動過程。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • amd
    amd
    +關注

    關注

    25

    文章

    5496

    瀏覽量

    134632
  • 控制器
    +關注

    關注

    112

    文章

    16445

    瀏覽量

    179444
  • FlaSh
    +關注

    關注

    10

    文章

    1642

    瀏覽量

    148663
  • 上位機
    +關注

    關注

    27

    文章

    945

    瀏覽量

    55003
  • Zynq
    +關注

    關注

    10

    文章

    610

    瀏覽量

    47295

原文標題:開發者分享|使用 PCIE 更新 AMD ZYNQ? 的 QSPI Flash 參考設計

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    編譯可在QSPI Flash上運行的程序

    在前文中已經實現了一個能夠在 MDK 平臺進行下載代碼到 QSPI Flash 中的下載算法,以及一個能跳轉執行應用程序的 2nd Bootloader,但若想將代碼下載到 QSPI Flas
    的頭像 發表于 03-31 09:50 ?3282次閱讀
    編譯可在<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>上運行的程序

    使用Zynq設備和Tandem配置的PCIe BOOTUP時間有什么要求?

    嗨,PCIe-Spec定義在穩定供電后100ms,PCIe設備必須為鏈路訓練做好準備。使用7系列Zynq設備無法達到此時間。我使用了兩種方法來減少啟動時間: - 優化FSBL以達到SPI控制器的最大
    發表于 06-09 16:42

    Zynq無法設置為從QSPI閃存啟動怎么解決?

    為了確保正確回退到金啟動,AR#67221規定QSPI閃存的D2和D3數據條應連接到4K7上拉。但是看看Zynq xc7z030fbg676,這些引腳也可用作配置模式引腳。QSPI D2 =模式引腳
    發表于 06-09 17:24

    【正點原子FPGA連載】第三十六章基于TCP協議的遠程更新QSPI Flash實驗-領航者 ZYNQ 之嵌入式開發

    原子公眾號,獲取最新資料第三十六章基于TCP協議的遠程更新QSPI Flash實驗在《程序固化實驗》中,我們了解了如何通過SDK軟件將BOOT.bin文件固化到QSPI中,這種現場通過
    發表于 09-08 11:08

    【正點原子FPGA連載】第三十七章基于UDP協議的遠程更新QSPI Flash實驗-領航者 ZYNQ 之嵌入式開發

    原子公眾號,獲取最新資料第三十七章基于UDP協議的遠程更新QSPI Flash實驗上一實驗我們利用TCP協議實現了遠程更新QSPI。為了滿足
    發表于 09-08 11:10

    什么是QSPI?如何使用QSPIQSPI Flash進行通信呢?

    吧,直接 16 根數據信號線,速度自然變得更快了,但使用 SPI FLash,不就是圖一個線少嘛。  為了方便描述,我們將使用 QSPI 接口連接的 SPI Flash 稱之為 QSPI
    發表于 03-17 15:17

    Zynq PCIe電路設計

    ZYNQ7045的PCIE電路設計,板卡使用插針式連接器,引出了PCIE信號,未使用金手指。為了插入機箱設計了擴展版,插座與插針對應,帶有PCIE金手指。目前遇到的問題是,當板卡連接擴
    發表于 05-16 11:07

    LS1046A上的QSPI Flash不可擦除怎么處理?

    在我定制的LS1046A板上,我們只使用了一個QSPI Flash S25FS512SDSMFI011,通過QSPI_A_CS0/QSPI_A_SCK/
    發表于 05-18 07:56

    使用 PCIE 更新 AMD ZYNQ? 的 QSPI Flash 參考設計

    的內部資源包括 DDR 控制器,QSPI 控制器,OCM,IIC,SPI 等。 本教程提供一個最小的參考設計,使上位機可以通過 PCIE 端口,通過 S_AXI_GP0 端口訪問 ZYNQ 內部
    發表于 11-30 18:49

    GD32-Colibri-F207實驗板QSPI_FLASH

    GD32-Colibri-F207實驗板QSPI_FLASH,很好的GD32資料,快來學習吧。
    發表于 04-21 16:35 ?26次下載

    AMD宣布即將推出AGESA 1.2.0.0 BIOS更新

    AMD 宣布下個月推出 AGESA 1.2.0.0 BIOS 更新:支持 PCIe Resizable BAR ,修復銳龍 5000 兼容問題 大約一周前,微星正式宣布在其主板上支持 RTX
    的頭像 發表于 01-22 16:50 ?6609次閱讀

    如何使用QSPI Flash控制器開發板上的 QSPI Flash進行寫讀操作

    學習內容 本文首先介紹FlashQSPI Flash控制器的相關內容,然后使用 QSPI Flash 控制器,開發板上的
    的頭像 發表于 06-10 17:08 ?1.4w次閱讀
    如何使用<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>控制器開發板上的 <b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>進行寫讀操作

    通過KEIL制作QSPI接口的外部Flash下載算法

    電子發燒友網站提供《通過KEIL制作QSPI接口的外部Flash下載算法.pdf》資料免費下載
    發表于 09-19 16:26 ?7次下載
    通過KEIL制作<b class='flag-5'>QSPI</b>接口的外部<b class='flag-5'>Flash</b>下載算法

    Zynq中程序存儲位置和設置方法

    Zynq中存儲程序的地方有QSPI Flash,SD卡,EMMC。
    的頭像 發表于 10-17 17:00 ?2067次閱讀

    在mmWave SDK增加QSPI Flash驅動的示例

    電子發燒友網站提供《在mmWave SDK增加QSPI Flash驅動的示例.pdf》資料免費下載
    發表于 09-11 14:20 ?0次下載
    在mmWave SDK增加<b class='flag-5'>QSPI</b> <b class='flag-5'>Flash</b>驅動的示例
    E乐博百家乐娱乐城| 凯旋门百家乐现金网| 百家乐翻天快播| 百家乐翻天粤语版| 网络百家乐投注| 大发888游戏攻略| 八大胜百家乐官网现金网| 如何玩百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城会员开户| 德州扑克 梭哈| 百家乐官网黑牌靴| 百家乐官网官网网址| 百家乐技真人荷官| 大发888备用| 百家乐官网注册开户| 做生意风水摆件| 大发888游戏代充值100| 网上百家乐官网骗人的| 七乐百家乐现金网| 德州扑克大小顺序| 百家乐官网三路法| 伟易博百家乐娱乐城| 去澳门赌博| 百家乐官网凯时娱乐网| 菲律宾百家乐赌场娱乐网规则| 慈溪市| 利高百家乐娱乐城| 鸿博娱乐城| 斗首24山择日天机择日| 大发888官方中文网址| 百家乐官网路单打法| OG百家乐官网大转轮| 新2百家乐现金网百家乐现金网| 澳门金沙官网| 德晋百家乐官网的玩法技巧和规则 | 百家乐投注平台信誉排名| 真人娱乐城开户送钱| 百家乐官网筹码14克| 财神娱乐城打不开| 24山分别指什么| 王牌国际|