Hi,
I am compiling a source code (implemented by other team in Canada) using Keil (uvision-4) V4.02, C51 (9.01), to generate the hex and map(.m51) files.
When the same source code is compiled by the Canada team from Keil (uvision-4) V4.00a, C51 (9.00), differnt hex and map file output are observed as compared to mine output.
Infact I tried download the same compiler version C51 v 9.00 (as used by the Canada Team) to generate hex and map files, but still I am getting different hex files. Could anyone comment on why I am getting different hex and map files for the same source code compiled using the same compiler?
In short, my question is, is it normal to get different hex and map files while compiling from slightly different version of the compilers (C51 v9.00 Versus C51 v9.01)? If yes then how to get around with this problem?
Will appreciate the co-operation.
Regards Asad
"When the same source code is compiled ..."
Are you also using the same project files (.uvopt .uvproj)? location of the file within the project can influence the link order, which can influence the linker output.
Same project with the same files - I get the same output.
"Same project with the same files - I get the same output."
Addition ... On the ARM compiler, it is sometimes useful to build and then rebuild before the final output remains the same. It's quite a while since I did any serious development using C51 and can't remember if it is the same for that.
Yes, I am using the same project files. For your comment regarding location of the file within the project, I observed from the map file that the file linking order/sequence are not the same (although all the files and their names are exactly same, just the order is different). And from the procedure disorderness starts, it goes all the way to the end disturbing all the address spaces.
If this is causing the difference then could you please help me how to make sequence of linking same on my computer as that of Canada team.
"If this is causing the difference then could you please help me how to make sequence of linking same on my computer as that of Canada team."
When the development environment is the same and all the source files are the same and the project files are the same, I would expect to see (and do see) the same executable image produced.
What you need to do is look for differences in your setups - And change them so they are the same.