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.

TMS320F280025C: TMS320F280025C

Part Number: TMS320F280025C


Hi TI 

The problem comes back now. We increase more function to our project, and bin file size went back to 1033KB from 71KB, and I do not change cmd file. 

And there is also a problem with the content of the bin file, it seems to be a mess. Completely different from the original format. Please help me, thanks

John

  • Please zip up these files ...

    • executable .out file
    • linker map file
    • hex2000 command file with the ROMS directive in it

    Attach that zip file to your next post.  Also show the exact command used to invoke hex2000.

    Thanks and regards,

    -George

  • To_ti_08242022.zip

    Hi George,

    Thanks so much for your quickly replay. Attached is zip file that include all your request.

    The the exact command used to invoke hex2000 as follow:

    command: "${CG_TOOL_HEX}"

    pattern: ${command} ${flags} ${output_flag} ${output} ${inputs}

    Post build step:"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000" "${CG_TOOL_ROOT}/bin/hex2000" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

    Please let me know if you need any more documents.

    Thanks

    John

    C2000_Hex_Utility_setting.docx

  • In the earlier thread on this topic, I made it clear that tiobj2bin does not work on ELF (built with --abi=eabi) files.  I showed the details of how to create a binary file with the hex utility hex2000.  Therefore, you should not have a post-build step.  To learn how to configure the hex utility from CCS, including how to pass in a command file, please see the article Hex utility in CCS.

    Thanks and regards,

    -George

  • Thanks George for your replay.

    According to your suggestion, I cut post-build step, but the CCS can not generate bin file. I look back this earlier thread on this topic, you did spend some time with me at that time, and give me some solution. I try to re do that, because I fixed the bin size issue with myself solution at last time. I found I can not set ROMS directive correctly because I got error message:
    <Linking>
    "../28002x_generic_flash_lnk_V4.cmd", line 52: error #10008-D: cannot find file "ROMS"
    "../28002x_generic_flash_lnk_V4.cmd", line 52: error #10021-D: expecting filename, option, MEMORY, or SECTIONS instead of "{"
    "../28002x_generic_flash_lnk_V4.cmd", line 54: error #10043-D: expecting "";"" instead of "}"
    error #10010: errors encountered during linking; "DS3_280025_20220824_Rev1_V5_T57R11F18_t1.out" not built
    I add ROMS directive at my .cmd file:
    ROMS { //line 52
    all_mem: o = 0x106040, l = 0x19fc0
    }
    This is why I did not use this at last time.

    My CCS setting is suitable for 280049 chip, which produces 70KB bin files, and sometimes 70KB bin files for 280025 chips, but now produces 1033KB bin files. The problem seems to be related to the program size of my design. My current program size for LS RAM is around 90+%. That's where I get confused.

    Please let me know how to set ROMS directive, I can not find this at TI webpages.

    Thanks

    John

  • The ROMS directive does not go in the linker command file.  Instead, it goes in a separate command file that is an input the hex utility hex2000.  For a better understanding of image mode and why that requires a ROMS directive, please search the C28x assembly tools manual for the sub-chapter titled Image Mode and the --fill Option.  Note you do not need to use the --fill option.

    Thanks and regards,

    -George

  • Great, I will take look it.

    Thanks

    John

  • Hi George,

    I read the doc of the  C28x assembly tools manual but I still can not let the ROMS directive work in my case. Do you know where I can find a example of ROMS directive in TI system?

    Thanks

    John

  • Do you know where I can find a example of ROMS directive in TI system?

    Unfortunately, no.  

    If you have a post-build step, please remove it.

    Enable the hex utility.  Be sure to use the options --binary and --image.  Put the ROMS directive in separate text file, and supply it as an input to the hex utility.  To understand how to implement these details in CCS, please see the article Hex utility in CCS.

    Thanks and regards,

    -George

  • Thanks George for your help. This resolved my issue. 

    Jphn