RM新时代网站-首页

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

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

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

自定義RISC V的bootloader-v2

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

在生成SoC時(shí),會(huì)生成一個(gè)預(yù)定義bootloader .bin文件,用于指定soc的工程運(yùn)行的地址,這包括在flash的存儲(chǔ)地址 ,加載到外存中的運(yùn)行地址及在外存中分配的存儲(chǔ)空間的大小 。下面我們來(lái)講解下怎樣定義自己的bootloader

在外部存儲(chǔ)的Bootloader

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

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

2、修改參數(shù)。

USER_SOFTWARE_MEMORY:對(duì)應(yīng)的是APP在外部存儲(chǔ)器中的運(yùn)行起始地址;USER_SOFTWARE_FLASH:對(duì)應(yīng)APP在flash中的存儲(chǔ)地址;USER_SOFTWARE_SIZE:APP對(duì)應(yīng)片外存儲(chǔ)的大?。?/p>

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

把下面參數(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、編譯修改后的工程。接下來(lái)會(huì)有兩種方法處理。

方法一:

4、重新生成存儲(chǔ)器初始化文件。

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

${EFINITY_HOME}/bin/setup.bat

(2)再轉(zhuǎn)到embedded_sw//tool路徑下,并把bootloader.bin文件拷貝到該文件夾下,運(yùn)行指令,打開浮點(diǎn)生成8個(gè)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前面的對(duì)勾。并添加上第3步生成的bootloader.hex文件.

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

5、重新生成IP并編譯。

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

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

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

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

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

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

    關(guān)注

    10

    文章

    1633

    瀏覽量

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

    關(guān)注

    38

    文章

    4161

    瀏覽量

    218152
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    235

    瀏覽量

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

    關(guān)注

    45

    文章

    2270

    瀏覽量

    46124
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    請(qǐng)問(wèn)RISC-V自定義指令如何保持軟件的兼容性?

    請(qǐng)問(wèn)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è)計(jì)中自定義擴(kuò)展的指令集架構(gòu)

    談?wù)撆渲没咎幚砥骰蛱砑?b class='flag-5'>自定義擴(kuò)展以解決片上系統(tǒng) (SoC) 中的硬件-軟件設(shè)計(jì)權(quán)衡并不是什么新鮮事。這一直是 RISC-V 社區(qū)所支持的價(jià)值主張的關(guān)鍵部分,發(fā)布了許多信息并從中受益,例如
    發(fā)表于 07-18 15:38 ?2119次閱讀
    如何看待<b class='flag-5'>RISC-V</b> SoC設(shè)計(jì)中<b class='flag-5'>自定義</b>擴(kuò)展的指令集架構(gòu)

    ArkUI如何自定義彈窗(eTS)

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

    教程 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ā)

    一個(gè)完整的自定義算子應(yīng)用過(guò)程包括注冊(cè)算子、算子實(shí)現(xiàn)、含自定義算子模型轉(zhuǎn)換和運(yùn)行含自定義op模型四個(gè)階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過(guò)使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
    的頭像 發(fā)表于 04-07 16:11 ?2793次閱讀
    <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項(xiàng)目之增強(qiáng)RISC-V處理器性能的自定義硬件模塊

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

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

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

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

    labview超快自定義控件制作和普通自定義控件制作
    發(fā)表于 08-21 10:32 ?13次下載
    RM新时代网站-首页