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/TMS570LS3137-EP: Each build of identical source creates unique output file

Part Number: TMS570LS3137-EP
Other Parts Discussed in Thread: HALCOGEN,

Tool/software: TI C/C++ Compiler

Hi there,

I'm using CCS 7.2.0 and CDT ARM 17.6.0.STS with TMS570LS3137-EP. Base code was generated from HALCoGen 04.06.01 & modified from there.

Each consecutive build of the exact same source files in the exact same environment produces a different .OUT file.

Using a "diff" tool, almost at the end of the file appear to be four or so instances of random hexadecimal strings of the form "{12345678-1234-1234-1234-123456789ABC}".

There are no date/time macros used, no post-build steps, I can only assume these are a 'Random' string (by the linker?) as part of the device's safety features (not yet matured in current design).

Even for development code, our corporate build processes requires the same output file to be generated from the same source across multiple machines, so it's something I need to understand shortly.

Could anybody please direct me to the relevant material to help understand further?

Many thanks, Mark

  • To clarify: this is on the same PC, seconds apart (Clean -> Build).

    I'd appreciate any pointers, I can't currently explain these "random" strings.
  • Hello Mark,

    This is a question that our compiler team will need to address since we in the device team do not have insight to the inner workings of the compiler.

    Some questions that might be relavent are if you are using any optimizations and, in general, what are you compiler options used as well as the compiler version (note this is different from CCS) which can be found by looking under Help--> About Code Composer Studio -->Installation Details. There it will list out the versions of all the components of CCS and their versions.

    It might also be beneficial if you could post a project that demonstrates this anomaly. There are no such add-ons or checksum at the end of the image related to safety so I have no insight or idea about what this can be. Hopefully someone from the compiler team can be of greater assistance.
  • This situation is similar to the one in this thread.  The tips in that thread may solve the problem.  That said, please note the warning I give in the last post.  It applies here as well.

    Thanks and regards,

    -George

  • Thank you George & Chuck,

    I can confirm your link helped, the two options are needed:

    Build Settings -> CCS Build -> ARM Compiler -> Advanced Options -> Directory Specifier -> --temp_directory specified

    Build Settings -> CCS Build -> ARM Compiler -> Advanced Options -> Assembler Options -> check --keep_asm

    This has given consistent .OUT files across multiple clean/builds. I accept this is not guaranteed to be consistent, I'd expect the HEX file ultimately will be.

    I'm happy the original behaviour witnessed is now understood - i.e. it's not related to a device feature that I don't understand.

    Thank you very much, Mark