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.

TMS570LC4357: tiobj2bin.bat - added in linker generated ECC and it made my .bin file huge

Part Number: TMS570LC4357


Hello,

I am trying to make a .bin file for my bootloader code and for my app code. I have been able to successfully create a .bin file for my app code (~101 KB) when auto ECC generation was enabled; however, once I added in linker generated ECC into the app code's LCF and into the bootloader's LCF and disabled auto ECC generation, it causes the build to make huge .bin files (~3.9 GB). It looks like the .bin file is filling the memory space in between my app/bootloader data and the ECC (which is a vast range) with 0s.

1. Why is the tiobj2bin utility yielding such a large .bin file (filled with 0s)?

2. Are there any revisions that I can make to my LCFs to reduce the .bin file sizes?

I appreciate your time and assistance.

Thanks,

Vicki

  • Hello Vicki,

    Yes, the bin file is very big sine it contains the content for the whole flash.
  • The raw binary file doesn't include the 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.

    The Flash API has an option to calculate and program the ECC automatically.

  • Hello QJ Wang,

    Since I will ultimately not be using the CCS loader to program my application and bootloader images, I will not be able to take advantage of this Auto ECC generation since it must be enabled in the CCS project properties. I will ultimately be using an RS-232 connection (or some similar protocol) to program my device.

    Is there anyway to use Auto ECC generation without using the CCS loader to program the application and bootloader images?

    Regards,
    Vicki
  • Hello Vicki,

    You can calculate and program the ECC in your bootloader using the flash API. There is no way to use the autoECC without using the CCS loader.

    Generate ECC using bootloader command file, and load the bootloader the ECC for the whole flash using CCS loader.

    Use UART bootloader to download the application image to flash and calculate/program the ECC for the application (16 bytes boundary).