This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

【Keystone Bootloader】- RBL传输数据大小

你好:

单核比如c6455上电后会从flash拷贝1KB数据到片内,

我想知道对于c6678而言,系统上电后会从片外拷贝多少数据到片内?

多谢!

  • RBL会一直从外部接收数据,直到标示的section size为0,每次读取的数据大小与相应的加载方式有关。

  • 你好:

    可能我表述的不清楚, 我的问题是, DSP上电的时候通过DMA自动从片外flash拷贝一定的程序到片内执行,这个程序就是bootloader程序, 对于c6455而言,这个bootloader 大小最大是1KB,但是对于c6678,文档中没有提到它的bootloader 大小最大是多少? 我想知道这个最大值, 因为实际应用中,我们可能会修改bootloader程序,所以需要注意这点.

    多谢!

  • 你好,

    你说的是在EMIF norflash boot 吗?如果是的话下面两点请你考虑

    1. RBL的bootloader你是没法改变的他是固化在片内ROM中开始位置0x20B00000大小128K,下面的链接是bootloader的源码,你可以参考一下

    software-dl.ti.com/.../index_FDS.html

    2.在文档“SPRUGY5B”中原话“Note that for EMIF16 boot, no memory is reserved by the RBL; memory usage

    depends entirely on the image stored in, and executed from, the NOR flash.”

    和“the ROM code configures the EMIF16 interface and sets the boot

    complete, then branches to the EMIF CS2 data memory at 0x70000000. No return is

    expected. No memory is reserved by the bootloader.”两句话说明程序是在外部的norflash中执行

  • 你好:

    应该不是RBL, 而是UBL, RBL和UBL 搞错了,不好意思.

    RBL是固化在ROM中的,而UBL是用户编写的bootloader程序,我说的过程是二级bootloader, 因此,对于UBL来说,UBL代码大小最大值是多少?

    谢谢!

  • 你好,

    有以下几点,希望会对你有帮助

    1.UBL大多用在达芬奇系列和omap系列的产品中。

    2.C6678可以进行二级加载,官方给的工具叫IBL,它是首先通过IIC加载EEPROM,然后再加载位于其他的外部存储器的代码实现的。

    3.用户也可以编二级加载,不过他是建立在RBL的基础上,首先RBL先运行一段用户编的代码,该段代码功能就是加载其他外部存储器的代码。

    4.不知道你看过官方的keystone bootloader的文档没,如果没有建议你先看一下,上边写的很清楚

    网址www.ti.com.cn/.../sprugy5b.pdf

  • Keystone中IBL的典型应用是通过IIC做2次加载

    就你的应用场景可采用IIC master boot通过boottable的方式从EEPROM中启动2级bootloader(用户自定义程序),这个bootloader程序大小取决于EEPROM size,需要注意的是EEPROM有2个bank,0x50和0x51,故实际最大size是EEPROM的size/2减去已占用的boot parameter table和boot config table的大小。