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.

TMS320F28388D: bin file not generated by CCS12

Part Number: TMS320F28388D

Hi Expert,

I used to use below command to generate bin file by CCS10, but now not be able to use the same command to generate bin file by CCS12, could you help check what is wrong with CCS12?

"${CG_TOOL_HEX}" -m "${BuildArtifactFileName}" -o "${BuildArtifactFileBaseName}.mot16" -order MS -romwidth 16&"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000" "${CG_TOOL_ROOT}/bin/hex2000" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"&"${CG_TOOL_HEX}" -i "${BuildArtifactFileName}" -o "${BuildArtifactFileBaseName}.hex" -order MS -romwidth 32

  • Hello Strong,

    Is there a specific error message you're getting in CCS (or where you're running this command)? Have you verified that the names in ${} are correct and have proper paths in the Linked Resources within the Project Properties?

    Best regards,

    Omer Amir

  • Hi Omer,

    I use a simple function below:

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

    There report the below error:

    **** Build of configuration CPU1_FLASH for project hrpwm_ex1_duty_sfo_v8 ****
    
    "C:\\ti\\ccs1240\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
     
    "C:/ti/ccs1240/ccs/utils/tiobj2bin/tiobj2bin" "hrpwm_ex1_duty_sfo_v8.out" "hrpwm_ex1_duty_sfo_v8.bin" "C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/bin/ofd2000" "C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/bin/hex2000" "C:/ti/ccs1240/ccs/utils/tiobj2bin/mkhex4bin"
    makefile:166: recipe for target 'pre-build' failed
    'C:' is not recognized as an internal or external command,
    operable program or batch file.
    gmake[1]: [pre-build] Error 255 (ignored)
     
    gmake[2]: 'hrpwm_ex1_duty_sfo_v8.out' is up to date.
    
    **** Build Finished ****
    

    This command used to be verified well with CCS10, but customer want to use F28P65x and have to use latest CCS, Can you help reproduce this issue? 

  • Have you verified that the names in ${} are correct and have proper paths in the Linked Resources within the Project Properties? I don't know what the CCE_INSTALL_ROOT path is, or any of the other command line variables so I can't reproduce this until you show me what these are supposed to point to.

  • Hi Omer,

    sorry seem CCE_INSTALL_ROOT is a mistake which should be CCS_INSTALL_ROOT,  names in ${}  should not be the issue because everything run well with CCS10.

    I do the comparison with exact the SAME project between CCS10 and CCS12. 

    CCS10 can generate the bin file while CCS12 can not. 

    You can reproduce this issue with this project, try to build the project with CCS12 and then CCS10. remember to set CPU1 FLASH to active. 

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/171/adc_5F00_ex1_5F00_soc_5F00_software.7z

  • I tried importing your project, but it doesn't seem to import properly. It seems I'm missing quite a few of the normal Project Properties as well.

    I tried using the build command you have in your initial post on a driverlib example (adc_ex2_soc_epwm), and there were two things of note. The first it seems is that you have extra quotation in your command (removing this got rid of that first error for me).

    The second issue is that it seems like the paths that it created in the Console output were incorrect, it looks like it was looking for a .out file in the main project directory instead of the CPU1_RAM director where the .out file is generated. I recommend double-checking the paths to make sure they point at locations where files are located, it seems like it's looking for the .out file in the same directory as the project itself by just calling it "adc_ex2_soc_epwm.out".

  • Hi Omer,

    Could you help provide a way to generate bin file with CCS for F28P65x?  what command should be used? 

  • Hi Omer,

    have you set  CPU1 FLASH to run the project? you should see the build result are different when using CCS10 and CCS12.

    and you may need to Build Twice to clean the issue when using CCS10, then there will have bin file generated by CCS10. 

  • Hello Strong,

    I still don't see the same error as you, and I'm unable to get past the error that I see. I will forward this to the compiler team, since they may know more about how to generate binary files in CCS.

    Best regards,

    Omer Amir

  • There report the below error:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    **** Build of configuration CPU1_FLASH for project hrpwm_ex1_duty_sfo_v8 ****
    "C:\\ti\\ccs1240\\ccs\\utils\\bin\\gmake" -k -j 8 all -O
    "C:/ti/ccs1240/ccs/utils/tiobj2bin/tiobj2bin" "hrpwm_ex1_duty_sfo_v8.out" "hrpwm_ex1_duty_sfo_v8.bin" "C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/bin/ofd2000" "C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/bin/hex2000" "C:/ti/ccs1240/ccs/utils/tiobj2bin/mkhex4bin"
    makefile:166: recipe for target 'pre-build' failed
    'C:' is not recognized as an internal or external command,
    operable program or batch file.
    gmake[1]: [pre-build] Error 255 (ignored)
    gmake[2]: 'hrpwm_ex1_duty_sfo_v8.out' is up to date.
    **** Build Finished ****
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    This command used to be verified well with CCS10, but customer want to use F28P65x and have to use latest CCS, Can you help reproduce this issue? 

    This error appears to be related to:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1197688/tms320f280039c-post-build-failed-in-ccs12-2/4524985#4524985

  • Hi Ki,

    Thanks for your input, could you suggest how to generate bin file with CCS 12 for F28P65x EABI project? any workaround solution is ok.

  • I will have the compiler experts comment further.

  • Ki,

    Thanks, could you help provide a solution by today, customer are waiting for the solution. 

  • Please see this reply to a similar forum thread.  If you have further questions, please post to them to that thread, and not here.

    Thanks and regards,

    -George

  • What is the status of this issue? I struggle with the same problem.

    The link to the reply you mention is broken.

  • The link is to an internal forum thread, but with this response:

    To create a binary file, you cannot use the hex utility option --binary, and nothing else.  There is more to it.  

    If this is an older COFF ABI build, then use tiobj2bin as described in the documentation of Pre and Post Build Steps in CCS.  If this is a newer EABI build, then adapt the workaround described in this forum post.

    The workaround the external forum post linked there presumes hex2000 is invoked from the command line.  Also focus on the workaround and not what led up to it.  If this doesn't work, please start a new thread. Thanks!