0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(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)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    1677

    瀏覽量

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

    關(guān)注

    38

    文章

    4385

    瀏覽量

    222587
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    239

    瀏覽量

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

    關(guān)注

    46

    文章

    2549

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    自定義RISC Vbootloader-v2

    在生成SoC時(shí),會(huì)生成一個(gè)預(yù)定義bootloader .bin文件,用于指定soc的工程運(yùn)行的地址,這包括在flash的存儲(chǔ)地址 ,加載到外存中的運(yùn)行地址及在外存中分配的存儲(chǔ)空間的大小 。下面我們
    的頭像 發(fā)表于 10-31 12:37 ?1132次閱讀
    <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 ?4511次閱讀
    如何使用<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ī)畫面教程

    魅族MP3自定義開(kāi)機(jī)畫面教程
    發(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 ?15次下載

    如何看待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 ?2385次閱讀
    如何看待<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 ?2665次閱讀

    教程 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 ?14次下載

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品