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.

Compiler/TMS320F28335: CCS6.2 and CCS9.3 creating different hex file when using the same compiler (18.1.1.LTS)

Guru 20035 points
Part Number: TMS320F28335

Tool/software: TI C/C++ Compiler

Hello, 

Using the same CCS project and compiler (18.1.1.LTS), CCS6.2.0.00050 and CCS9.3.0.00012 created different hex files (only one line was different..see below). 

The map files were exactly the same.

What could be causing this issue?

Stephen

 

CCS6.2

:20645200000000000000000000310030003A00310036003A00350030000000000000000089

CCS9.3

:20645200000000000000000000310030003A00310035003A0030003200000000000000008D

  • Please install the cg_xml package, then use the objdiff utility in it to compare the final executable .out files created by the linker.  These same files are input to the hex utility.  The compare command will appear something like ...

    objdiff file1.out file2.out ofd2000

    The output of objdiff is sometimes clear, and sometimes not.  If it isn't clear, please post it here.

    Thanks and regards,

    -George

  • Hello,

    See results below.  Why would the raw_data_size be different?

    Stephen

    c:\projects\Current>objdiff File_CCS9.out File_CCS6.out ofd2000
    Processing File_CCS9.out ...
    Processing File_CCS6.out ...
    Comparing files ...

    ======================================================================
    Comparing Sections : section = .econst2
    ======================================================================
    Raw data is different
    ======================================================================
    Comparing Sections : section = .template
    ======================================================================
    Differences: File_CCS9.out File_CCS6.out
    raw_data_size: 0x1dca8 0x1f51c

    Files are different

  • The .template section is not part of the image loaded to the C28x system.  Thus, it cannot be part of why the hex utility output is different and it should be ignored.

    The difference in the raw data in .econst2 does affect the hex utility output.  This needs further investigation.

    Please run objdiff again, but use the -v option.  That shows the bytes from .econst2 that are different.  It does not show the address of those bytes in memory, but the offset of those bytes from the beginning of the section.  Consider the possibility the bytes are ASCII characters.  If so, see what the different strings are.  This may explain the difference.  If not, you are welcome to post the objdiff output here.

    Thanks and regards,

    -George