Post Go back to editing

uart problem of 21569


I tested the uart of 21569 in DMA mode,I found a problem:for computer terminal,received bytes is less than sended.

computer terminal software setting is:timed transmission,period is 10ms,6 bytes a time.

I attached my code here,the code function is send 6 bytes to computer terminal software while received 6 bytes.

Best regards,



Parents Reply Children
  • Hi Bin,

    Apologies for delayed response.

    I had taken a look at your code. Looks like you are using STOP mode for DMA Write and Autobuffer mode for Read. Is there any reason for doing so? Regarding your issue, you mentioned 6 bytes are sent to DSP and then DSP sends back 6bytes. How many bytes are exactly received from DSP?

    BTW, did you get a chance to look into the the UART echo back code available in the Board Support package.
    <Installation path>\Analog Devices\ADSP-2156x_EZ-KIT-Rel1.0.1\ADSP-2156x_EZ-KIT\Examples\Power_On_Self_Test\common\source\uart_test.c

    The BSP can be downloaded from the below link.

    Please use this example code and let me know how you get through this.

    Anand Selvaraj.

  • Hi,

    Does the CoreWrite/CoreRead funtion work in blocking mode or not?I want uart works in unblock mode,cause our software's real-time requierment is vrey high.that's why I using DMA mode for uart,hope you see.



  • Hi Bin,

    Yes, the CoreWrite/CoreRead APIs are in blocking mode i.e. this API blocks until the complete data is received. It is recommended to use this mode for reading small number of bytes. On the other hand, DMA read/write API can be used for large chunks of data.

    Anand Selvaraj.