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.

Build output binary file does not match for same project build configuration.

Other Parts Discussed in Thread: OMAP-L138

We are building an application for the OMAP-L138 with a C674x Fixed / Floating Point DSP (MityDSP) and using the C6000 build tools in CCS.  We would like to be able to build identical output images from 2 different build machines. (i.e. one build for development another build for configuration management) What we have found is that there is a timestamp in the executable file image which is updated to the current time on the machine as well there are several 3 and 4 byte locations that differ between build instances.  Is there a option/setting/switch to suppress the timestamp in the project output file? Essentially, what we want to achieve is to be able to create an executable output file change the name of that file and then create a new output file and using a binary comparison have the two files be identical.


Thanks in advance for looking into this question.

  • Compare the files with the utility objdiff from the cg_xml package.

    Thanks and regards,

    -George

  • George,

    Thanks for the reply.

    With some help from one of your previous threads and the objdiff.html page I was able to perform the comparison on my files with objdiff, this is my output:

    (Note: cg_xml is installed in the user home directory ~)

    $ ~/cg_xml/bin/objdiff rias_dsp.out rias_dsp_test.out ~/cg_xml/utils/ofd6x --xml_indent=0
    Unknown option: xml_indent
    Processing rias_dsp.out ...
    Processing rias_dsp_test.out ...
    Comparing files ...

    ======================================================================
    Comparing Sections : section = .vers
    ======================================================================
    Raw data is different

    Files are different


    I did not expect the files to differ, but it appears it is a version section that is different? Could I have a build number that increments in my CCS project?

    Regards,
    Rob
  • George,

    If I run with the --verbose options I get this output:

    $ ~/cg_xml/bin/objdiff rias_dsp.out rias_dsp_test.out ~/cg_xml/utils/ofd6x --verbose
    Processing rias_dsp.out ...
    Processing rias_dsp_test.out ...
    Comparing files ...

    ======================================================================
    Comparing Sections : section = .vers
    ======================================================================
    Raw data is different
    Byte 15 is different
    rias_dsp.out: 0x39
    rias_dsp_test.out: 0x38
    Byte 17 is different
    rias_dsp.out: 0x34
    rias_dsp_test.out: 0x33
    Byte 18 is different
    rias_dsp.out: 0x34
    rias_dsp_test.out: 0x33

    Files are different


    It appears that a few some bytes are getting incremented?

    Regards,
    Rob
  • I am not certain, but I think the vers section contains a time stamp of when the build occurred.  I'm trying to verify that.  

    In the mean time, feel free to use the objdiff method for skipping the comparison of sections (like .vers) by name.  The cg_xml documentation is in HTML form.  The root directory of the installation contains a file named index.htm.  Load that into your favorite web browser.  Browse to the documentation for objdiff.  Look for the section titled USING THE CONFIGURATION FILE TO SKIP SECTIONS

    Thanks and regards,

    -George

  • George,

    Thanks for reply, I agree with the timestamp I compared a new build today with on from yesterday and there are a lot more bytes different in the same section. However, looks like I have a solution. Thanks. This is what I did:

    Created this config file:

    $ cat config.ofd
    #------------------------------------------------------------------------
    # Configuration File Example
    #------------------------------------------------------------------------
    SKIP_BY_NAME = .vers # comments OK here too


    and then ran objdiff with following command line:

    $ ~/cg_xml/bin/objdiff rias_dsp.out rias_dsp_test.out ~/cg_xml/utils/ofd6x --config_file=/home/impreza/cg_xml/utils/config.ofd
    Processing rias_dsp.out ...
    Processing rias_dsp_test.out ...
    Comparing files ...


    Files are the same
    $

    Let me know if there is more information, but looks like there is a solution.

    Regards,
    Rob
  • Do you use BIOS version 5.x?  If so, I can confirm the .vers section contains a build time stamp.  If you are happy with the objdiff skip section method, then continue to use it.

    More details ... The .vers section is a COPY section.  That is, it is not loaded into target memory.  For more background on COPY sections (and other similar sections), see this wiki article.  There is no documented method for disabling the time stamp.  That said, it is possible to manually remove the time stamp from a header file.  Let me know if you are interested in the details.  BIOS version 6.x does not emit this build time stamp.

    Thanks and regards,

    -George

  • George,

    We are using DSP/BIOS (IDE Client) 5.42.1.09 com.ti.rtsc.DSPBIOS.product.ui.feature.group. I think the objdiff with the config file will work for us.

    Thanks for your help
    Rob