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.

Compiler/TMS320F28335: How to remove the zero in .bin files

Part Number: TMS320F28335

Tool/software: TI C/C++ Compiler

Hi Champs,

My customer is designing UART bootloader for F28335. Bootloader is located in FlashA(0x338000~0x33FFFF), and APP is located in FlashC(0x328000~0x32FFFF). For the APP, they use CCS post-build command to generate .bin file.

"${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" 

However, they find the generated .bin file is too large. I helped to check the content and find the data layout is as follows.

So FlashB and FlashA, except the CSM, are all zero. So .bin is too large. So my question is how to remove the useless Zeros during compiling and linking? Is any any command or parameters? 

Thanks a lot.

BR,

Young

  • Hi Champs,
    This post can be closed. We found the root cause is the CSMPasswords.asm file. Because all addresses between 0x3F7F80 and 0X3f7ff5 were programmed to 0x0000, which caused separated content. After removing .asm file, then the .bin file was decreased significantly.
    .sect "csm_rsvd"
    .loop (3F7FF5h - 3F7F80h + 1)
    .int 0x0000
    .endloop

    Regards,
    Young