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.

TMS570LS0432: generate bin file, Why is it so big

Part Number: TMS570LS0432
Other Parts Discussed in Thread: NOWECC, UNIFLASH

Hello

 Team

I want to generate .bin file.

I use the way is 

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

but when  I build so Long time to generate .bin,and  so big .

the .out is 686KB,and .bin is 3934209KB.

  • Hi Whong,

    This is caused by the ECC generation in linker cmd file.

    There are three ways to generate ECC:

    1. nowECC: it generates the data to be programmed into the ECC memory locations of a TMS570 Platform device with ECC Flash memory.

    2. CCS or uniflash: "Auto ECC Generation" feature will enable ECC calculation/programming when loading the program to flash.

    3. Linker command file: The vfill' affects only the ECC generation. It instructs the ECC generator to treat the flash as if it were filled with the value 0xFFFFFFFF. It's a virtual fill, because the loader doesn't need to download 3MBytes.

    For application (not bootloader), you can use linker command file to generate ECC too, but don't generate ECC for the whole flash. If the application can fit into 2 sectors, you only need to vfill those two sectors with 0xFFFFFFFF and generate ECC for those two sectors.

  • Hi Whong,

    The raw binary file doesn't include the memory address, so all the memory holes are filled with zero. The ECC address is at 0xF040_0000. The binary file contains the zeros filled to all the unused address among flash (0x00xxxxxx), SRAM (0x08xxxxxx) and 0xF040_0000. So the size binary file is about 3,936,768KB. 

  • Thank you

    Reply to that post