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.

TMS320F28388D: HEX data becomes different when a project directory is changed.

Part Number: TMS320F28388D

Hi Champs,

My customer faced one strange issue with F2838x C28x core. The hex data was changed when they change the project directory and the fold name, . CM-core data was same, but C28x core data was a bit different. They use the CCS v11.2 and the latest compiler v21.6.0 LTS. I confirmed that all include passes and configurations were ok in project property. 

I'm not sure what can make this situation. Could anyone review this issue?

Thanks,
Steve 

  • I presume the linker map files are also different.  If so, that is a better place to start the investigation.

    Please read the first part of the article Linker Command File Primer.  Focus on understanding the terms output section and input section.  

    Compare the map files. I expect you will see a number of differences in addresses.  Ignore those for now.  Focus on the size of each input section.  Find the smallest input section that has a different size, that comes from a source file in the project, and not a library.  

    For that source file, add the compiler option --src_interlist and build it again, in the two different project environments.  This option causes the compiler to keep the automatically generated assembly file, and add comments to it that make it easier to understand.  Inspect each assembly file, and focus on the lines related to the input section that has a different size.  I'm not sure what you will see.  But I suspect the problem will be clear by that point.  If not, please post about it here.

    Thanks and regards,

    -George

  • George,

    The map files are not different; both are 100% same because all project files and source files were copy and pasted. Just hex file was different in some addresses. Let me check the generated asm files again.

    -Steve

  • The map files are not different

    This means all the input sections and output sections are the same size, and start at the same address.  The contents inside those sections may have some differences.

    Please disassemble each final executable file with a command similar to: dis2000 --all final_executable.out > final_executable_dis.txt

    Then compare those disassembly files.  I expect you will see a difference then.  Probably in a function.  Look backwards from that point at the labels, until you see a function label.  Work out which source file contains that function, then look at the compiler generated assembly for that file/function.

    Thanks and regards,

    -George

  • Hi George,

    I found the predefined DEBUG option made this issue. Some data constants generated from ASSERT were slightly different, and I'm still unclear why the project fold name impacts data constants. Anyway, this issue was resolved by removing DEBUG option.

    Thanks,
    Steve