Bootloader: C:0x0000 - C:0x7FFF Manages CAN-Communication and in-field update. Application C:0x8000 - C:0xEFFF Applications is controlled with bootloader over CAN 2.0. Compiled both seperatly and merge the Hex-file. Interrupts and function calls work. At level of 8 successive funtions calls the acces to an struct in Applications XDATA mem is incorrect. The expected pointer is not given. Any adwise?
That's not correct. Both Projects compilied together work. The problem is the compilation of the second project. WHAT ON EARTH HAS "Both Projects compilied together work" to do with the fact that your use of function pointers blow "the compilation of the second project" If you took the time to get rid of the utterly stupid attitude that "C IS C" and read up on the way the '51 and the tools for it work, you would understand why you have the problem you have, the reason of which Andy has already posted twice. not really satisfying answer - "the '51 ain't no PC" got it? Of course, it can not be 'satisfying' to someone that insist on ignoring the underlying architecture. That, however does not change that it is a FACT. Erik
I'm still here. This testmain() in the applications-µVision-project works fine. Debugging information over serial port. All adresse corect.
void main(void) { tXS_ParameterPtr paramPtr; paramPtr->value[0x00u] = 0x00u; XSIM_EventDetachAll(paramPtr); while(1); }
Your use of function pointers blow "the compilation of the second project" Really? Drop the 'really and, as I suggested: read up on the way the '51 and the tools for it work. NOBODY that has "read up on the way the '51 and the tools for it work" is surprised. Erik