In a CCS-based project, adding the following post-build steps can generate a bin file:
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000.exe" "${CG_TOOL_ROOT}/bin/hex2000.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"
In this command, the weird {CCE_INSTALL_ROOT} environment variable is equivalent to {CCS_INSTALL_ROOT} in the CCS terminal environment.
Even so, it still fails to generate. Find /utils/tiobj2bin/tiobj2bin.bat in the CCS installation directory, change all "470" to "2000", and rebuild. Then it will generate correctly.
At this point, you may see an error like "C: cannot be found". This is caused by the following block in tiobj2bin.bat. If you really hate seeing it, just delete the block; it won't affect bin file generation.
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
)
Troubleshooting bin Generation for the C2000 Series