This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi, Engineers
I tried to initialize the SCIA using CPU2, some GPIO initialization is running on CPU1, however, it doesn't work. program is shown below
below is running at CPU2
void initSCIA()
{
eallow();
SCIA.SCICTL2.bit.TXINTENA = 1;
SCIA.SCICTL2.bit.RXBKINTENA = 1;
SCIA.SCILBAUD.all = 3&0xFF; // baud rate
SCIA.SCIHBAUD.all = 3>>8;
SCIA.SCICCR.bit.LOOPBKENA = 0; // Disable loop back
SCIA.SCIFFTX.all = 0xC022;//0xC022;
SCIA.SCIFFRX.all = 0x0022;//0x0022; Interrupt when FIFO depth=2
SCIA.SCIFFCT.all = 0x00;
SCIA.SCICTL1.all = 0x0023; // Relinquish SCI from Reset
SCIA.SCIFFTX.bit.TXFIFORESET = 1;
SCIA.SCIFFRX.bit.RXFIFORESET = 1;
protect();
}
below is running on CPU1
void initSCIA()
{
eallow();
system.PCLKCR7.bit.SCI_A = 1; // Enable LOSCLK clock for SCI-A
GPIOctrl.GPAGMUX1.bit.GPIO8 = 1;
GPIOctrl.GPAMUX1.bit.GPIO8 = 2; // Enable SCIA TXD = GPIO08
GPIOctrl.GPACSEL2.bit.GPIO8 = 1;
GPIOctrl.GPAGMUX2.bit.GPIO28 = 0;
GPIOctrl.GPAMUX2.bit.GPIO28 = 1;// Enable SCIA RXD = GPIO28
GPIOctrl.GPACSEL4.bit.GPIO28 = 1;
GPIOctrl.GPAPUD.bit.GPIO8 = 1; // Disable PUs for GPIO8
GPIOctrl.GPAPUD.bit.GPIO28 = 1; // Disable PUs for GPIO28
protect();
}
But when I merge these code together and running on CPU1, then, the communication is established well.
Could you help on this case?
Hi,
You'll have to allocate the peripheral in use to CPU2. You can update the CPUSEL5 register in the device to allocate the peripheral correctly to CPU2.
Thanks,
Aditya