We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello, I've comipled a project with KEIL in order to generate an Hex code (that is stored in ROM on a chip). 2 days passed, I recomipled the exact same code, and the results of the Hex code are different, and I can see that the compiler changed the address of the internal variables etc. I need to restore the old results, somehow!! I have all the object files of the old compilation. Is there any way to load them? Anyone knows why the compilation has changed (though the C files have not changed)? I know that the order of the files written in the left window of the KEIL changes the compilation, but this order has not changed as well. Please help...... Best Regards, Noam -----------
I need the content of the "old" hex file because it was burned into a ROM. This code can not be changed. I want to run tests on a version that is exactly the same to the version that is burned into a ROM. Noam --------------
but why? if your C code has not changed, and the build tools have not changed, unless there is a bug in the build tools - both binaries must function in the exact same way.
Many companies have a policy that they must be able to later reproduce an _exact_ copy of an already released binary. The rule is actually quite sound, since it not only makes sure that you have perfect control over your build environment, but also that you can - at a later time - do an analysis on code already released.
The tools should normally produce the identical results, as long as no __DATE__ och __TIME__ defines have been used.
It is a bit strange that the Keil tools throws the layout around.
I want to run tests on a version that is exactly the same to the version that is burned into a ROM.
So what's keeping you from running those tests with the actual .hex file you burn into those ROMs?