全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

自定义RISC V的bootloader-v3

时间:2025-03-10 09:05

人气:

作者:admin

标签:

导读:在生成SoC时,会生成一个预定义bootloader .bin文件,用于指定soc的工程运行的地址,这包括在flash的存储地址 ,加载到外存中的运行地址及在外存中分配的存储空间的大小 。下面我们来讲...

在生成SoC时,会生成一个预定义bootloer .bin文件,用于指定soc的工程运行的地址,这包括在flash的存储地址 ,加载到外存中的运行地址及在外存中分配的存储空间的大小 。下面我们来讲解下怎样定义自己的bootloader

指向外部存储的Bootloader

1、导入软件自带的bootloader工程,在工程中选择bootloaderConfig.h文件。

wKgZPGfOO-qAPvMrAAHrH1C7FoQ040.png

2、修改参数。

USER_SOFTWARE_MEMORY:对应的是APP在外部存储器中的运行起始地址;USER_SOFTWARE_FLASH:对应APP在flash中的存储地址;USER_SOFTWARE_SIZE:APP对应片外存储的大小;

如下是一个设置案例,也可以根据自己的需要进行相应的修改:

把下面参数

#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、编译修改后的工程。接下来会有两种方法处理。

方法一:

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

(1)路径转到efinty安装路径的bin文件夹下,运行setup.bat,然后重新生成OCR初始文件。

${EFINITY_HOME}/bin/setup.bat

(2)再转到embedded_sw//tool路径下,并把bootloader.bin文件拷贝到该文件夹下,运行指令,打开浮点生成8个bin,f设置为1

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

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

wKgZPGfOO-qAWUtvAABQ-Ucxqvg896.png

5、将步骤4中的rom文件夹里的bin替换工程中的bin文件

wKgZPGfOO-qAKEssAADdrdkuRlI559.png

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

方法二:

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

wKgZPGfOO-qAYbjXAAP-NpIniG8582.png

5、重新生成IP并编译 。

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

6、重新编译工程。合成工程时注意指定的Flash地址.

wKgZPGfOO-uAEGsVAABM47nPWLY859.png

这里有一个问题,修改flash的地址是多少合适呢?以60F100为例 ,内部合封了一个16Mb的flash,0x38000这个地址是超出范围的,那V的地址应该放上哪些呢,从上面的合并操作中可以看到soc.hex文件的Flash Length为0x00362c95,那memTest.bin的地址只要保证不重合,也就是大于0x00362c95即可。

另外值的强调的是逻辑工程生成的hex文件放在flash地址必须要从0x0开始。

指向内部存储的Bootloader

今天有客户在问如果打开了外部存储,但是希望程序从片上RAM启动应该怎么修改bootloader。只需要将bootloader工程的makefile里面的LDSCRIPT ?= ${BSP_PATH}/linker/bootloader.ld指向linker文件夹下的default_i.ld(对应钛金系列,default.ld对应trion系列)

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


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信