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

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

3天內(nèi)不再提示

自定義RISC V的bootloader-v2

XL FPGA技術(shù)交流 ? 來源:XL FPGA技術(shù)交流 ? 作者:XL FPGA技術(shù)交流 ? 2024-10-31 12:37 ? 次閱讀

在生成SoC時,會生成一個預定義bootloader .bin文件,用于指定soc的工程運行的地址,這包括在flash的存儲地址 ,加載到外存中的運行地址及在外存中分配的存儲空間的大小 。下面我們來講解下怎樣定義自己的bootloader

在外部存儲的Bootloader

1、導入軟件自帶的bootloader工程,在工程中選擇bootloaderConfig.h文件。

1465de58-971c-11ef-a79e-92fbcf53809c.png

2、修改參數(shù)。

USER_SOFTWARE_MEMORY:對應的是APP在外部存儲器中的運行起始地址;USER_SOFTWARE_FLASH:對應APP在flash中的存儲地址;USER_SOFTWARE_SIZE:APP對應片外存儲的大?。?/p>

如下是一個設(shè)置案例,也可以根據(jù)自己的需要進行相應的修改:

把下面參數(shù)

#define USER_SOFTWARE_MEMORY 0x00001000#define USER_SOFTWARE_FLASH    0x380000#define USER_SOFTWARE_SIZE     0x01F000

修改成:

#define USER_SOFTWARE_MEMORY 0x00008000#define USER_SOFTWARE_FLASH    0x500000#define USER_SOFTWARE_SIZE     0x01F000

3、編譯修改后的工程。接下來會有兩種方法處理。

方法一:

4、重新生成存儲器初始化文件。

(1)路徑轉(zhuǎn)到efinty安裝路徑的bin文件夾下,運行setup.bat,然后重新生成OCR初始文件。

${EFINITY_HOME}/bin/setup.bat

(2)再轉(zhuǎn)到embedded_sw//tool路徑下,并把bootloader.bin文件拷貝到該文件夾下,運行指令,打開浮點生成8個bin,f設(shè)置為1

python3 binGen.py -b bootloader.bin -s  -f 

1491c2e8-971c-11ef-a79e-92fbcf53809c.png

(3)生成的初始化bin文件在tool/rom文件夾下;

149b287e-971c-11ef-a79e-92fbcf53809c.png

5、將步驟4中的rom文件夾里的bin替換工程中的bin文件

14a46e70-971c-11ef-a79e-92fbcf53809c.png

----------------------------------------------------------------------

方法二:

4、勾選Cache/Memory下sapphire IP中Overwrite the default SPI flash bootloader with the user application前面的對勾。并添加上第3步生成的bootloader.hex文件.

14b2d3b6-971c-11ef-a79e-92fbcf53809c.png

5、重新生成IP并編譯。

--------------------------------------------------------------------

6、重新編譯工程。合成工程時注意指定的Flash地址.

14d2c414-971c-11ef-a79e-92fbcf53809c.png

這里有一個問題,修改flash的地址是多少合適呢?以Ti60F100為例 ,內(nèi)部合封了一個16Mb的flash,0x38000這個地址是超出范圍的,那RISCV的地址應該放上哪些呢,從上面的合并操作中可以看到soc.hex文件的Flash Length為0x00362c95,那memTest.bin的地址只要保證不重合,也就是大于0x00362c95即可。

另外值的強調(diào)的是邏輯工程生成的hex文件放在flash地址必須要從0x0開始。

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

    關(guān)注

    10

    文章

    1613

    瀏覽量

    147643
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4083

    瀏覽量

    217733
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    234

    瀏覽量

    45496
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2200

    瀏覽量

    45945
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用RISC-V創(chuàng)建自定義處理器

    采用RISC-V來替代其自定義體系結(jié)構(gòu)。該體系結(jié)構(gòu)吸引人的一個關(guān)鍵特征是,CPU開發(fā)人員可以在不犧牲為基本標準創(chuàng)建的工具和庫的適用性的情況下,使RISC-V功能適應其需求。適應的關(guān)鍵在于了解R
    的頭像 發(fā)表于 04-14 15:55 ?4094次閱讀
    如何使用<b class='flag-5'>RISC-V</b>創(chuàng)建<b class='flag-5'>自定義</b>處理器

    請問RISC-V自定義指令如何保持軟件的兼容性?

    請問RISC-V自定義指令如何保持軟件的兼容性?
    發(fā)表于 06-17 07:51

    1602自定義字符

    1602液晶能夠顯示自定義字符,能夠根據(jù)讀者的具體情況顯示自定義字符。
    發(fā)表于 01-20 15:43 ?1次下載

    EDK中PS2自定義IP

    Xilinx FPGA工程例子源碼:EDK中PS2自定義IP
    發(fā)表于 06-07 11:44 ?4次下載

    自定義視圖組件教程案例

    自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progr
    發(fā)表于 04-08 10:48 ?14次下載

    如何看待RISC-V SoC設(shè)計中自定義擴展的指令集架構(gòu)

    談論配置基本處理器或添加自定義擴展以解決片上系統(tǒng) (SoC) 中的硬件-軟件設(shè)計權(quán)衡并不是什么新鮮事。這一直是 RISC-V 社區(qū)所支持的價值主張的關(guān)鍵部分,發(fā)布了許多信息并從中受益,例如
    發(fā)表于 07-18 15:38 ?2044次閱讀
    如何看待<b class='flag-5'>RISC-V</b> SoC設(shè)計中<b class='flag-5'>自定義</b>擴展的指令集架構(gòu)

    ArkUI如何自定義彈窗(eTS)

    自定義彈窗其實也是比較簡單的,通過CustomDialogController類就可以顯示自定義彈窗。
    的頭像 發(fā)表于 08-31 08:24 ?2087次閱讀

    教程 2自定義配置文件示例

    教程 2自定義配置文件示例
    發(fā)表于 03-13 19:33 ?0次下載
    教程 <b class='flag-5'>2</b>:<b class='flag-5'>自定義</b>配置文件示例

    教程 2:添加特征-自定義配置文件創(chuàng)建

    教程 2:添加特征 - 自定義配置文件創(chuàng)建
    發(fā)表于 03-15 19:39 ?0次下載
    教程 <b class='flag-5'>2</b>:添加特征-<b class='flag-5'>自定義</b>配置文件創(chuàng)建

    自定義算子開發(fā)

    一個完整的自定義算子應用過程包括注冊算子、算子實現(xiàn)、含自定義算子模型轉(zhuǎn)換和運行含自定義op模型四個階段。在大多數(shù)情況下,您的模型應該可以通過使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
    的頭像 發(fā)表于 04-07 16:11 ?2698次閱讀
    <b class='flag-5'>自定義</b>算子開發(fā)

    教程 2自定義配置文件示例

    教程 2自定義配置文件示例
    發(fā)表于 07-04 20:50 ?1次下載
    教程 <b class='flag-5'>2</b>:<b class='flag-5'>自定義</b>配置文件示例

    教程 2:添加特征-自定義配置文件創(chuàng)建

    教程 2:添加特征 - 自定義配置文件創(chuàng)建
    發(fā)表于 07-06 18:50 ?0次下載
    教程 <b class='flag-5'>2</b>:添加特征-<b class='flag-5'>自定義</b>配置文件創(chuàng)建

    Out項目之增強RISC-V處理器性能的自定義硬件模塊

    電子發(fā)燒友網(wǎng)站提供《Out項目之增強RISC-V處理器性能的自定義硬件模塊.zip》資料免費下載
    發(fā)表于 07-11 10:48 ?0次下載
    Out項目之增強<b class='flag-5'>RISC-V</b>處理器性能的<b class='flag-5'>自定義</b>硬件模塊

    RISC-V自定義計算 – 構(gòu)建您的抱負

    RISC-V自定義計算 – 構(gòu)建您的抱負演講ppt分享
    發(fā)表于 07-14 17:15 ?0次下載

    labview超快自定義控件制作和普通自定義控件制作

    labview超快自定義控件制作和普通自定義控件制作
    發(fā)表于 08-21 10:32 ?12次下載