自定义RISC V的bootloader-v2

2024-10-31

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

在外部存储的Bootloader

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

自定义RISC V的bootloader-v2 (https://ic.work/) 技术资料 第1张

2、修改参数。

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

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

把下面参数

#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)路径转到efinty安装路径的bin文件夹下,运行setup.bat,然后重新生成OCR初始文件。

${EFINITY_HOME}/bin/setup.bat

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

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

自定义RISC V的bootloader-v2 (https://ic.work/) 技术资料 第2张

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

自定义RISC V的bootloader-v2 (https://ic.work/) 技术资料 第3张

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

自定义RISC V的bootloader-v2 (https://ic.work/) 技术资料 第4张

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

方法二:

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

自定义RISC V的bootloader-v2 (https://ic.work/) 技术资料 第5张

5、重新生成IP并编译。

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

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

自定义RISC V的bootloader-v2 (https://ic.work/) 技术资料 第6张

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

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

文章推荐

相关推荐

  • 小安派BW21 UNO从机

    作为一款本地AI图象识别开发板,BW21-CBV-Kit它能够独自运行目标识别模型。2.4GHz+5GHz的双频Wi-Fi,提供高性能的无线传输能 ...

    2025-05-21
  • IGBT模块吸收回路分析模型

    IGBT模块吸收回路分析模型 一、IGBT模块吸收电路的模型 尽管开关器件内部工作机理不同,但对于吸收电路的分析而 ...

    2025-05-21
  • BLDC电机的基本结构和控制方式

    来源:攻城狮原创之设计分享 直流无刷电机(Brushless DC Motor,BLDC)是一种基于电子换向技术的高效电机,具有长寿命 ...

    2025-05-21
  • 联通智家通通:聚四方守护之力,筑万家AI通途

    “神兽镇宅”,是深植于中国人心中的居家智慧。朱雀、玄武等神兽,站立在紫禁城之巅,也悬于普通百姓门上,寄托着镇守四方风雨 ...

    2025-05-21
  • FinFET与GAA结构的差异及其影响

    文章来源:老虎说芯 原文作者:老虎说芯 本文介绍了当半导体技术从FinFET转向GAA(Gate-All-Around)时工艺面临 ...

    2025-05-21
  • 一文详解球栅阵列封装技术

    文章来源:学习那些事 原文作者:前路漫漫 本文介绍了球栅阵列封装的结构、分类、应用和发展趋势。 概述 ...

    2025-05-21
  • 智能车电磁组——基本控制篇

    智能车电磁组——基本控制篇 前言 电磁车的控制比较简单,可以分为信号采集,舵机控制和电机控制三部分, ...

    2025-05-21
  • 低成本电源排序器解决方案

    绝大多数负载点DC-DC转换器可以将上一个转换器的电源就绪输出连接至下一个转换器的使能输入,实现上电排序。这种方法只适合 ...

    2025-05-21
  • 注入增强型IGBT学习笔记

    来源:星际浮尘 注入增强型IGBT 1、结构特点与典型工艺 1.1结构提出与发展 为了协调 ...

    2025-05-21
  • 解析RZ/N2L CANFD模块的缓冲区机制(3)

    在工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速 ...

    2025-05-21