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.

.out file to .bin file for CCS6.1

I want to convert hex to bin and I am using TI hex6x.exe from project utilities. I use the following link as reference and create my cmd file.

-b
-image
-zero
-memwidth 8
-linkerfill
-fill 0x00000000

ROMS

  FLASH: org = 0x800000, len=0x80000, romwidth=8;
  FLASH: org = 0xc000000, len=0xb0000, romwidth=8;
  FLASH: org = 0xc0b0000, len=0x6a000, romwidth=8;
  FLASH: org = 0x81000000, len=0x1c0000, romwidth=8
}

I have four flash, because I use MSMSRAM, L2, L3.....  Since difference part of memory has different length, so I create four FLASH.

The error I got is:

error: illegal input character: 0x3B
error: illegal input character: 0x3B
error: illegal input character: 0x3B

INTERNAL ERROR: hex6x.exe experienced a segmentation fault
This is a serious problem.  Please contact Customer
Support with this message and a copy of the input file
and help us to continue to make the tools more robust.

I saw some old post did not use this tool for older CCS, instead they edit post-build with some cmd like.

For CCS4

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd470.exe" "${CG_TOOL_ROOT}/bin/hex470.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

For CCS 5.3

"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd.exe" "${CG_TOOL_ROOT}/bin/armhex.exe" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

I am using CCS6, these cmd could not solve my problem.

 

  • Hi Titus,
    I am a little bit confuse right now. My goal is convert from .out to .bin file. That post is convert from .out to boot table. Why do I need a .btbl file? I found one in my project, but that file does not get newest update when I build project. The example from the post does not include DDR3 and MSMCSRAM, I have done that in the past, but the .out file can not completely convert to .bin file. If I only specify the region inside L2RAM, I will get warning for those region inside MSMCSRAM and DDR3 can not be converted. That's why I have several "FLASH". Is that true, when you convert project .out file to .bin fine, no matter how many stuff you store outside of L2RAM, you just left it as it is?
    v/r
    Yoyo
  • Hi Yoyo,

    What is the device used(part number) and boot mode?

    If you are using keystone I device, please refer below FAQ page.

    Thank you.

  • Hi Raja,

                I am using EVMK2H14 and boot through Ethernet.  The Uboot and application.bin will pass from server to Keystone2 ARM and load into the corePac.  I only have application.out which generated by CCS6.1.  I need somehow convert it to .bin file.

  • Hello Yoyo Lee,

    Please find the keystone II bootloader example for ethernet from below link.

    Thank you.

  • Hi Raja,

                I have did gone through CCS and generated .bin file by using these command as output.

    "${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd6x.exe" "${CG_TOOL_ROOT}/bin/hex6x.exe" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

                 After I build my application then I got the .bin file

                My old .out file only 7mb now this new .bin file is 2GB.  I understand TI's .out file is a compressed version, but the trade off between .out and .bin file is too much.   I don't need anything to boot, and I just want to run it. Is there any other way?

              Sincerely

               Yoyo