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?
At level of 8 successive funtions calls the acces to an struct in Applications XDATA mem is incorrect. A few questions: * What is meant by "successive" ? Is the function called eight times in a row, or does it mean the eighth depth level of the call tree ? * Are the function's arguments passed on the stack (i.e. is the function declared reentrant) ? If yes, check for a stack overflow. * Are you using function pointers or any other constructs that might make it necessary to manually adjust the call tree ? * Does the function work correctly when called from a lower depth ?
* What is meant by "successive" ? Is the function called eight times in a row, or does it mean the eighth depth level of the call tree ? It mean the eighth depth level of the call tree. * Are the function's arguments passed on the stack (i.e. is the function declared reentrant) ? If yes, check for a stack overflow. Arguments passed via register. * Are you using function pointers or any other constructs that might make it necessary to manually adjust the call tree ? There are a lot of function pointers and indirect calls in my application. Why manually adjust the call tree? * Does the function work correctly when called from a lower depth ? mom, im testing.
"There are a lot of function pointers and indirect calls in my application. Why manually adjust the call tree?" Because, if you don't, you most certainly will get exactly the kind of behaviour that you describe!! :-0 Stop Now! Read the application note http://www.keil.com/appnotes/docs/apnt_129.asp Also, search the knowledgebas for "function pointer", and take a look at this recent thread: http://www.keil.com/forum/docs/thread8021.asp
View all questions in Keil forum