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.

TMS320F280025C: Filling the empty spaces using HEX2000 utility

Part Number: TMS320F280025C
Other Parts Discussed in Thread: C2000WARE

Hello,

I'm trying to use the HEX2000 utility to fill out the empty spaces in the SREC with the value 0xFFFF and compute the CRC. However, I'm getting the following error and it seems that the HEX utility is opening the file and only reading the first line.

C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/hex2000 -image pbls.19 -fill=0xFFFF -o pbl.srec

makefile:265: recipe for target 'post-build' failed
fatal error: cannot open input file "S00600004844521B.out": No such file or
directory

I tried modifying the command to this to do the conversion directly from the .out but without much success either.

C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/hex2000 -image -fill=0xFFFF -o pbl_gemini.srec
makefile:265: recipe for target 'post-build' failed
fatal error: no input files provided

What should be the syntaxis to fill the empty spaces with 0xFF?

Thanks!

  • I presume you invoke the hex utility as part of building a project in CCS.

    Please search the C28x assembly tools manual for the sub-chapter titled Image Mode and the --fill Option.  You'll learn that you need to supply a ROMS directive in a hex command file.  To learn the details of how to do that in a CCS project, please see this forum thread.  The thread does not immediately start with this topic, but eventually covers it.

    Thanks and regards,

    -George

  • Thank you George for your quick feedback.

    I was missing the ROM directives; I have a follow up question I hope you can help me with.

    I'm trying to generate the CRC over a specific memory region (0x80000-0x8F000). Now I’m using the HEX2000 to fill with 0xFFFF the empty spaces in my S19 file, how can I do the CRC for that memory region after adding the 0xFFFF? 

    I saw the example using the GROUP directive and the linker, but I think this is only computing the CRC over the data without filling (with 0xFFFF) the CRC, I was planning to write a python script to perform the CRC over the data, but I don't want to reinvent the wheel if there is a solution already available within the TI toolchain.

    Thanks a lot!

  • The hex utility has no features that support ...

    generate the CRC over a specific memory region

    I recommend you start with the CRC examples in C2000Ware.  This forum thread looks helpful.  I suggest you get it working without any of the complications of doing a fill.  Then add the fill.

    Thanks and regards,

    -George

  • I already tried. You can't do this.

    Here's a solution: convert CCS directly to Bin, and then compute CRC with SCrec. cat.

    The main reasons for this are:

    TI generates Intel HEX, which does not conform to Srec Intel HEX or INTERL-HEX-16.