ΣSigmaStudio Ask AI Русский Log in

Help! SHARC DMA UART settings

Processors & DSP LLLLLL Apr 25, 2024 00:00 3 replies Original on forum ↗
Subscribe
LLLLLL Question
Apr 25, 2024 00:00

Hi, anyone can help me with DMA UART settings, I'd like to use DMA UART, with interrupts occurring when receiving data.

here is my code, I don't know how to use PICR2 registers. pls help me ,thanks

picr2 = *pPICR2; /* get PICR2 */
picr2 &= (~(0x1f<<10)); /* clear P14 bits */
picr2 |= (0x13<<10); /* set UART0RX */
(*pPICR2) = picr2; /* put it back */

sysreg_bit_set(sysreg_IMASK, P14I ); /* unmask UART RX interrupt */
(*pUART0IER) = UARTRBFIE; /* enable UART RX interrupt */

//UART interrupt
adi_int_InstallHandler(ADI_CID_P14I , (ADI_INT_HANDLER_PTR)UARTisr, NULL, true);

dsp

software

sharc

dma

uart

pastedimage1714023499809v1.png
pastedimage1714023499809v1.png
Ranji Reply
Apr 26, 2024 00:00

Hi,

Could you please confirm whether you are using ADSP-214xx processor.

If so, please find the attached UART DMA code for ADSP-21479 processor. It is in VisualDSP++ project, you can use this code as a reference and port to CCES as per your requirement.

Also, please refer the "Programmable Interrupt Priority Control Registers" in (Pg No: 962) in the below linked HRM.
www.analog.com/.../ADSP-214xx_hwr_rev1.1.pdf

Regards,
Ranjitha.R

6648.UART_DMA.zip

LLLLLL Reply
Apr 27, 2024 00:00

HI Ranjitha, thanks for your reply, I am using SHARC-21489, the example u provided I just tried it before, but this one does not work for the receive interrupt. the code never goes into interruption, any ideas about this issue?

Ranji Reply
Apr 30, 2024 00:00

Hi,

Please find the attached UART loopback example for CCES. This can be directly run on the ADSP-21489 board.

We have checked in ADSP-21489 Ez-kit, we could be able to hit the interrupt while received data.

Also, please find the attached screenshot for receive interrupt.

Regards,
Ranjitha.R

UART_DMA_21489.zip