I have a CAN driver working in s12 core. the objective is to route the CAN to Xgate to reduce the load on s12x. For this, I have moved the can isr to the xgate file and updated the vector tables of the core and Xgate accordingly. Then moved the variables used in the can driver(data buffer, buffer cnt) to shared memory region and exported to the xgate file(for use in isr).
On execution, I do get the messages sent from the application, but along with the desired messages, I get junk messages coming out of CAN. The transmit buffer register area of CAN is written randomly and these values are sent out.
Currently there is no semaphore lock used between Xgate and s12x. Already ADC and ICU channels run in Xgate and is working fine.
Where should I start looking to resolve this issue.