I have a licensed version: KEIL uVision4 (4.23) MDK Professional. I am trying to develop an application to transfer data using either UDP/IP or TCP/IP. However the code that i generate (hex file) doesn't work. the compiler gives no errors or warnings (some errors popped up! pretty silly like variable not set, etc. all have been corrected). I am trying this using the RL-ARM library. I am using NXP's LPC2478 microcontroller. This same code when compiled on another PC however, does work. Both the PC's have the same version of IDE and same O.S. Can anyone suggest possible remedies? Because access to that other PC is restricted!
- thank you :)
The compiler only checks syntax, not functional correctness of code.
You'd be better served by doing a comparison of the .MAP files, of doing a diff on your project source trees. Check if the things outside the tree (include or library) are the same.
Do some DEBUGGING! If you have some code that crashes or breaks, use the debugger, and try to confine the problem.
The functional correctness has been verified by compiling the code on another system. The code also works when debugged however fails when burned to the microcontroller. fail's as in the controller doesnt send any data to pc neither does it ping but the same code when compiled on another pc is able to execute the above task.
But presumably the .HEX and .MAP files are STILL different, and that is where you need to start your comparison to understand how they differ. Learn to use some diff/merge tools, this will help with the analysis.
If the files are the SAME, consider what impact your choice of IP address has, if both devices use the SAME MAC or IP address, and if DHCP is used. Your problem doesn't say you have two of the SAME code running, but a pair of identical networked devices can conflict.