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.

TMS320F28069: Tools read code for C2000 and generate as hex file

Part Number: TMS320F28069
Other Parts Discussed in Thread: C2000WARE

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/619616

Hello,
I found the thread above.
I'm trying to read 0x3e8000-0x3fffff from F28069, and convert it to HEX.
But it is not successful for me.
Could you please point out my fault?


Procedure:

- A C2000Ware sample project [flash_f28069] was built and executed in CCS debug.
- The memory range 0x3e8000-0x3fffff was saved as [ccsread.out]
- the OUT file was handed to the hex2000.exe as the command file like:

>>>>>>>>>>
ccsread.out
--ti_txt

ROMS
{
 A: origin=0x007d0000, len=0x30000
}
SECTIONS
{ .text, .data, .cinit, .sect1, .vectors, .econst:
}
<<<<<<<<<<

---- The hex2000.exe didn't generate files but just responsed:

>>>>>>>>>>
C:\ti\_\hex2000>hex2000 180605b.cmd
warning: section .text not found in (ccsread.out)
warning: section .cinit not found in (ccsread.out)
warning: section .sect1 not found in (ccsread.out)
warning: section .vectors not found in (ccsread.out)
warning: section .econst not found in (ccsread.out)
Translating to TI-TXT format...
   "ccsread.out" .data ==> .data
warning: section ccsread.out(.data) at 07d0000h falls in unconfigured memory
   (skipped)
<<<<<<<<<<

I attached some files and images:

/cfs-file/__key/communityserver-discussions-components-files/171/180605_5F005F00_e2e_5F00_materials.zip


My goal:
It is to merge or combine a couple of HEX files to a single HEX.
The linked thread was the only way which I found.

  • Hello

    Why are you loading the project to device when you can convert the project OUT file to HEX?
    Try removing the SECTIONS part of the linker and just leave the ROMS part. You can list multiple OUT files in the linker file and it will combine them. You just need to make sure they don't overlap in their memory use.

    Best regards
    Chris

  • Chris,
    Thank you for your reply.


    >>>
    Why are you loading the project to device when you can convert the project OUT file to HEX?
    <<<

    The step was for duplication.
    I would ask your understanding that it would be best if two TI-HEX files are merged without an actual C2000 parts.

    The second way seemed that, to program a couple of HEX files to the same C2000 part, read and save to OUT, then convert OUT to HEX.

    >>>
    Try removing the SECTIONS part of the linker and just leave the ROMS part. You can list multiple OUT files in the linker file and it will combine them. You just need to make sure they don't overlap in their memory use.
    <<<

    No improvement. Can I ask your advice again?

    CMD file >>>>>>>>>>

    ccsread.out
    --ti_txt

    ROMS
    {
     A: origin=0x007d0000, len=0x30000
    }

    <<<<<<<<<<


    HEX2000 response >>>>>>>>>>

    C:\ti\_\hex2000>hex2000 180606a.cmd
    Translating to TI-TXT format...
       "ccsread.out" .data ==> .data
    warning: section ccsread.out(.data) at 07d0000h falls in unconfigured memory
       (skipped)

    <<<<<<<<<<

  • Hello

    My guess is that the format of the .OUT dumped from debug might not be compatible with hex2000. Use ofd2000.exe (if that doesn't yield useful results then try dis2000.exe) to try to identify what memory range is present in the OUT file.

    The most common reason for these warning messages is that the load address of those sections in the OUT file falls outside the memory range defined in the ROMS directive in the hex command file.

    Best regards
    Chris