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.

TMS320F280039C: Calling tiobj2bin in Post Build .bat generating bin file failed

Part Number: TMS320F280039C


Hi Team,

I'm asking for my customer:

The problem is still not fixed in CCS V12.5.

Best Regards,

Ben

  • It is likely your customer builds for the newer EABI, and not the older COFF ABI.  Over time, this will become ever more likely.  For such customers, a fix to this problem only makes the tiobj2bin.bat failure easier to understand.  You still cannot use it to create the binary file.  To do that, adapt the workaround in this forum post.  This is why a fix for this problem is a low priority.

    If your customer builds for the older COFF ABI, then you can edit tiobj2bin.bat and remove these lines ...

    rem ========================================================================== 
    rem C2000 EABI files are not supported.  This code uses ofd2000 to search the
    rem file header to determine whether it is an ELF file or not.  All the output
    rem of that command, including any error diagnostics, is thrown away.  For the
    rem details of how this works, Internet search the commands used.
    rem ========================================================================== 
    if %base_ofdcmd% == ofd2000 (
       setlocal enabledelayedexpansion
       %ofdcmd% --obj_display=none,header %outfile% | findstr/c:" ELF " > nul 2>&1
       if !errorlevel! equ 0 (
          echo C28x files built with --abi=eabi are not supported
          exit /b
       )
       setlocal disabledelayedexpansion
    )
    

    If you make this change, then it is safe to use tiobj2bin.bat only with a COFF ABI build.  If you use it on a EABI build, the resulting binary file may be incorrect, with no diagnostics to let you know about the problem.

    Thanks and regards,

    -George

  • It just fails to execute this command in the .bat file, with syntax error, no matter what kind of ABI format we choose.

    %ofdcmd% --obj_display=none,header %outfile% | findstr/c:" ELF " > nul 2>&1

    The syntax error happens because the CCS renders executable path with '/'  path character rather than  '\' in WindowsOS. There may be two ways to solve this problem: 1. Save the output string of the 'ofdcmd' command before the pipeline to a temporary file and then take it as input for the 'findstr' command; 2. Just rendering executable path with  '\' in WindowsOS, avoid more potential problems.

  • Thank you for characterizing the problem further.  That helped me find a simpler workaround.  On the problem line, surround %ofdcmd% with quotes ...

       "%ofdcmd%" --obj_display=none,header %outfile% | findstr/c:" ELF " > nul 2>&1

    Is this workaround practical for you?

    Thanks and regards,

    -George