<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: S32K344 UART DMA example in S32K</title>
    <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1586316#M20164</link>
    <description>&lt;P&gt;I have completed UART via DMA however i have an interesting case. When i copy captured data to a local variable or global variable and send it via UART, totally corrupt messages are sent. Below i add my code and UART output for reference. Do you have any idea?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 21 Jan 2023 00:16:47 GMT</pubDate>
    <dc:creator>S3RD4R</dc:creator>
    <dc:date>2023-01-21T00:16:47Z</dc:date>
    <item>
      <title>S32K344 UART DMA example</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1583510#M20039</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;I am using S32K3X4EVB-Q172 development board. I have succesfully implemented interrupt based UART receive however I want to use DMA but i could not find any example. Is there any example of using DMA with UART?&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using latest MCAL SDK.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jan 2023 00:49:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1583510#M20039</guid>
      <dc:creator>S3RD4R</dc:creator>
      <dc:date>2023-01-17T00:49:33Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA example</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1583844#M20056</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;do not have example directly for this board, but see attached demo we got from Apps team.&lt;BR /&gt;Hope it helps.&lt;/P&gt;
&lt;P&gt;BR, Petr&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jan 2023 09:06:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1583844#M20056</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2023-01-17T09:06:35Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA example</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1584175#M20075</link>
      <description>&lt;P&gt;Thank you so much. I will check this example further.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jan 2023 20:32:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1584175#M20075</guid>
      <dc:creator>S3RD4R</dc:creator>
      <dc:date>2023-01-17T20:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA example</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1586316#M20164</link>
      <description>&lt;P&gt;I have completed UART via DMA however i have an interesting case. When i copy captured data to a local variable or global variable and send it via UART, totally corrupt messages are sent. Below i add my code and UART output for reference. Do you have any idea?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 21 Jan 2023 00:16:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1586316#M20164</guid>
      <dc:creator>S3RD4R</dc:creator>
      <dc:date>2023-01-21T00:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA example</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1586727#M20182</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;this could be caused by cache. Try to either invalidate the address for the cache of the send buffer or place the buffer in a noncacheable memory.&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;#pragma GCC section bss ".mcal_bss_no_cacheable"
uint8_t tx_data[15];
#pragma GCC section bss&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Petr&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jan 2023 16:33:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1586727#M20182</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2023-01-23T16:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 UART DMA example</title>
      <link>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1603264#M20834</link>
      <description>&lt;P&gt;Hello NXP TechSupport,&lt;BR /&gt;may I ask another question?&lt;/P&gt;&lt;P&gt;According to this example,&lt;BR /&gt;there is only UART1 for receiving and sending data in while loop,&lt;/P&gt;&lt;P&gt;if I add another UART3(interrupt mode) for communicating with this UART1, even if the DMA callback was triggered with event "LPUART_UART_IP_EVENT_END_TRANSFER", my buffer(&lt;EM&gt;&lt;FONT color="#FF0000"&gt;Rx_Buffer&lt;/FONT&gt;&lt;/EM&gt;) is still keeping empty, I don't know what's wrong with my procedures.&lt;/P&gt;&lt;P&gt;please help me, thanks~&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;*This code flow below is fine while interrupt mode.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;while(1)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp; lpuartStatus = Lpuart_Uart_Ip_AsyncReceive(&lt;FONT color="#FF0000"&gt;UART_LPUART_INTERNAL_CHANNEL_1&lt;/FONT&gt;, &lt;FONT color="#FF0000"&gt;Rx_Buffer&lt;/FONT&gt;, length);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (LPUART_UART_IP_STATUS_SUCCESS != lpuartStatus)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99CC00"&gt;//Async send would be OVERRUN during 1.8Mbps baud rate&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; lpuartStatus = Lpuart_Uart_Ip_SyncSend(&lt;FONT color="#0000FF"&gt;UART_LPUART_INTERNAL_CHANNEL_3&lt;/FONT&gt;, Tx_Buffer,length,1000);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (LPUART_UART_IP_STATUS_SUCCESS != lpuartStatus)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return FALSE;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; do&lt;BR /&gt;&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lpuartStatus = Lpuart_Uart_Ip_GetReceiveStatus(&lt;FONT color="#FF0000"&gt;UART_LPUART_INTERNAL_CHANNEL_1&lt;/FONT&gt;, &amp;amp;remainingBytes);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; } while (LPUART_UART_IP_STATUS_BUSY == lpuartStatus &amp;amp;&amp;amp; 0 &amp;lt; T_timeout--);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(updated)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;If I change the priority of DMA channel(UART RX) from 0 to 2, I can receive part of some message from UART3, like below attachment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Feb 2023 02:43:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K344-UART-DMA-example/m-p/1603264#M20834</guid>
      <dc:creator>WellsonGuo</dc:creator>
      <dc:date>2023-02-22T02:43:10Z</dc:date>
    </item>
  </channel>
</rss>

