Hi,
i am using a S12XEQ384 with 24 kB RAM. I initially linked XGATE data to unpaged RAM. Later due to certain reasons i need to move it to paged RAM. Since then the cpu application code never runs and always an XGATE access violation occurs.
here is a section of my prm file:
//RAM_XGATE_STK = READ_WRITE 0xFA1000 TO 0xFA10FF ALIGN 2 [1:1]; /* The stack is set by the XGATE compiler option -Cstv=A100 */
RAM_XGATE_DATA= READ_WRITE 0xFA1100 TO 0xFA12FF ALIGN 2 [1:1]; /* word align for XGATE accesses */
RAM_FA = READ_WRITE 0xFA1300 TO 0xFA1FFF; // ALIGN 2[1:1]; /* is also mapped to XGATE: 0xA000..0xAFFF */
RAM_FB = READ_WRITE 0xFB1000 TO 0xFB1FFF;
RAM_FC = READ_WRITE 0xFC1000 TO 0xFC1FFF;
RAM_FD = READ_WRITE 0xFD1000 TO 0xFD1FFF;
/* RAM_FE = READ_WRITE 0xFE1000 TO 0xFE1FFF; intentionally not defined: equivalent to RAM: 0x2000..0x2FFF */
/* RAM_FF = READ_WRITE 0xFF1000 TO 0xFF1FFF; intentionally not defined: equivalent to RAM: 0x3000..0x3FFF */
Can someone help on this ?
Thanks,
Saravana
Added p/n to subject.
The main different in between paged and unpaged is for the S12, is the data shared in between the cores?
Also how does it fail, does any code get executed for the XGATE at all?
How is the code for the XGATE mapped, flash?
Is the XGATE stack properly initialized?
I did not notice anything special from the provided information, I would think we need more hints on what is going on. With a bdm it should not be too hard to see what fails.
Daniel
Have you confirmed that your code is getting copied to the right region of memory?
Do the XGATE interrupt vectors point to the right address?
James