在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

在Vitis中通過PSU DDR執(zhí)行MicroBlaze應用

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 2023-06-21 09:39 ? 次閱讀

MicroBlaze CPU 是可修改的拖入式預設 32 位/64 位 RISC 微處理器配置系列。

MicroBlaze 處理器能滿足眾多多樣化的應用程序的不同需求,惠及工業(yè)、醫(yī)療、汽車、消費品和通信市場。MicroBlaze 使用哈佛 (Harvard) 架構,此架構的 PL 內通常包含雙 LMB BRAM。但在本篇博文中,我們將探討如何在 Zynq UltraScale ZCU104 開發(fā)板上通過 PSU DDR 執(zhí)行 MicroBlaze 應用。

退出復位時,MicroBlaze 將從 MicroBlaze 配置中的 C_BASE_VECTORS 參數內指定的存儲器地址提取其指令。在本例中,此 C_BASE_VECTORS 將設置為 PSU DDR 內的某個區(qū)域。

但根據采用的啟動流程,這樣可能導致潛在問題,即 PSU DDR 可能無法先于 PL 完成配置。這可能導致 MicroBlaze 掛起。為避免此現象,我們可以使用 MicroBlaze 上的“Reset Mode”(復位模式)信號

1412a14e-0f63-11ee-962d-dac502259ad0.png

在上表中,可以看到各種 reset_mode 配置。最適合我們的用例的配置為“01”,其中 MicroBlaze 將保持處于復位狀態(tài),直至我們準備就緒為止。我們將在 PSU 上通過 EMIO 來使用 GPIO 對 MicroBlaze 進行解復位。

創(chuàng)建硬件:

Vivado IP integrator 塊設計如下所示:

145174fa-0f63-11ee-962d-dac502259ad0.png

用戶可以根據自己認為合適的方式來自定義設計。

關鍵組件配置如下所述。

MicroBlaze 配置:

在 Vivado IP integrator 中使用“Block Automation”(塊自動化設置)工具來對 MicroBlaze 進行初始配置,如下所示。此處移除了本地存儲器,改為使用 64K 高速緩存:

1478265e-0f63-11ee-962d-dac502259ad0.png

要啟用 reset_mode 和 wakeup 管腳,用戶需在 MicroBlaze 配置中選中“Enable Discrete Ports”以啟用離散端口

14a24de4-0f63-11ee-962d-dac502259ad0.png

在 Zynq UltraScale PS 配置中,啟用兩個從端口;一個用于存儲器,另一個用于外設:

14c8d8c4-0f63-11ee-962d-dac502259ad0.png

通過 EMIO 啟用 GPIO,這樣就可以控制 MicroBlaze 的 wakeup 管腳:

14f8d74a-0f63-11ee-962d-dac502259ad0.png

我們還可訪問已從 MicroBlaze 啟用的所有 Zynq UltraScale IP。為此,請啟用“Address Fragmentation”(地址分段):

152aa040-0f63-11ee-962d-dac502259ad0.png

在上文中我們討論了復位模式。接下來,MicroBlaze 將保持復位狀態(tài),直至我們準備就緒為止。

要使 MicroBlaze 保持復位,可以使用 IP 目錄中的“Constant IP”:

1543be90-0f63-11ee-962d-dac502259ad0.png

最后,連接 GPIO 和 Constant IP:

156681fa-0f63-11ee-962d-dac502259ad0.png

MicroBlaze 地址映射如下所示:

159a5a5c-0f63-11ee-962d-dac502259ad0.png

用戶可以右鍵單擊地址段,在地址映射中添加或排除地址段。

此操作適用于硬件配置。我們可以使用“Generate the Output Products”(生成輸出文件)、“Create the HDL wrapper”(創(chuàng)建 HDL 封裝文件)和“Generate the Bitstream”(生成比特流),然后導出硬件。

這將生成 XSA 以供在 Vitis 中用于生成我們的軟件。

創(chuàng)建軟件:

Vitis IDE 可用于生成 MicroBlaze 應用。Vitis 還將自動創(chuàng)建啟動鏡像,包括 FSBL 和 PMUFW。

但由于我們想要從 FSBL 控制 GPIO EMIO,因此我們選擇不使用工具來生成啟動鏡像。

15a6f41a-0f63-11ee-962d-dac502259ad0.png

生成 MicroBlaze Hello World 應用:

15cc5bb0-0f63-11ee-962d-dac502259ad0.png

15fc27c8-0f63-11ee-962d-dac502259ad0.png

我們可以添加新工程應用,如下所示。例如,對于 Zynq FSBL:

16135362-0f63-11ee-962d-dac502259ad0.png

163bfede-0f63-11ee-962d-dac502259ad0.png

注釋:FSBL 不支持 64 位到 32 位交接。因此,由于 MicroBlaze 為 32 位,我們也應將 FSBL 設置為 32 位。

16842ff6-0f63-11ee-962d-dac502259ad0.png

16971b5c-0f63-11ee-962d-dac502259ad0.png

針對 PMUFW 重復上述操作:

16c6ba4c-0f63-11ee-962d-dac502259ad0.png

16eabad2-0f63-11ee-962d-dac502259ad0.png

可看到所有應用工程如下所示:

16fde09e-0f63-11ee-962d-dac502259ad0.png

由于我們已將 PS UART 添加到 MicroBlaze 地址映射中,因此可在 BSP 中將其用于 STDIN/OUT。

1729e64e-0f63-11ee-962d-dac502259ad0.png

1766d3a6-0f63-11ee-962d-dac502259ad0.png

此處可以看到 MicroBlaze Hello World 連接器

177cc01c-0f63-11ee-962d-dac502259ad0.png

其布局位置為 DDR 基址 (0x00000000) 處。用戶創(chuàng)建啟動鏡像時,需牢記此地址,以免應用程序發(fā)生重疊。

通過 SD 卡進行編程

首先,更新 FSBL。

我們可以使用 Xil_Out32 API 來切換 GPIO。

將 xil_io 頭文件添加到 xfsbl_handoff.c 文件:

17a22474-0f63-11ee-962d-dac502259ad0.png

將此添加到 XFsbl_HandoffExit 函數

17c41b42-0f63-11ee-962d-dac502259ad0.png

同時啟用 FSBL 調試信息

17df4e26-0f63-11ee-962d-dac502259ad0.png

創(chuàng)建啟動鏡像:

180f8ea6-0f63-11ee-962d-dac502259ad0.png

移除 FSBL 和 PMUFW,并使用正確的鏡像類型重新添加。

請確保分區(qū)鏡像順序正確(使用上下控件來調整其順序)。

18417a74-0f63-11ee-962d-dac502259ad0.png

185667d6-0f63-11ee-962d-dac502259ad0.png

注釋:由于此處共享相同 UART,用戶可以在 Hello World 應用中布局延遲。

通過 JTAG 進行編程:

188467e4-0f63-11ee-962d-dac502259ad0.png

18af2024-0f63-11ee-962d-dac502259ad0.png

這樣可看到如下輸出:

18cba316-0f63-11ee-962d-dac502259ad0.png

審核編輯:湯梓紅

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

    關注

    68

    文章

    10889

    瀏覽量

    212377
  • Xilinx
    +關注

    關注

    71

    文章

    2168

    瀏覽量

    121772
  • 微處理器
    +關注

    關注

    11

    文章

    2272

    瀏覽量

    82604
  • RISC
    +關注

    關注

    6

    文章

    463

    瀏覽量

    83793
  • Vitis
    +關注

    關注

    0

    文章

    147

    瀏覽量

    7465

原文標題:開發(fā)者分享|在Vitis中通過 PSU DDR 執(zhí)行 MicroBlaze 應用

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

收藏 人收藏

    評論

    相關推薦

    MicroBlaze串口設計

    本系統(tǒng),Basys3的MicroBlaze模塊調用基于AXI協議的UART IP核,通過AXI總線實現MicroBlaze-UART之間的通信,完成串口打印。
    發(fā)表于 08-02 09:32 ?1558次閱讀
    <b class='flag-5'>MicroBlaze</b>串口設計

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    的工程。 首先在更新之前需要將舊版工程更新到vitis2023.2的classic Vitis IDE,否則在執(zhí)行更新命令是會產生警告,這個警告也會導致后續(xù)更新失敗。如下: 更新到vitis
    發(fā)表于 03-24 17:14

    vivado下外部邏輯和MicroBlaze交換數據

    的方式是外部邏輯通過AXI4將數據寫到DDR3,然后microblaze將數據從DDR3讀出
    發(fā)表于 03-21 14:01

    DDR3 SDRAM的簡單代碼如何編寫

    使用microblaze處理器。我必須通過DDR3內存發(fā)送一些固定值,如8位數據(X'FF'),即我將該數據寫入Genesys2 DDR3內存并從內存
    發(fā)表于 05-05 15:29

    使用Vitis EBAZ4205(ZYNQ)礦機上實現"Hello World!"

    ZYNQ 設置串口引腳為 24, 25 。另外一個就是需要設置 ZYNQ 的DDR3,EBAZ4205 上用的DDR3 芯片型號是 EM6GD16EWKG-12H ,
    發(fā)表于 03-06 22:59

    請問如何通過MicroBlaze訪問BRAM?

    嗨,大家好,我正在研究Vivado 2014.4,Xilinx KC705。我需要通過Microblaze讀取存儲BRAM(coe文件)的數據進行計算。我是微博閱讀部分的新手。有人
    發(fā)表于 05-20 08:38

    【正點原子FPGA連載】第一章MicroBlaze簡介--摘自【正點原子】達芬奇之Microblaze 開發(fā)指南

    使用Xilix提供的Vitis統(tǒng)一軟件平臺。Vivado我們可以Block Design搭建Mi
    發(fā)表于 10-16 16:28

    使用Vitis HLS創(chuàng)建屬于自己的IP相關資料分享

    。HLS 采用 C 和 C++ 描述并將它們轉換為自定義硬件 IP,完成后我們就可以 Vivado 項目中使用該IP。Vitis HLS創(chuàng)建一個新的 HLS 項目:通過從Linux 終端鍵入
    發(fā)表于 09-09 16:45

    PYNQMicroBlaze程序文件的加載過程

    PYNQ的base overlay 添加了MicroBlaze通過MicroBlaze 來配置PMOD 和ardonio 接口并驅動外
    發(fā)表于 03-16 09:15 ?2271次閱讀

    怎么Vitis設定Kernel的頻率?

    Vitis中選擇平臺時可以看到默認的時鐘頻率是300Mhz和500Mhz. Vitis Application Acceleration Development Flow 我們看到
    的頭像 發(fā)表于 06-12 14:19 ?3.7w次閱讀

    Xilinx Vitis 2020.1運行C程序時提示找不到microblaze_0

    Xilinx Vitis 2020.1里面運行C程序時提示找不到microblaze_0
    的頭像 發(fā)表于 02-16 16:21 ?3598次閱讀
    Xilinx <b class='flag-5'>Vitis</b> 2020.1運行C程序時提示找不到<b class='flag-5'>microblaze</b>_0

    Xilinx Vitis 2020.1里面MicroBlaze軟核的sleep函數卡死的問題

    Vitis里面創(chuàng)建了一個LwIP工程,調試的時候發(fā)現,BRAM里面運行正常,但如果改到DDR3內存里面運行,啟動時就會卡死sleep函
    的頭像 發(fā)表于 02-16 16:21 ?3099次閱讀
    Xilinx <b class='flag-5'>Vitis</b> 2020.1里面<b class='flag-5'>MicroBlaze</b>軟核的sleep函數卡死的問題

    Vitis調試ARM可信固件和U-boot

    本篇博文中,我們將探討如何在 Vitis 調試 Zynq UltraScale 器件啟動鏡像。這些啟動鏡像包括 ARM 可信固件 (ATF) 和 U-boot。
    的頭像 發(fā)表于 08-02 10:14 ?3710次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>Vitis</b><b class='flag-5'>中</b>調試ARM可信固件和U-boot

    Vitis通過PSU DDR執(zhí)行MicroBlaze應用

    MicroBlaze? CPU 是可修改的拖入式預設 32 位/64 位 RISC 微處理器配置系列。
    的頭像 發(fā)表于 06-26 09:14 ?1075次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>Vitis</b><b class='flag-5'>中</b><b class='flag-5'>通過</b><b class='flag-5'>PSU</b> <b class='flag-5'>DDR</b><b class='flag-5'>執(zhí)行</b><b class='flag-5'>MicroBlaze</b>應用

    UCC25640XLED照明PSU的優(yōu)勢

    電子發(fā)燒友網站提供《UCC25640XLED照明PSU的優(yōu)勢.pdf》資料免費下載
    發(fā)表于 08-27 10:21 ?0次下載
    UCC25640X<b class='flag-5'>在</b>LED照明<b class='flag-5'>PSU</b><b class='flag-5'>中</b>的優(yōu)勢
    主站蜘蛛池模板: xxxxxhd69日本护士| 成人精品视频一区二区三区| 久久精品视频热| 轻点灬大ji巴太粗太长了h| 亚洲成人毛片| 69国产视频| 欧美黄色免费大片| 美人岛福利| 51精品视频免费国产专区| 欧美另类高清| 日本视频不卡| 在线黄色免费观看| 特级一级毛片| 欧美一级高清片在线| 久久国内精品| 在线好吊色视频98gao| 午夜视频高清在线aaa| 日本黄色美女网站| 69色视频| 国产精品污视频| 婷婷六月天激情| 美女网站色黄| 最新版资源在线天堂| 日本免费黄色录像| 网站国产| 欧美性一区| 日本一区不卡在线观看| 一个色在线视频| 日本三级全黄| 欧美日韩国产一区二区三区不卡| 黄色网址有那些| 一丝不遮视频免费观看| 蜜色网| 69xxxx欧美老师| 亚洲阿v天堂2018在线观看| 欧美在线视频播放| 国产高清视频在线播放www色| 手机在线看片你懂的| 欧美xxxx做受欧美88bbw| 中文字幕在线色| 青楼社区51在线视频视频|