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

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

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

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

自定義RISC V的bootloader-v3

XL FPGA技術(shù)交流 ? 2025-03-10 09:05 ? 次閱讀

在生成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文件。

wKgZPGfOO-qAPvMrAAHrH1C7FoQ040.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ǔ)的大??;

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

把下面參數(shù)

#defineUSER_SOFTWARE_MEMORY 0x00001000#defineUSER_SOFTWARE_FLASH  0x380000#defineUSER_SOFTWARE_SIZE   0x01F000

修改成:

#defineUSER_SOFTWARE_MEMORY 0x00008000#defineUSER_SOFTWARE_FLASH  0x500000#defineUSER_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)行指令,打開(kāi)浮點(diǎn)生成8個(gè)bin,f設(shè)置為1

python3 binGen.py -b bootloader.bin -s<RAMsize>-f<FPU>
wKgZPGfOO-qAY8zHAABIjFggjCI760.png

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

wKgZPGfOO-qAWUtvAABQ-Ucxqvg896.png

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

wKgZPGfOO-qAKEssAADdrdkuRlI559.png

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

方法二:

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

wKgZPGfOO-qAYbjXAAP-NpIniG8582.png

5、重新生成IP并編譯 。

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

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

wKgZPGfOO-uAEGsVAABM47nPWLY859.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開(kāi)始。

指向內(nèi)部存儲(chǔ)的Bootloader

今天有客戶在問(wèn)如果打開(kāi)了外部存儲(chǔ),但是希望程序從片上RAM啟動(dòng)應(yīng)該怎么修改bootloader。只需要將bootloader工程的makefile里面的LDSCRIPT ?= ${BSP_PATH}/linker/bootloader.ld指向linker文件夾下的default_i.ld(對(duì)應(yīng)鈦金系列,default.ld對(duì)應(yīng)trion系列)

wKgZPGfOO-uAGYrtAAGg-313tAE937.pngwKgZPGfOO-uAeNj1AABrpAcph_U317.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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

    文章

    1656

    瀏覽量

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

    關(guān)注

    38

    文章

    4303

    瀏覽量

    221052
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    238

    瀏覽量

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

    關(guān)注

    46

    文章

    2461

    瀏覽量

    48005
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自定義RISC Vbootloader-v2

    在生成SoC時(shí),會(huì)生成一個(gè)預(yù)定義bootloader .bin文件,用于指定soc的工程運(yùn)行的地址,這包括在flash的存儲(chǔ)地址 ,加載到外存中的運(yùn)行地址及在外存中分配的存儲(chǔ)空間的大小 。下面我們
    的頭像 發(fā)表于 10-31 12:37 ?1000次閱讀
    <b class='flag-5'>自定義</b><b class='flag-5'>RISC</b> <b class='flag-5'>V</b>的<b class='flag-5'>bootloader-v</b>2

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

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

    魅族MP3自定義開(kāi)機(jī)畫(huà)面教程

    魅族MP3自定義開(kāi)機(jī)畫(huà)面教程
    發(fā)表于 12-14 14:59 ?21次下載

    1602自定義字符

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

    自定義視圖組件教程案例

    自定義組件 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 ?2281次閱讀
    如何看待<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 ?2471次閱讀

    教程 3:構(gòu)建自定義配置文件

    教程 3:構(gòu)建自定義配置文件
    發(fā)表于 03-15 19:39 ?0次下載
    教程 <b class='flag-5'>3</b>:構(gòu)建<b class='flag-5'>自定義</b>配置文件

    教程 3自定義配置文件 gatt cmd 示例

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

    教程 3:構(gòu)建自定義配置文件

    教程 3:構(gòu)建自定義配置文件
    發(fā)表于 07-06 18:49 ?1次下載
    教程 <b class='flag-5'>3</b>:構(gòu)建<b class='flag-5'>自定義</b>配置文件

    教程 3自定義配置文件 gatt cmd 示例

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

    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次下載