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.

CCS/TMS570LS3137: How to Generate TWO(2) Binary or .BIN outputs files for the same CCS project .

Part Number: TMS570LS3137


Tool/software: Code Composer Studio

Hi ,

Is there a command to generate 2 binary files for same project that covers 2 different address ranges ?.

I am working with a project that generates ECC for the Flash region of TMS570LS3137 this generate too huge .bin file of 3.843GB ( 0x00020000 to 0xF0400000 ) , and limits our .bin file generation capability .

Option is to generate 2 binary files of the SAME PROJECT for 2 different FLASH regions (one for code and one for ECC ) and burn the .bin files to make the project work as a single project with ECC enabled .

If I try to Generate .bin or Binary file for the long  range address the .bin file would be too large and fill all the region with 0x00 is .bin file of 3.843GB ( 0x00020000 to 0xF0400000 )  .

To Overcome this long range addressing we have to generate HEX file as the non required regions are not filled in .HEX file.

We have to use .hex file generated but our tool does not support .hex files .

In our Project we have code FLASH area at following address 

VECTORS (X)  : origin=0x00020000 length=0x00000020

And the respective ECC Flash at following address

ECC_VECTORS (R) : origin=0xF0400000 length=0x000004 ECC={ input_range=VECTORS, algorithm=eccalgorithm, fill=true }

  • Hello Chandren,

    Please use linker CMD to generate the ECC for the whole flash.

    http://processors.wiki.ti.com/index.php/Linker_Generated_ECC

  • Hi Mr.Q J Wang ,

    Sorry Maybe I did not frame my Question properly , Here is my question properly framed.

    ECC generation produces a huge .binary file starting at 0x00000000 ending at 0xF0400000 . We cannot use .out or .hex file as our tool does not support other than .binary file .

    1) We are able to generate ECC for Whole Flash area. 

    a) FLASH area resides at 0x00000000 to 0x00300000 . If we try to generate .binary file the ECC will be missing as 

    b) ECC area will be in ECC Flash are starting at 0xF0400000 

    c) a huge .binary file starting at 0x00000000 ending at 0xF0400000 is generated 

    2) To Solve I need to generate ECC and than split the .out file into 2 binary files 

    a) Binary file 1 will contain 0x00000000 to 0x00300000

    b) Binary file 2 will contain ECC of file 1 from 0xF0400000 to 0xF040F000

    3) So I need a command that can split .out file into 2 separate regions of .binary files .

    4) Following command generates a huge .binary file starting at 0x00000000 ending at 0xF0400000 .

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd470.exe" "${CG_TOOL_ROOT}/bin/hex470.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

    Thanks and warm Regards

  • I understand.

    My suggestion is to use linker CMD file to generate ECC. If you generate bin file for the whole flash and ECC area, all the data from 0x00000000 to 0xF0400000 will be included in the bin file, this is why the image is 4GB. Using linker CMD to generate ECC is the best way.