Post Go back to editing

printf while using UART in DMA mode

Category: Software
Product Number: ADSP-BF592

Hi,

silly question

i am playing with a ADZS-BF592-EZLITE board. I imported CharECHO_UART example but, after activating DMA mode with:

eResult = adi_uart_EnableDMAMode(hDevice, true);

the first printf method generates this error:

A non-recoverable error or exception has occurred.
Description: An illegal data memory access has occurred.
General Type: RunTimeError
Specific Type: DCPLBProtectionViolation
Error PC: 0xffa01440

This error does not happens if i do not use DMA mode.

It looks like printf is writing something into memory instead of printing on console

Parents Reply Children
  • Hi,

    sadly i cannot say the issue is solved.
    Yes, my application works in DMA mode, but printf won’t work after i enable it.
    In the base CharEchoUART the instruction on line 87:
    printf(“Setup terminal on PC as described in Readme file.\n\n); 
    raise a 
    A non-recoverable error or exception has occurred.
    Description: An illegal data memory access has occurred.
    General Type: RunTimeError
    Specific Type: DCPLBProtectionViolation
    Error PC: 0xffa01440
     
     
    This is the first problem i had to face.
    Guessing the previous problem is caused by DMA (but i am not sure. still learning) i tried to change from DMA mode to Interrupt mode (that’s my second post)
    but in interrupt mode, i can only read the last char (even if i am sending a string).
    I am confused and do not know how to proceed. i have very few examples and learning is difficult.
    Really need help
    thanks