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.

如何将.out文件烧进EEPROM?



我读了6678 的bootloader,在通过I2C引导时,需要将.out文件进行转换,然后用MCSDK提供的烧写工具将.bat文件烧写进去,但是不是很清楚具体的转换步骤,各位专家能不能帮解释的清楚一些?

 

  • 首先,EEPROM中烧写的是二级引导程序IBL。即拨码开关选择启动设备为I2C EEPROM启动后,DSP上电->执行RBL(即BOOTROM)->执行IBL(烧写在EEPROM中)->执行NAND/NOR/PCIe/TFTP(加载.out镜像)等。

    EEPROM的烧写请参考“..\ccs\mcsdk_2_00_05_17\tools\writer\eeprom\”文件夹下的文档、代码等。

    IBL源代码请参考“..\ccs\mcsdk_2_00_05_17\tools\boot_loader\ibl\src\”。IBL可以被编译,然后烧写到EEPROM中。

    至于dsp应用程序镜像文件*.out,一般使被烧写到NAND或者NOR中。

  • dennis wu

    ibl编译完了生成的是.out文件,我不明白的是这个文件要如何转成能够直接写到eeprom里的文件?

    我读了6678的bootloader,.out文件首先经过hex6x转换成boottable。然后用romparse加上bootparameter,再用b2i2c转换成可以直接写的文件,这样理解正确吗?

    哪里有讲这些工具的使用过程呢?

  • 1.对IBL的重编译请参考“...\ccs\mcsdk_2_00_05_17\tools\boot_loader\ibl\doc\build_instructions.txt”。需要下载MinGW软件,执行命令行编译。

    2.执行命令“make evm_c6678_i2c ENDIAN=little I2C_BUS_ADDR=0x51”后,生成boot configuration table烧写程序“i2cparam_0x51_c6678_le_0x500.out”、IBL启动镜像文件“i2crom_0x51_c6678_le.bin”和“i2crom_0x51_c6678_le.dat”文件。其中“i2crom_0x51_c6678_le.bin”将被烧写至EEPROM中。

  • 读bootloader手册,重点关注理论性的东西,比如三个表格,以及它们的格式定义。这部分不是很好理解。但有些实际的操作你必须自己是试验

    实际的操作参考ibl下的doc文件夹。

  • 谢谢回复,I2C引导过程就是你上面提到的过程,如果我用SPI直接引导,不用二次引导,怎样将.out文件转换成需要烧进SPI flash的文件?都需要什么工具?

  • SPI flash启动具体我没有做过。

    以前做过RBL+IBL+NAND flash的方式,NAND中直接烧写.out文件即可。参考“\ccs\mcsdk_2_00_05_17\tools\writer\nand\”

  •  您好dennis wu

    这段时间我一直在做NAND FLASH 自加载。但我刚刚接触6678,都不太熟悉。现在单核IBL nand boot可以成功了,如何做多核的程序自加载呢?还有,现在out直接重命名bin之后,多个核之间的out文件怎么烧写呀,还需要合并吗?需要boot parameter table 和 DDR table之类的配置吗?

    不知道您是否有过相关方面的开发经验,如果方便能提供一些例程吗?不胜感激

  • 1. 多核加载可以在应用程序中使用core0引导其他core进行启动。将所有core的程序写在一个工程下,利用DNUM区分不同的core执行不同的任务。此时注意cmd文件对代码段和数据段的分配,代码段应放入SL2中。

    2. 多个core多个out文件的烧写我也没有尝试过。