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.

Problem with converting .out to .bin (hex470.exe)

Other Parts Discussed in Thread: CCSTUDIO

Dear all

Can someone help me to deal with my problem? When I used hex470.exe to convert the .out file to .hex, I typed C:\CCStudio_v3.2\tms470\cgtools\bin\hex470.exe -a led.out in the cmd line and then I got 4 files(led.a0, led.a1, led.a2, and led.a3).  I can't find anyone had the same problem like me. Could someone tell me what i have to do to convert them to a .bin file. thanks a lot.

  • If you are looking to convert to a raw binary file than you may want to try out the -b option, which works for other CGT hex tools to generate a binary output but is undocumented. The -a option you have in there tells the hex converter to provide an ascii output format as described in section 11.12.1 of SPNU118h (the TMS470 Assembly Language Tools User's Guide).

  • Thanks for ur help~ I had converted .out file to a binary file. 

    And another question... We use DM6446 as our cpu for some special system since DM6446 is so powerful with usb, dma, ddr2 controller, spi and uart.  I read many topics here and found that you had suggested someone that he load his own application via uart.  I had tried to use sfh_DM644x.exe from dm644x_FlashandBootUtils_1_50 to load our application,a led test, to NAND via uart.  However the leds on the EVM didn't turn on after I successfully burned my application to NAND.  Is there anything wrong? Or we just can't load our application without Linux kernel.

  • Dear Thompson

    I am very curious about that, if it's possible to directly UART boot DM6446 by the converted binary code?

    That is, when I execute the sfh_DM6446.exe in command line, I wondered that if I could replace the u-boot.bin by the converted ".bin file " to boot DM6446?

     

     

  • Meng Che Chuang said:
    Is there anything wrong? Or we just can't load our application without Linux kernel.

    The easiest way to do this would be to modify the existing UBL or the existing U-Boot sources to do what you want to do, as opposed to starting from a blank CCS project and converting it to a binary image. I suspect some initialization is missing in your binary image that is present in the UBL/U-Boot images, possibly the configuration of the DDR2 interface, leading to the failure to boot. You do not necessarily need the Linux kernel itself, but using the existing boot loaders to initialize the board before running your own code will make your job easier, since you would have to replicate much of the boot loader functionality in your own binary image to have it boot on its own.

  • Kuo-Chiang Shang said:

    I am very curious about that, if it's possible to directly UART boot DM6446 by the converted binary code?

    That is, when I execute the sfh_DM6446.exe in command line, I wondered that if I could replace the u-boot.bin by the converted ".bin file " to boot DM6446?

    Yes this is possible, however the image must be fully bootable, meaning it either fits and executes entirely out of internal memory or boots in multiple stages like UBL -> U-Boot does to configure the DDR2 interface and than load to DDR2 to execute. If you have a .out file from CCS that you convert directly to a .bin file and load that with the serial loader to NAND flash it will probably not boot properly unless care was taken to ensure the image was bootable, in general it is easier to start with the UBL/U-Boot and work backwards.

  • Dear Bernie Thomp

    Thank you for your reply. But I can't understand what actions should be taken for preparing a bootable binary image.

    Would you please kindly offer us some bootable CodeComposerStudio project example? 

    A simple LED test project for Davinci EVM Board would be very helpful to us. 

    Thank you very much.

     

     

  •  

    (1)Before i transfer xxx.out  to xxx.bin , do i need to modify anyhing in my xxx.cmd file??? 

    My xxx.cmd file is described in  under text

    MEMORY

    {

      IRAM:    o = 0x00000000   l = 0x00004000

    DRAM:    o = 0x00008000   l = 0x00004000

    AEMIF:    o = 0x20000000   l = 0x02000000

    DDR2:    o = 0x80000000   l = 0x10000000

    }

    SECTIONS

    {

       .bss   > DDR2

      . cinit  > DDR2

      . cio    >DDR2

      .const >DDR2

      .stack > DDR2

      .system  >DDR2

      .text  > DDR2

      .ddr2    >DDR2

    }

     

    (2) I compile a simple LED test code in TMS470 ,how can i demonstrate that the binary image file is correct or wrong on Davinci EVM bord ??