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?
I am very happy with the way it does things, that it is intended for, it does such things beautifully No one would expect a racehorse to do the work of a mule, or vice versa. The post I comment on illustrates how blatantly ignorant some are matching the application and the processor. Whoaaa ... wait a minute. Easy on the coffee, maybe try decaf ? I'm not the one who's trying to do floating point math in an ISR, or implement paged virtual memory on a '51, or juggling function pointers around. My '51 project works just fine, and the MCU is quite suited for the task I have. If you want "C is C" stay with your beloved PC. I haven't programmed on a PC in, uh, years, and nothing I ever did on a PC was even close to a commercial project. I started directly with DSPs and uCs, and my very first project was pretty much pure assembly, except for some boring clerical parts that were easier to do in C.
My '51 project works just fine, and the MCU is quite suited for the task I have. I am amazed you achieved that with a cross between a dinosaur, a mule and a cockroach. Erik