Martin Smolák

MC56F82748 Problem with setting DMA SCI

Discussion created by Martin Smolák on Feb 5, 2017

Hello,

I have problem with setting DMA SCI on peripheral request.

 

/* initialise SYS module */

ioctl(SYS, SYS_INIT, NULL);

 

/* configure COP module */

ioctl(COP, COP_INIT, NULL);

 

/* configure all GPIO modules */

ioctl(PIT_1, PIT_INIT, NULL);

ioctl(GPIO, GPIO_INIT_ALL, NULL);

ioctl(XBAR_A, XBAR_A_INIT,NULL);

ioctl(SCI_1, SCI_DMA_TRANSMITTER, SCI_ENABLE);

ioctl(SCI_1, SCI_DMA_RECEIVER, SCI_ENABLE);

ioctl(SCI_1, SCI_INIT, NULL);

 

ioctl(DMA, DMA_CH0_CLEAR_STATE_MACHINE_CONTROL, NULL);

ioctl(DMA_0,DMA_SET_SOURCE_ADDRESS,0x00E094);

ioctl(DMA_0,DMA_SET_DESTINATION_ADDRESS, (UWord32)&data2);

ioctl(DMA_0, DMA_SET_PERIPHERAL_REQUEST, DMA_ENABLE);

 

 

ioctl(DMA, DMA_CH1_CLEAR_STATE_MACHINE_CONTROL, NULL);

ioctl(DMA_1,DMA_SET_SOURCE_ADDRESS,(UWord32)&data);

ioctl(DMA_1,DMA_SET_DESTINATION_ADDRESS, 0x00E094/*(UWord32)&ArchIO.Sci1.scidr)*/);

ioctl(DMA_1, DMA_SET_PERIPHERAL_REQUEST, DMA_ENABLE);     // While stepping through the program occurs here setting the bit CE in register DMA_DSR_BCR1.

 

 

ioctl(DMA, DMA_INIT, NULL);

/* initialise interrupt controller and enable interrupts */

ioctl(INTC, INTC_INIT, NULL);

archEnableInt();

 

 

Other setting in GCT:

 

In Attached is the full code. Does anyone know what is wrong set? Thank you very much

 

Yours Sincerely

 

Martin Smolák

Original Attachment has been moved to: DMA_test.zip

Outcomes