How does the Uv4.exe determine in what order source files are built? I have a project that I build on my local PC, and the same project being built on a build machine. The source files get compiled in a different order on the two machines, and the .hex file we end up with is different between the two machines. They are using the same version of uVision, compiling the same project files, and running the same command-line arguments.
We need to be able to reliably reproduce the .hex file generated on the build machine. I can build twice on my machine and get the same result, but what gets built on the build machine differs from my own. How can I force the project to be more consistent in how it builds the file?
I haven't seen uVision link in a different order than the project file, with the exception of special instructions given in the scatter file. So I normally change order of files in the project file to adjust the order of the code or variables in the output file - normally a lazy way of controlling how much of code or data that gets poured into separate memory regions without having to explicitly specify regions in the source code or explicitly adding the individual source files listed in the scatter file.