<?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 IMXRT1024 LPUART TransferNonBlocking vs eDMA Interrupt Amount Comparision in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1365068#M16975</link>
    <description>&lt;P&gt;Hi Dear Authorized,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am on the way to establish my software architecture to use LPUART in my project. I just want to select better performance based way. I am debugging into the &lt;STRONG&gt;"lpuart_interrupt_transfer.c "&amp;nbsp;&lt;/STRONG&gt;default SDK example. Aim of this debug is monitoring how many interrupt occurs when I transmit or receive my datas. I added below codes to default SDK example of &lt;STRONG&gt;"lpuart_interrupt_transfer.c"&lt;/STRONG&gt; :&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;#define DEMO_LPUART_IRQn       LPUART1_IRQn
#define DEMO_LPUART_IRQHandler LPUART1_IRQHandler

uint32_t IRQ_Count = 0;
void DEMO_LPUART_IRQHandler(void)
{
    IRQ_Count++;
    SDK_ISR_EXIT_BARRIER;
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My trial is monitor how many interrupt occur while sending default data string below:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;uint8_t g_tipString[] =
    "Lpuart interrupt example\r\nBoard receives 8 characters then sends them out\r\nNow please input:\r\n";&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example I put breakpoint to below line :&lt;/P&gt;&lt;LI-CODE lang="c"&gt;    LPUART_TransferSendNonBlocking(DEMO_LPUART, &amp;amp;g_lpuartHandle, &amp;amp;xfer);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;After above line works I am looking for how many interrupt occured for this process. But code stucking in IRQ_Handler.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know ECHO SIZE is 8. But I just want to learn, how many interrupt is occuring while TransferNonBlocking operations. Could you please help me?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Q1:&lt;/STRONG&gt;We have 4 words of RX TX FIFO buffer. Will my code exposed to interrupt for every 4 words in TransferNonBlocking usage ?&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Q2:&lt;/STRONG&gt;Which one of methods(TransferNonBlocking vs eDMA) do you suggest to use?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks and Regards.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 02 Nov 2021 10:22:51 GMT</pubDate>
    <dc:creator>Lukas_Frank</dc:creator>
    <dc:date>2021-11-02T10:22:51Z</dc:date>
    <item>
      <title>IMXRT1024 LPUART TransferNonBlocking vs eDMA Interrupt Amount Comparision</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1365068#M16975</link>
      <description>&lt;P&gt;Hi Dear Authorized,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am on the way to establish my software architecture to use LPUART in my project. I just want to select better performance based way. I am debugging into the &lt;STRONG&gt;"lpuart_interrupt_transfer.c "&amp;nbsp;&lt;/STRONG&gt;default SDK example. Aim of this debug is monitoring how many interrupt occurs when I transmit or receive my datas. I added below codes to default SDK example of &lt;STRONG&gt;"lpuart_interrupt_transfer.c"&lt;/STRONG&gt; :&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;#define DEMO_LPUART_IRQn       LPUART1_IRQn
#define DEMO_LPUART_IRQHandler LPUART1_IRQHandler

uint32_t IRQ_Count = 0;
void DEMO_LPUART_IRQHandler(void)
{
    IRQ_Count++;
    SDK_ISR_EXIT_BARRIER;
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My trial is monitor how many interrupt occur while sending default data string below:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;uint8_t g_tipString[] =
    "Lpuart interrupt example\r\nBoard receives 8 characters then sends them out\r\nNow please input:\r\n";&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example I put breakpoint to below line :&lt;/P&gt;&lt;LI-CODE lang="c"&gt;    LPUART_TransferSendNonBlocking(DEMO_LPUART, &amp;amp;g_lpuartHandle, &amp;amp;xfer);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;After above line works I am looking for how many interrupt occured for this process. But code stucking in IRQ_Handler.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know ECHO SIZE is 8. But I just want to learn, how many interrupt is occuring while TransferNonBlocking operations. Could you please help me?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Q1:&lt;/STRONG&gt;We have 4 words of RX TX FIFO buffer. Will my code exposed to interrupt for every 4 words in TransferNonBlocking usage ?&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Q2:&lt;/STRONG&gt;Which one of methods(TransferNonBlocking vs eDMA) do you suggest to use?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks and Regards.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Nov 2021 10:22:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1365068#M16975</guid>
      <dc:creator>Lukas_Frank</dc:creator>
      <dc:date>2021-11-02T10:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1024 LPUART TransferNonBlocking vs eDMA Interrupt Amount Comparision</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1368742#M17073</link>
      <description>&lt;P&gt;Hi Lukas,&lt;/P&gt;
&lt;P&gt;Your implementation is not correct because you are declaring IRQ handler twice. In lpuart_interrupt_transfer example IRQ is already in use so you should not add the code you included. If you want to count how many times it is entering the interrupt you could add the counter in the LPUART_TransferHandleIRQ in fsl_lpuart.c&lt;/P&gt;
&lt;P&gt;Have a great day,&lt;/P&gt;
&lt;P&gt;Felipe&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;Note:&lt;/P&gt;
&lt;P&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;
&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored. Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;------------------------------------------------------------------------------&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Nov 2021 18:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1368742#M17073</guid>
      <dc:creator>FelipeGarcia</dc:creator>
      <dc:date>2021-11-09T18:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1024 LPUART TransferNonBlocking vs eDMA Interrupt Amount Comparision</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1369104#M17088</link>
      <description>&lt;P&gt;Thank you Dear&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/167536"&gt;@FelipeGarcia&lt;/a&gt;&amp;nbsp;. I expect IRQ handler would be in main code side and didn't see IRQ Handler in &lt;SPAN&gt;fsl_lpuart.c&lt;/SPAN&gt;. I will be focus you recommendation.&lt;/P&gt;&lt;P&gt;Best Regards.&lt;/P&gt;</description>
      <pubDate>Wed, 10 Nov 2021 08:22:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/IMXRT1024-LPUART-TransferNonBlocking-vs-eDMA-Interrupt-Amount/m-p/1369104#M17088</guid>
      <dc:creator>Lukas_Frank</dc:creator>
      <dc:date>2021-11-10T08:22:24Z</dc:date>
    </item>
  </channel>
</rss>

