<?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: LPC4300 DMA scatter/gatter with LLI in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1959797#M56900</link>
    <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/230642"&gt;@robberpen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;&lt;SPAN class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak"&gt;Based on the documentation snippet you provided, the TRANSFERSIZE field in the DMA Channel Control register is indeed not used if the DMA Controller is not the flow controller. This implies that when the peripheral or another component is controlling the flow, the TRANSFERSIZE field does not dictate the size of the transfer.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;BR&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;Hang&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 23 Sep 2024 10:11:27 GMT</pubDate>
    <dc:creator>Harry_Zhang</dc:creator>
    <dc:date>2024-09-23T10:11:27Z</dc:date>
    <item>
      <title>LPC4300 DMA scatter/gatter with LLI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1953641#M56846</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I am trying enabled burst DMA for hsadc.&lt;/P&gt;&lt;P&gt;It work as DMA as flow-control(0x2), but I need peripheral flow-control (0x6) for more efficiently. here will some items not clear. is any one have comment with red color part.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; LPC_GPDMA-&amp;gt;CH[DMA_CH].SRCADDR = (uint32_t) &amp;amp;LPC_ADCHS-&amp;gt;FIFO_OUTPUT[0];&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; LPC_GPDMA-&amp;gt;CH[DMA_CH].DESTADDR = (uint32_t) sample); &amp;nbsp;// should I set to zero&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; LPC_GPDMA-&amp;gt;CH[DMA_CH].CONTROL = (DMA_TRANSFER_SIZE) &amp;nbsp;ç &amp;nbsp;programming guide said peripheral flow control(0x6) will ignore this field，However when set to 0, nothing FIFO data been transferred&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 12)&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 15) // dst burst&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x2 &amp;lt;&amp;lt; 18) // src傳輸寬度，0x2表示以字的形式傳輸&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x2 &amp;lt;&amp;lt; 21) // dst傳輸寬度，0x2表示以字的形式傳輸&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x1 &amp;lt;&amp;lt; 24) // src AHB主選擇&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 25) // dst AHB主選擇&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 26) // src增量：0，每次傳輸後src位址不遞增&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x1 &amp;lt;&amp;lt; 27) // dst增量：1，每次傳輸後的dst位址增量&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x1 &amp;lt;&amp;lt; 31); //What is Terminal count interrupt&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; LPC_GPDMA-&amp;gt;CH[DMA_CH].CONFIG = (0x0 &amp;lt;&amp;lt; 0) // channel eabled ç burst mode is set to 0?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (HSADC_DMA_READ &amp;lt;&amp;lt; 1) // src外設：設置為8-HSADC&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 6) // dst外設：無設置-記憶體&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x6 &amp;lt;&amp;lt; 11) //流控制：外設-記憶體(0x2 working),XXX -&amp;nbsp; Now test 0x6&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x1 &amp;lt;&amp;lt; 14) // IE-中斷錯誤遮罩&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; | (0x1 &amp;lt;&amp;lt; 15) // &amp;nbsp;ITC-ç The impact is not clear&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 16) //lock ç The impact is not clear&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; | (0x0 &amp;lt;&amp;lt; 18); //進一步忽略src DMA req&amp;nbsp; ç Confirming.&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&amp;nbsp; LPC_GPDMA-&amp;gt;CH[DMA_CH].LLI = LLI_Table;&amp;nbsp; ç How to make DMA reload LLI automatically&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2024 17:01:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1953641#M56846</guid>
      <dc:creator>robberpen</dc:creator>
      <dc:date>2024-09-12T17:01:22Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4300 DMA scatter/gatter with LLI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1956175#M56874</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/230642"&gt;@robberpen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1.&amp;nbsp;- DESTADDR = (uint32_t) sample&lt;BR /&gt;- This should **not be set to zero**. You need to provide a valid memory address to store the HSADC samples&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp;CONTROL = DMA_TRANSFER_SIZE: This shouldn't be `0`. Try setting this to the expected number of data units (words/bytes) to transfer.&lt;/P&gt;
&lt;P&gt;3.&amp;nbsp;CONFIG = (0x0 &amp;lt;&amp;lt; 0)` (channel enabled) This field needs to be set to `1` to enable the DMA channel. You might be referring to **burst mode**, but this field is used to enable the channel itself, not control the burst mode.&lt;/P&gt;
&lt;P&gt;4.LPC_GPDMA-&amp;gt;CH[DMA_CH].LLI = LLI_Table&lt;BR /&gt;- To make DMA **automatically reload the LLI**, ensure the `LLI` field points to the next descriptor. Each LLI must contain the address of the next LLI in the chain or `0` if it's the last one.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Hang&lt;/P&gt;</description>
      <pubDate>Wed, 18 Sep 2024 03:30:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1956175#M56874</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2024-09-18T03:30:32Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4300 DMA scatter/gatter with LLI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1957827#M56889</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957"&gt;@Harry_Zhang&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks your reply, I will verifying your comment.&lt;/P&gt;&lt;P&gt;Based from the doc below, TRANSERSIZE not use if the DMA Controller is not the flow controller.&lt;/P&gt;&lt;P&gt;So the DMA how to know the buffer size should be copied in each continuously DMA burst request.&lt;/P&gt;&lt;P&gt;I supposedly the scatter/gatter with LLI mechanism is not work if flow controller is not DMA, Please have comment&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="robberpen_0-1726759581562.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/300060i553F171E0BC864AB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="robberpen_0-1726759581562.png" alt="robberpen_0-1726759581562.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Sep 2024 15:31:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1957827#M56889</guid>
      <dc:creator>robberpen</dc:creator>
      <dc:date>2024-09-19T15:31:16Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4300 DMA scatter/gatter with LLI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1959797#M56900</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/230642"&gt;@robberpen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;&lt;SPAN class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak"&gt;Based on the documentation snippet you provided, the TRANSFERSIZE field in the DMA Channel Control register is indeed not used if the DMA Controller is not the flow controller. This implies that when the peripheral or another component is controlling the flow, the TRANSFERSIZE field does not dictate the size of the transfer.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;BR&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;Hang&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 10:11:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4300-DMA-scatter-gatter-with-LLI/m-p/1959797#M56900</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2024-09-23T10:11:27Z</dc:date>
    </item>
  </channel>
</rss>

