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?
<dEP Pointer is correct. At eSE is the error. Ah. So the pointer does get passed correctly, and becomes corrupted later on. That is a different can of worms entirely, and would point more towards a problem with the call tree, i.e. the pointer gets stored in a memory location and is later overwritten. pre>tXSDevice_DeviceEntry* deviceEntryPtr If this is always a pointer to a location in xdata memory, it is a waste to use a generic pointer.
tXSDevice_DeviceEntry xdata * deviceEntryPtr