我读了6678 的bootloader,在通过I2C引导时,需要将.out文件进行转换,然后用MCSDK提供的烧写工具将.bat文件烧写进去,但是不是很清楚具体的转换步骤,各位专家能不能帮解释的清楚一些?
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.
我读了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\”
1. 多核加载可以在应用程序中使用core0引导其他core进行启动。将所有core的程序写在一个工程下,利用DNUM区分不同的core执行不同的任务。此时注意cmd文件对代码段和数据段的分配,代码段应放入SL2中。
2. 多个core多个out文件的烧写我也没有尝试过。