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】-用Ethernet加载6678的时候可否用以太网包来初始化DDR吗?不用EEPROM参与行不?

专家好!

我看了bootloader手册,同时用andy yin给的Secondaryboot_5F00_eth_5F00_source.zip,可以将8个out转换成一个目标文件用以太网加载,想请问一下:

1 RBL能写最高端RAM预留了0xD23F区域吗?

a)如果boot table里的32-bit Section address地址是最高端RAM预留了0xD23F字节,能写进去吗?  或者用boot configure table能实现写该区域吗?

b)就是,我想增加一个boot table或boot configure table,让他来写core0的BOOT_MAGIC_ADDRESS 0x1087FFFC,这样能写进去吗?

c)也就是我想不通过core0来boot其他7个核,我直接在boottable里增加8个表,分别写8个核的BOOT_MAGIC_ADDRESS这样可行吗

2以太网加载的时候, 能否在8个核转换出来的文件最前面加上一个boot table或boot configure table,只是用于DDR初始化,这个方案能实现吗?

因为手册上说:

a) Bootloader在L2最高端RAM预留了0xD23F字节,其中包含0x100长度的DDR配置表。

b) 手册说,RBL在加载完每一个boot表后,都会去检查DDR配置表的第一个字

如果是1的话,它就会根据下面的配置来初始化DDR寄存器吧?然后我放在DDR上的代码RBL就可以写进去了是吧?

3 因为代码和数据比较大,肯定要放在DDR,我在硬件设计的时候只用以太网 ,不接EEPROM和FLASH 可以吗?

  • 可以通过预留的DDR Configuration table进行DDR的初始化。

  • andy 您好!

    请问

     

    1 Boot Parameter table启动后是从哪load到L2ram里面这个区域的?

    2 用以太网加载的时候也必须要用IIC的EEPROM了?

    3 请问有没有能初始化DDR的转换工具?

     

    谢谢

  • 您好,

    论坛上的EMAC二级加载例子,首先会有一段客户自己的代码烧写在EEPROM中由I2C加载起来运行对boot parameter table更新,具体存放的地方可以由应用程序确定,只要不覆盖预留给RBL的L2空间及DDR即可。

    如果需要对DDR初始化,或者需要使用自定义的boot parameter table,就需要I2C实现二次引导,否则可以使用RBL默认参数进行加载。

    关于DDR初始化可以参考MCSDK 中的PCIE bootloader。

  • andy

    您好,谢谢您的解答,还想问:

    1 我通过硬件引脚将DSP设置为Ethernet启动,他还会从I2C中读程序执行吗?

       有8种启动方式,如果选择2,或3 SGMII启动,DSP跟I2C还有什么关联呢?

      手册上说:就像2.2节中提到的,所有的启动方式启动参数表有12字节是相同的,其余的和启动方式有关,RBL为每一个启动方式拷贝一个默认的启动参数表,放到corepac0  L2预留的段,并基于启动配置,根据bootstrap引脚修改默认值。

    2  您上次给的二次加载工具,最终生成的 i2crom.swap.bin 是要用仿真器烧写到EEPROM里面的吧? 我现在build 不过

    请问andy:  bconvert64x  b2i2c  b2ccs romparse  byteswapccs  ccs2bin

    这些工具在哪里啊?

     

    非常感谢

  • EVM板对于任何一种加载方式,都会强制首先从I2C EEPROM启动,但是在正常启动时可不通过EEPROM。

    加载工具可以在安装的CCS及MCSDK中找到,同时参考附件的工具。

    Image_Handling_Utilities.7z