国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Xilinx Vivado創建MicroBlaze工程運行Hello World C語言程序

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

掃碼添加小助手

加入工程師交流群

閱讀本文前,請先閱讀:

(1)【教程】Xilinx Vivado/Vitis 2020.1創建最簡單的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的自動連線的功能,操作不當的話很容易產生兩個Processor System Reset。

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

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

poYBAGIMpkGAR328AABGZ1HHdO0264.png

修改Clocking Wizard的配置:

pYYBAGIMpkOAU62sAAEQHRPvHsY680.png

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

poYBAGIMpkWACjr5AAIa-A20Ydk009.png

pYYBAGIMpkaAc_EBAACgta7GR24335.png

現在可以添加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

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

    關注

    2

    文章

    288

    瀏覽量

    44146
  • MicroBlaze
    +關注

    關注

    3

    文章

    68

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言中實現函數宏的三種方式

    ;hello world!n\"); 會發現編譯出錯: ... /mnt/hgfs/share/pr_c/src/main.c: In function ‘main’: /mnt/h
    發表于 12-29 07:34

    VS Code運行 pytest_hello_world.py

    VS Code運行 pytest_hello_world.py
    的頭像 發表于 11-24 00:33 ?628次閱讀

    根據書上教程在eclipse環境下hello_world程序編譯成功,但是燒寫報錯,是什么原因?

    根據書上教程在eclipse環境下hello_world程序編譯成功,但是燒寫報錯,請有理解的大神指點一下。
    發表于 11-07 06:21

    蜂鳥E203能夠仿真運行C語言程序嗎?

    我看那兩本書里面都是說怎么在FPGA上運行C語言程序和Benchmark程序,它提供仿真器下如何編譯運行
    發表于 11-06 06:21

    在Windows10上運行vivado使用tcl文件創建E203項目路徑錯誤的問題

    先按照官方給的開源項目,e203_hbirdv2-masterfpgamcu200t目錄下的Makefile內容手動創建vivado工程。 在調用.tcl文件的過程中,每次進行到
    發表于 10-28 07:19

    ddr200t開發板運行hello world

    進入hello world目錄進行交叉編譯 下載驅動,板子和電腦連接后,驅動正常的時候,查看設備管理器發現增加了一個com4,數字可能不一樣,說明驅動正常。 下載程序 該錯誤,是連接問題。在前面我們
    發表于 10-27 08:34

    飛凌嵌入式ElfBoard-Vim編輯器之GCC的基本使用

    我們現在以我們學習語言的經典的hello.c的編譯為例,對gcc的基本用法做一個了解。已編譯hello.c文件為例。創建測試例程路徑/home/elf/work/example/
    發表于 10-16 09:05

    創建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread?

    創建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread!,程序好像也沒有下載進去
    發表于 09-26 08:24

    【Milk-V Duo S 開發板免費體驗】2 - 安裝編譯環境并測試Hello world!

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

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

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

    Vivado HLS設計流程

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

    C語言的歷史及程序介紹

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

    創建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread?

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

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

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

    在mimxrt1170_evk調試hello_world出現硬件傳輸錯誤怎么解決?

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