<?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: Continuous/Self-perpetuating eDMA scatter gather in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771270#M119759</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri, yes I have read these sections and tried again and again.&amp;nbsp; The problem is when a person is new to a processor and processor family they lack the context and "tribal knowledge" they need to assimilate the often obscure and voluminous documentation.&amp;nbsp; In order to get past these issues they look to the NXP forum moderators and community for insight and clarification and perhaps a simple example.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is little to no point at all in having a forum when the standard response is almost invariably "read the manual".&amp;nbsp; Please see&lt;A _jive_internal="true" href="https://community.nxp.com/thread/463153"&gt; this post&lt;/A&gt; for some more feedback in this regard.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 01 Feb 2018 14:51:45 GMT</pubDate>
    <dc:creator>ryanshuttlewort</dc:creator>
    <dc:date>2018-02-01T14:51:45Z</dc:date>
    <item>
      <title>Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771268#M119757</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I am using IAR with an RT1050 SDK, version&amp;nbsp; &lt;SPAN class=""&gt;2.3.0&lt;/SPAN&gt; (2017-11-16).&amp;nbsp;&amp;nbsp; Is there a way to make scatter gather eDMA transaction self-perpetuating, i.e. they require no software intervention to keep the transactions running indefinitely?&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been working with the SDK scatter gather example and they appear to always stop after the last TCD even when linking appears to be set up correctly in the last TCD.&amp;nbsp; There are some hints in the reference manual and API code that suggest this is expected behavior then other still suggest it is not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a comment in the &lt;A href="http://mcuxpresso.nxp.com/api_doc/dev/210/group__edma.html#aa45bd940803ec470b60e5b5d5bd0356b"&gt;API documentation&lt;/A&gt; that suggests this might not be possible:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;For the last two continuous ISRs in a scatter/gather process, they both load &lt;BR /&gt;the last TCD (The last ISR does not load a new TCD) from the memory pool to the &lt;BR /&gt;eDMA engine when major loop completes. Therefore, ensure that the header and &lt;BR /&gt;tcdUsed updated are identical for them. tcdUsed are both 0 in this case as no &lt;BR /&gt;TCD to be loaded.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 18:03:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771268#M119757</guid>
      <dc:creator>ryanshuttlewort</dc:creator>
      <dc:date>2018-01-30T18:03:20Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771269#M119758</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; Have You followed recommendations of sections 22.5.7.2 (Dynamic channel linking) &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;and 22.5.7.3 (Dynamic scatter/gather) in i.MX RT1050 Processor Reference Manual, &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Rev. 0, 10/2017 ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Feb 2018 09:03:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771269#M119758</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-02-01T09:03:12Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771270#M119759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri, yes I have read these sections and tried again and again.&amp;nbsp; The problem is when a person is new to a processor and processor family they lack the context and "tribal knowledge" they need to assimilate the often obscure and voluminous documentation.&amp;nbsp; In order to get past these issues they look to the NXP forum moderators and community for insight and clarification and perhaps a simple example.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is little to no point at all in having a forum when the standard response is almost invariably "read the manual".&amp;nbsp; Please see&lt;A _jive_internal="true" href="https://community.nxp.com/thread/463153"&gt; this post&lt;/A&gt; for some more feedback in this regard.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Feb 2018 14:51:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771270#M119759</guid>
      <dc:creator>ryanshuttlewort</dc:creator>
      <dc:date>2018-02-01T14:51:45Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771271#M119760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Lets try this another way.&amp;nbsp; Below is the eDMA setup from the RT105x SDK scatter gather example.&amp;nbsp; Could someone please point out the changes necessary to turn this into a self-perpetuating transfer, i.e. once TCD[1] is complete it should re-trigger TCD[0], forever without SW intervention once set up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_GetDefaultConfig(&amp;amp;userConfig);
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_Init(EXAMPLE_DMA, &amp;amp;userConfig);
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_CreateHandle(&amp;amp;g_EDMA_Handle, EXAMPLE_DMA, 0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_SetCallback(&amp;amp;g_EDMA_Handle, EDMA_Callback, NULL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_ResetChannel(g_EDMA_Handle.base, g_EDMA_Handle.channel);

&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_InstallTCDMemory(&amp;amp;g_EDMA_Handle, tcdMemoryPoolPtr, TCD_QUEUE_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure and submit transfer structure 1 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_PrepareTransfer(&amp;amp;transferConfig, srcAddr, sizeof(srcAddr[0]), destAddr, sizeof(destAddr[0]),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sizeof(srcAddr[0]), sizeof(srcAddr[0]) * HALF_BUFFER_LENGTH, kEDMA_MemoryToMemory);
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_SubmitTransfer(&amp;amp;g_EDMA_Handle, &amp;amp;transferConfig);
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure and submit transfer structure 2 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_PrepareTransfer(&amp;amp;transferConfig, &amp;amp;srcAddr[4], sizeof(srcAddr[0]), &amp;amp;destAddr[4], sizeof(destAddr[0]),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sizeof(srcAddr[0]), sizeof(srcAddr[0]) * HALF_BUFFER_LENGTH, kEDMA_MemoryToMemory);
&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_SubmitTransfer(&amp;amp;g_EDMA_Handle, &amp;amp;transferConfig);

&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_StartTransfer(&amp;amp;g_EDMA_Handle);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried using the API EDMA_TcdSetChannelLink and it does appear to correctly set MAJORELINK and MAJORLINKCH but no re-triggering occurs.&amp;nbsp; On a whim, I have also tried forcing ESG on the last block without results.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Feb 2018 14:05:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771271#M119760</guid>
      <dc:creator>ryanshuttlewort</dc:creator>
      <dc:date>2018-02-02T14:05:54Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771272#M119761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp; When started with the edma_scatter_gather exampel from the SDK, one can add the following to the main just&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;before the call to EDMA_StartTransfer():&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;/* Enable scatter gather for TCD1. DLAST is already setup to point back to TCD0.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;* The scatter gather enable bit needs to be set, and DREQ needs to be cleared so that&lt;BR /&gt;* the channel will still respond to requests.&lt;BR /&gt;*/&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;tcdMemoryPoolPtr[1].CSR = DMA_CSR_ESG_MASK | DMA_CSR_INTMAJOR_MASK;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp; &amp;nbsp;The loop changes the functionality so the demo won't complete, because the DMA runs forever at this point.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;You can stop execution with the debugger, manually modify srcAddr and/or destAddr, start execution again,&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;then stop and see that the DMA is still going.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Feb 2018 03:06:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771272#M119761</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-02-09T03:06:27Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771273#M119762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Yuri, that worked.&amp;nbsp; I have set those bits but not in the same way or sequence in the setup.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Feb 2018 16:58:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771273#M119762</guid>
      <dc:creator>ryanshuttlewort</dc:creator>
      <dc:date>2018-02-09T16:58:07Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous/Self-perpetuating eDMA scatter gather</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771274#M119763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ryan, I want config the eDMA just&amp;nbsp;like you say, But i cant config it properly, Could you give me some advice??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2018 03:51:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Continuous-Self-perpetuating-eDMA-scatter-gather/m-p/771274#M119763</guid>
      <dc:creator>mycan12345</dc:creator>
      <dc:date>2018-08-02T03:51:27Z</dc:date>
    </item>
  </channel>
</rss>

