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.

b2i2c problem (About creating a directly spi norflash boot image)

Hi All:

    We use the TMSC6670 DSP and want to boot from spi norflash directly. We tried to create the file to burn into norflash following the "7522.spiboot.bat" file steps which Arun provided.The first step is done, we created a .btbl file using hex6x successfully! But in the second step, using b2i2c to create .btbl.i2c file, we got a problem. A hint is shown:'Max input array size exceeded'. 

    Description:The .out file is 2,614KB large and created by CCSv5.3. The .btbl file is 632KB large.

    Questions:5102.7522.spiboot.bat.7z

    1)Does the b2i2c tool has a limited size of input file?If so, what is the limited size? And how should we resolve this problem in this situation?

    2)Is the "7522.spiboot.bat" file steps correct? Am I doing something wrong according to my description?

    3)After the "7522.spiboot.bat" file steps, do I have a file I can burn into SPI Norflash by norwriter?

Thanks,

Karlphy

  • Hi Karlphy,

    We provide the source for the B2i2c function in the MCSDK_INSTALL_DIR/tools/ibl/src/util folder. The default max size configured in the tool is 0x20000 .

    You can change the line 161

    #define SIZE    0x20000  

    and rebuild the utility

    I will review the spiboot.bat file and let you know if any mods are required. The .dat you get is in big endian mode, to convert it to little endian, you will need to use byteswapccs utility.

    Regards,

    Rahul

    PS: Refer :http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/238990/839358.aspx

  • Hi, Rahul:

        First of all, thanks for the useful advises, they are very very helpful indeed! And thanks for the link you gave me, I get lots of imformation from the link, thank you very much!!

        We use the vs2008 to rebuild the b2i2c utility successfully and get the .i2c file finally. Then we go through the steps. when we reached the last but one step. We need to use romparse utility. It seems that romparse utility also have a limited size of the input file. Our .i2c.ccs file is 632KB large. When we use our own file, a window appeared, it seems to be an internal memory error. And i will attach the print screen picture.  When we use a dummy test file as an input file of romparse, there isn't such an error. We can rebuild the b2i2c successfully, but we fail at rebuilding the romparse utility by spending two days. Can you help me with this issue? Because it's urgent. 

        By the way, according to the link, there seems to be a big bug in romparse.

        

        "Note that in romparse (can find the version of the tool) that was provided in mcsdk_2_01_00_03, there is a big bug line 509.

    the original code says:

            case SWPLL_PREDIV:    current_table.common.swPllCfg_lsw &= 0x00ff;
                                  current_table.common.swPllCfg_lsw |= ((value & 0xff) << 16);
    when it should have been

            case SWPLL_PREDIV:    current_table.common.swPllCfg_lsw &= 0x00ff;
                                  current_table.common.swPllCfg_lsw |= ((value & 0xff) << 8);"

        Is it true? Or could you help me rebuilding the utility?Fixxing that bug and change the limited size to (32768 * 8) in line 76 of "romparse.h"?

        And there is another question. In the BootLoader's User Guild, it is said that "Romparse is used to append the boot parameter to boot table or a boot configuration table." But we can't find any references on how to append the boot configuration table to boot table, can you give me a reference?

        Best reguards!

        Karlphy.

  • Hi Rahul:

    Now we have made some progress, we have fixed the b2i2c and romparse limited size problem.

    We want to boot from SPI directly, but some code should be put into DDR. Before that, we should Initialize the DDR by boot configuration table. Can you tell me how to insert the boot configuration table to the boot table or give me some references? Thank you.

    Best Reguards

    Karlphy

  • Hi Karlphy,

    We have recently updated the bootloader application notes to cover the configuration of DDR Memory using boot config Table taking one of the boot modes as the example. Please refer to the section 3.12.2 in the bootloader application notes for the details of the implementation.

    http://www.ti.com/lit/ug/sprugy5c/sprugy5c.pdf

    I am also attaching an example we had created for C6657 that you can refer for this purpose.The example is designed for the EVM.

    2630.SPIboot_ddr.zip

    Please refer to the tiboot.h file(from ROM source) for you device to see if the DDR configuration table matches with the one provided in the example.

    Regards,

    Rahul

  • Hi, Rahul,

    Please excuse my lacking of knowledge. I have read the updated bootloader application and SPIboot_ddr.zip times and times. I know what is the boot configuraton talbe is like and what does the boot configuration table do but I don't have any idea of how to insert the boot configuration table to the boot table. Could you point it out to me more clearly or give me some detail advises, please? Our digital board doesn't have a eeprom, so we need to boot from spi directly. Thank you.

     

    Best Regards,

    Karlphy