欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

3天內不再提示

易靈思SOC onchip RAM初始化

XL FPGA技術交流 ? 來源:易靈思FPGA技術交流 ? 作者:易靈思FPGA技術交流 ? 2024-07-21 16:54 ? 次閱讀

最新有客戶在詢問soc的片上RAM啟動方案。于是有了本篇文章。如果soc不 使用外部存儲而是使用片上RAM的話,文檔上似乎沒有給出詳細的說明,那這里我們就來介紹一下。

8aaa8288-449e-11ef-a4b4-92fbcf53809c.png

首先片上RAM啟動要在IP上關閉外部存儲,如下圖,Include the external memory AXI interface。

這里要說,on chip RAM的啟動方式與外部存儲方式的啟動方式有個很大的區(qū)別就是不需要bootloader從flash中搬運數據到存儲器。on chip RAM啟動方式不需要bootloader或者說應用程序就是bootlaoder。

另外,在新版本的sapphire IP中,已經支持把應用程序的hex文件直接添加到IP,相對于老的版本來說方便了很多。這時只需要勾選Overwrite the default SPI flash bootloader with the user application并且在User Application Path中添加用戶程序生成的hex文件即可。

8ab1c8d6-449e-11ef-a4b4-92fbcf53809c.png

但是這樣重新編譯之后可能不能運行。因為soc RAM的初始化文件默認是工程目錄下的bin文件,所以最好把這個工程目錄下的bin文件先刪除掉,然后再重新編譯。當然也可能是別的原因,先不必深究。

8ab8a49e-449e-11ef-a4b4-92fbcf53809c.png

在生成IP的過程中應該是把hex文件轉換成了4個bin文件,與IP同一個目錄。所以每次修改程序并生成hex之后,都要打開IP重新生成IP,這時才會重新生成bin文件。

8acd6a32-449e-11ef-a4b4-92fbcf53809c.png

這樣之后重新編譯就可以了。

有一個問題:我們每次修改RISCV的工程,重新生成hex文件。都需要重新編譯工程,這是很耗時的。所以需要一個辦法把修改后的hex——也就是RAM的初始化文件使用一個簡單的方法合成bit文件,以避免重新編譯。

易靈思Efinity從2023.1.150開始增加了一個功能叫Open BRAM Initial Content Updater。它可以讓用戶快速更新BRAM初始化的數據而不需要全編譯。它是更新elaborated網表的數據,

說明:--optimize-zero-init-rom綜合選項是告訴軟件優(yōu)化初始化值為0的ROM的,如果你的ROM初始值是0,又想通過Open BRAM Initial Content Updater工具來修改初始值,需要把--optimize-zero-init-rom選項Disable。

8ad731a2-449e-11ef-a4b4-92fbcf53809c.png

8aed2066-449e-11ef-a4b4-92fbcf53809c.png

RISCV片上ROM更新

(1)當工程編譯完成之后,打開該工具就可以看到可以初始化的BRAM塊。其中ram_symbol0,1,2,3就是RISCV的初始化文件。用戶只需要選擇相應的文件,然后再點擊Update memory content就會把初始化文件更新掉,RISCV有4個bin文件,所以要對每個bin文件都進行更新。

8afe49f4-449e-11ef-a4b4-92fbcf53809c.png

至于怎么生成要更新的bin文件呢?請參考embedded_sw/sapphire/tool下面的README-binGen.txt

8b101eb8-449e-11ef-a4b4-92fbcf53809c.png

(2)當4個文件都更新完成之后點擊Genarate a new Bitstream,就會有提示是否要重樣綜合還是繼續(xù)生成Bitstream的過程,按下圖選擇Proceed with Bitstream Generation.軟件會運行最后一步生成新的bit流。

8b25321c-449e-11ef-a4b4-92fbcf53809c.png

(3)用新生成的數據流就可以重新下載看效果了。新生成的文件不會影響debug。

一般ROM的初始化

在Efinity的安裝目錄下提供了一個T20的參考工程。

/debugger/demo/helloworlddbg_GOLD

我把它修改成了Ti60F225的demo工程(因為手上沒有T20的demo板)

鏈接:https://pan.baidu.com/s/106I_xipVjXc1sfV9c5982A?pwd=1234

提取碼:1234

具體的操作步驟請參考efinity-ug.pdf的About the BRAM Initial Content Updater部分,有詳細的說明,這里先不贅述。

審核編輯 黃宇

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

    關注

    8

    文章

    1369

    瀏覽量

    115065
  • soc
    soc
    +關注

    關注

    38

    文章

    4212

    瀏覽量

    219183
收藏 人收藏

    評論

    相關推薦

    EE-359:ADSP-CM40x啟動時間優(yōu)化和器件初始化

    電子發(fā)燒友網站提供《EE-359:ADSP-CM40x啟動時間優(yōu)化和器件初始化.pdf》資料免費下載
    發(fā)表于 01-13 16:33 ?0次下載
    EE-359:ADSP-CM40x啟動時間優(yōu)化和器件<b class='flag-5'>初始化</b>

    EE-88:使用21xx編譯器在C中初始化變量

    電子發(fā)燒友網站提供《EE-88:使用21xx編譯器在C中初始化變量.pdf》資料免費下載
    發(fā)表于 01-13 15:54 ?0次下載
    EE-88:使用21xx編譯器在C中<b class='flag-5'>初始化</b>變量

    OMAP5912多媒體處理器初始化參考指南

    電子發(fā)燒友網站提供《OMAP5912多媒體處理器初始化參考指南.pdf》資料免費下載
    發(fā)表于 12-17 16:20 ?0次下載
    OMAP5912多媒體處理器<b class='flag-5'>初始化</b>參考指南

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導致系統(tǒng)穩(wěn)定性和數據完整性受損。我們將STM32F407與SD NAND集成時可能遇到的初始化問題,并提供專業(yè)的解決方案。
    的頭像 發(fā)表于 12-11 10:51 ?463次閱讀
    STM32F407 MCU使用SD NAND?不斷電<b class='flag-5'>初始化</b>失效解決方案

    FPGA產品的主要特點

    近年來,全球半導體供應鏈屢受挑戰(zhàn),芯片短缺問題一度對行業(yè)產生深遠影響。通過優(yōu)化供應鏈管理、強化產能規(guī)劃,確??蛻舻腇PGA需求得到及時滿足。面向工業(yè)控制、機器視覺、醫(yī)療影像、消費電子、汽車智駕等一眾終端領域,
    的頭像 發(fā)表于 12-04 14:20 ?699次閱讀
    <b class='flag-5'>易</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>FPGA產品的主要特點

    基于旋轉平移解耦框架的視覺慣性初始化方法

    精確和魯棒的初始化對于視覺慣性里程計(VIO)至關重要,因為不良的初始化會嚴重降低姿態(tài)精度。
    的頭像 發(fā)表于 11-01 10:16 ?449次閱讀
    基于旋轉平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法

    TMS320C6000 McBSP初始化

    電子發(fā)燒友網站提供《TMS320C6000 McBSP初始化.pdf》資料免費下載
    發(fā)表于 10-26 10:10 ?0次下載
    TMS320C6000 McBSP<b class='flag-5'>初始化</b>

    瀚海微SD NAND應用之SD協(xié)議存儲功能描述2 初始化命令

    初始化和識別過程: 總線激活后,主機啟動卡初始化和識別過程。 初始化過程從SD SEND OP COND (ACMD41)開始,通過設置其操作條件和OCR中的HCS位。HCS (Host
    的頭像 發(fā)表于 07-22 10:54 ?437次閱讀
    瀚海微SD NAND應用之SD協(xié)議存儲功能描述2 <b class='flag-5'>初始化</b>命令

    初始化IO口為外部中斷線的時候,最先初始化的會被后初始化的覆蓋掉為什么?

    初始化IO口為外部中斷線的時候,比如GPIOA6與GPIOB6先后初始化為外部中斷,最先初始化的會被后初始化的覆蓋掉,不知道是為什么?
    發(fā)表于 05-14 08:26

    RAM使用--Update5

    RAM在使用時可以會遇到一些問題,這里把常用的問題總結下。 1、ram初始化文件路徑是工程
    的頭像 發(fā)表于 04-24 08:43 ?880次閱讀
    <b class='flag-5'>易</b><b class='flag-5'>靈</b><b class='flag-5'>思</b><b class='flag-5'>RAM</b>使用--Update5

    RAM使用--Update4

    RAM在使用時可以會遇到一些問題,這里把常用的問題總結下。 1、ram初始化文件路徑是工程
    的頭像 發(fā)表于 04-23 14:52 ?1174次閱讀
    <b class='flag-5'>易</b><b class='flag-5'>靈</b><b class='flag-5'>思</b><b class='flag-5'>RAM</b>使用--Update4

    FPGA flash操作原理

    FPGA flash操作原理分享
    的頭像 發(fā)表于 04-09 15:03 ?1088次閱讀

    使用STM32CubeIDE初始化STM32407的SPI1(PB3)初始化失敗的原因?怎么解決?

    使用STM32CubeIDE初始化STM32407的SPI1(PB3)初始化失敗,有人知道原因嗎?
    發(fā)表于 03-25 07:50

    字符型、指針型等變量等該如何初始化

     對于數值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?
    的頭像 發(fā)表于 03-18 11:02 ?1638次閱讀

    MCU單片機GPIO初始化該按什么順序配置?為什么初始化時有電平跳變?

    GPIO初始化時有時鐘配置、模式配置、輸出配置、復用配置,那么在編寫初始化代碼時,到底該按什么順序執(zhí)行呢?如果順序不當那初始化過程可能會出現短暫的電平跳變。
    的頭像 發(fā)表于 02-22 11:07 ?1687次閱讀
    MCU單片機GPIO<b class='flag-5'>初始化</b>該按什么順序配置?為什么<b class='flag-5'>初始化</b>時有電平跳變?