Hi, I am developing an application, where some function are used. when i am debugging, I watch that one function not return to the calling function. It is back to 0000h address, watch in disassemble window. How i solve it? Please help me.
I am developing an application
This is C development
Development includes lots of things.
- specifications - design - coding - testing - debugging - documenting - ...
Debugging includes such things as checking how far the function runs before it gets where you don't want it to. And it includes checking if there is a valid stack for the function return address and for storage of parameters and local variables. And it includes checking that all pointers, array indices etc are initialized and within range. And that there are no division by zero. Or potential misalign of code/data. Or a number of other potential errors.
You use the word "debug" but do not supply any information indicating what debugging you have actually done.
You use the word "debug" but do not supply any information indicating what debugging you have actually done and just as important: what tool? JTAG/ICE/simulator/... it would also be nice to know: eval or licence what chip
Erik
IC-AT89C4051, EVALUATION VERSION, DEBUG-SIMULATOR
could be associated with the "eval gap" 0-0x800
Did you overflow the call stack, or overwrite it via a pointer?