一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

Xilinx Vivado創(chuàng)建MicroBlaze工程運行Hello World C語言程序

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

閱讀本文前,請先閱讀:

(1)【教程】Xilinx Vivado/Vitis 2020.1創(chuàng)建最簡單的MicroBlaze工程運行Hello World C語言程序(不使用外部DDR3內存),并固化到SPI Flash

https://blog.csdn.net/ZLK1214/article/details/111824576

(2)Xilinx 2020.1 MIG核讀寫DDR3內存,新建工程時配置MIG核的完整步驟

https://blog.csdn.net/ZLK1214/article/details/111349678

添加了DDR3內存以后,程序既可以運行在BRAM里面,也可以運行在DDR3內存里面。但如果運行在DDR3內存里面,固化起來會比較麻煩,需要借助SREC SPI Bootloader。

建立帶DDR3內存的MicroBlaze工程的方法很簡單:以不帶DDR3的工程(1)為基礎,只需要在Clocking Wizard和Processor System Reset之間插入一個MIG IP核就可以了。

poYBAGIMpkCARqygAAKR15cvwcw769.png

原本,Clocking Wizard輸出的時鐘是100MHz,是直接接到Processor System Reset上的。
修改后,兩者中間插入了一個MIG。Clocking Wizard的時鐘輸出變成了200MHz,給MIG提供時鐘。在MIG的內部由PLL倍頻到400MHz驅動外部DDR3內存,然后再分頻到100MHz從ui_clk引腳輸出出來,給Processor System Reset提供時鐘。
修改后,MicroBlaze的運行頻率沒有變,仍然是100MHz。

建立工程的時候一定要小心使用Vivado的自動連線的功能,操作不當?shù)脑捄苋菀桩a生兩個Processor System Reset。

下面詳細說明一下工程的建立步驟。

首先在空白Block Design里面添加Clocking Wizard和MIG IP核:

poYBAGIMpkGAR328AABGZ1HHdO0264.png

修改Clocking Wizard的配置:

pYYBAGIMpkOAU62sAAEQHRPvHsY680.png

MIG的詳細配置請參考上面的文章(2),關鍵配置單獨挑出來說明一下:

poYBAGIMpkWACjr5AAIa-A20Ydk009.png

pYYBAGIMpkaAc_EBAACgta7GR24335.png

現(xiàn)在可以添加MicroBlaze核了,添加后點擊Run Block Automation,請注意時鐘的選擇:

pYYBAGIMpkiAe9bNAAINzfM07EA633.png

poYBAGIMpkqAFY2JAAFqNTj8Z-Y373.png

點擊Run Connection Automation,通過一個新建的AXI SmartConnect將MIG的S_AXI和MicroBlaze連接起來:

pYYBAGIMpk2AQK7LAAFIsfmJ1No020.png

自動連接剩余的接口

poYBAGIMplGAcAI9AAFbT5hAWDU717.png

pYYBAGIMplSAGFXkAAGkJ3l4nd4042.png

添加AXI Uartlite串口,用于printf打?。?/p>

pYYBAGIMplWAJaSOAAG6n8o5fIc509.png

Run Connection Automation,將Uartlite與MicroBlaze連在一起:

poYBAGIMpleAL18mAAD-3WnCWCA451.png

最終連線結果:

pYYBAGIMplqAAR57AAHvKU1DdII940.png

地址分配:

poYBAGIMplyAXOkKAAEWpxuS6kQ525.png

引腳配置:

pYYBAGIMpl2AYcRsAAEADikOE14680.png

綜合時會提示BANKBONE錯誤:

poYBAGIMpl-AUdDVAAFdeUMQX44786.png

[Place 30-575] Sub-optimal placement for a clock-capable IO pin and MMCM pair. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.

design_1_i/clk_wiz_0/inst/clkin1_ibufg (IBUF.O) is locked to IOB_X1Y26
design_1_i/clk_wiz_0/inst/mmcm_adv_inst (MMCME2_ADV.CLKIN1) is provisionally placed by clockplacer on MMCME2_ADV_X1Y1

The above error could possibly be related to other connected instances. Following is a list of
all the related clock rules and their respective instances.

Clock Rule: rule_mmcm_bufg
Status: PASS
Rule Description: An MMCM driving a BUFG must be placed on the same half side (top/bottom) of the device
design_1_i/clk_wiz_0/inst/mmcm_adv_inst (MMCME2_ADV.CLKFBOUT) is provisionally placed by clockplacer on MMCME2_ADV_X1Y1
and design_1_i/clk_wiz_0/inst/clkf_buf (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y31

將錯誤信息中提示的代碼加入xdc文件就可以屏蔽掉此錯誤:

pYYBAGIMpmCAfqu5AAFFEFvOfBo501.png

poYBAGIMpmKAQiV3AAKlWVadyVw422.png

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

    關注

    2

    文章

    284

    瀏覽量

    43147
  • MicroBlaze
    +關注

    關注

    3

    文章

    68

    瀏覽量

    21955
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【Milk-V Duo S 開發(fā)板免費體驗】2 - 安裝編譯環(huán)境并測試Hello world!

    Hello, World! [root@milkv]~# ./helloworld Hello, World! 結論 至此已經(jīng)配置應用程序
    發(fā)表于 07-07 21:18

    【潤開鴻HH-SCDAYU800A開發(fā)板試用體驗】Hello World

    \\\\\\\\toolchains Hello World 編寫第一個應用程序 :最簡單的Hello World 文件->新建項目,
    發(fā)表于 07-01 00:52

    Vivado HLS設計流程

    為了盡快把新產品推向市場,數(shù)字系統(tǒng)的設計者需要考慮如何加速設計開發(fā)的周期。設計加速主要可以從“設計的重用”和“抽象層級的提升”這兩個方面來考慮。Xilinx 推出的 Vivado HLS 工具可以
    的頭像 發(fā)表于 04-16 10:43 ?720次閱讀
    <b class='flag-5'>Vivado</b> HLS設計流程

    C語言的歷史及程序介紹

    電子發(fā)燒友網(wǎng)站提供《C語言的歷史及程序介紹.pdf》資料免費下載
    發(fā)表于 04-09 16:10 ?0次下載

    創(chuàng)建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread?

    創(chuàng)建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread!,程序好像也沒有下載進去
    發(fā)表于 04-01 06:55

    如何在 樹莓派 上編寫和運行 C 語言程序?

    在本教程中,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi上編寫和運行C程序
    的頭像 發(fā)表于 03-25 09:28 ?551次閱讀
    如何在 樹莓派 上編寫和<b class='flag-5'>運行</b> <b class='flag-5'>C</b> <b class='flag-5'>語言</b><b class='flag-5'>程序</b>?

    零基礎入門:如何在樹莓派上編寫和運行Python程序

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linu
    的頭像 發(fā)表于 03-25 09:27 ?715次閱讀
    零基礎入門:如何在樹莓派上編寫和<b class='flag-5'>運行</b>Python<b class='flag-5'>程序</b>?

    在mimxrt1170_evk調試hello_world出現(xiàn)硬件傳輸錯誤怎么解決?

    我按照視頻在 cm7 中調試hello_world示例,我的鏈接服務器正在運行, debug prove 的 FW 也是最新的。 但是我仍然收到這個錯誤。 16:status-poll 中的目標
    發(fā)表于 03-25 07:31

    EE-192:使用C語言在Blackfin處理器上創(chuàng)建中斷驅動系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《EE-192:使用C語言在Blackfin處理器上創(chuàng)建中斷驅動系統(tǒng).pdf》資料免費下載
    發(fā)表于 01-03 15:03 ?0次下載
    EE-192:使用<b class='flag-5'>C</b><b class='flag-5'>語言</b>在Blackfin處理器上<b class='flag-5'>創(chuàng)建</b>中斷驅動系統(tǒng)

    使用MCUXpresso for VS Code插件開發(fā)Zephyr的hello world

    本期來到Zephyr實戰(zhàn)經(jīng)驗演練,小編帶著大家一起使用MCUXpresso for VS Code插件來開發(fā)一個屬于Zephyr的hello world。
    的頭像 發(fā)表于 01-03 09:21 ?1247次閱讀
    使用MCUXpresso for VS Code插件開發(fā)Zephyr的<b class='flag-5'>hello</b> <b class='flag-5'>world</b>

    Xilinx_Vivado_SDK的安裝教程

    首先是去官網(wǎng)下載安裝包:https://www.xilinx.com/support/download.html。 下載這個最大的、支持所有的 OS 如 Windows/Linux 的安裝包。 下載
    的頭像 發(fā)表于 11-16 09:53 ?5329次閱讀
    <b class='flag-5'>Xilinx_Vivado</b>_SDK的安裝教程

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。在C語言中,socket編程是網(wǎng)絡編程的基礎。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實現(xiàn)不同計算機之間的
    的頭像 發(fā)表于 11-01 16:51 ?1214次閱讀

    使用Vivado通過AXI Quad SPI實現(xiàn)XIP功能

    本博客提供了基于2023.2 Vivado的參考工程,展示如何使用Microblaze 地執(zhí)行(XIP)程序,并提供一個簡單的bootloader。
    的頭像 發(fā)表于 10-29 14:23 ?1682次閱讀
    使用<b class='flag-5'>Vivado</b>通過AXI Quad SPI實現(xiàn)XIP功能

    【飛凌嵌入式OK3576-C開發(fā)板體驗】應用編譯運行

    CFLAGS=-std=c++11 -Wall EXEC=hello_world all: $(EXEC) $(EXEC): main.cpp $(CC) $(CFLAGS) -o $@ $&
    發(fā)表于 08-26 17:55

    技術干貨驛站 ▏深入理解C語言:掌握程序結構知識

    在計算機編程的世界中,C語言被廣泛認可為一門強大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C
    的頭像 發(fā)表于 07-27 08:45 ?1851次閱讀
    技術干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:掌握<b class='flag-5'>程序</b>結構知識