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.
i have downloaded the C and the hex code(tempsen.hex and tempsen.c) from the internet for ADuC845 processor and if i download the hex file using windows serial downloader(wsd.exe) it is working properly..but if i compile the same C code in keil it is not running properly.. and also the hex code generated from keil is slightly different when compared to the hex code downloaded from the internet..pls help.. thanx in advance...
but if i compile the same C code in keil it is not running properly..
Since you did not say what exactly constitutes "not running properly", I can only hazard a guess:
The WSD supports only a subset of the Intel HEX format - more specifically: It expects the addresses in the file to be monotonously increasing. The Keil tools produces HEX files that do not follow this convention. You may have to run the HEX files through a tool that sorts the data blocks so that the addresses are monotonously increasing. "Srecord", for example, does this.
and also the hex code generated from keil is slightly different when compared to the hex code downloaded from the internet.
... and the problem with that is ? Different compilers, compiler versions or optimization settings will cause the assembly to be different.
It expects the addresses in the file to be monotonously increasing
I think you mean monotonically? ;-)
planetmath.org/.../MonotonicallyIncreasing.html
"The Keil tools produces HEX files that do not follow this convention."
And, of course, there is no reason why they should - the Intel Hex specification makes no such requirement.
This should be considered a bug (or at least a limitation) in WSD...