<?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>S32KのトピックRe: S32K3 DMA</title>
    <link>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1440324#M14830</link>
    <description>&lt;P&gt;&lt;SPAN&gt;Thank you very much for your patience!&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 07 Apr 2022 07:28:10 GMT</pubDate>
    <dc:creator>Zhiwei</dc:creator>
    <dc:date>2022-04-07T07:28:10Z</dc:date>
    <item>
      <title>S32K3 DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1436590#M14699</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/153258"&gt;@frank_yang_1_offboarding&lt;/a&gt;&amp;nbsp;Hi,Frank!&lt;/P&gt;&lt;P&gt;When testing the DMA scatter-gather function , I found the following problems, I hope you can help answer the doubts:&lt;/P&gt;&lt;P&gt;The following buffers are defined in the NoCacheable area.&lt;/P&gt;&lt;P&gt;①The configuration S/G channel has only one member, and the software triggers the transfer several times, and the transfer can be carried out normally. The TCD is as follows. After the Major Loop is completed, the source address can be shifted forward by 16Bytes normally.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Zhiwei_1-1648689204725.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/175362i5748653FB64A606E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Zhiwei_1-1648689204725.png" alt="Zhiwei_1-1648689204725.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Zhiwei_0-1648689188009.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/175361i2AF4E34936D9C244/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Zhiwei_0-1648689188009.png" alt="Zhiwei_0-1648689188009.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;②Add a member on the basis of ①, and the software triggers the transport for mantimey times. Member 2 can be transported normally, and member 1 is only transported normally for the first&amp;nbsp;&lt;SPAN&gt;. The TCD is as follows. After the Major Loop is completed, through the register TCD0_SADDR, it can be seen that member 2 is normal. Offset the source address forward by 16Bytes, but it is not possible to judge whether member 1 is normally offset by looking at the register.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Zhiwei_2-1648689219669.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/175363i77B37405CD13574B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Zhiwei_2-1648689219669.png" alt="Zhiwei_2-1648689219669.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;③In addition, it is found that Dma_Ip_Init-&amp;gt; Dma_Ip_LogicChannelInit-&amp;gt; Static_Dma_Ip_SetLogicChannelScatterGatherInit-&amp;gt; HwAccDmaCh_LoadConfigIntoSoftwareTcd will not assign Destination.LastAddrAdj to the register; therefore, after the Major loop is completed, the target address cannot be offset, even if the graphical interface has been configured offset; to achieve address offset Move, you need to manually define it yourself, is this a bug?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Zhiwei_3-1648689360222.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/175364iB21278B507FEDAEA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Zhiwei_3-1648689360222.png" alt="Zhiwei_3-1648689360222.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The attachment is my routine, if you have time, please help to see if there is any misoperation, thank you very much!&lt;/P&gt;</description>
      <pubDate>Thu, 31 Mar 2022 01:17:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1436590#M14699</guid>
      <dc:creator>Zhiwei</dc:creator>
      <dc:date>2022-03-31T01:17:47Z</dc:date>
    </item>
    <item>
      <title>Re: S32K3 DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1437993#M14743</link>
      <description>&lt;P&gt;Hi,zhiwei:&lt;/P&gt;
&lt;P&gt;1.&amp;nbsp;When the S/G list has &lt;STRONG&gt;only 1 member&lt;/STRONG&gt;, RTD processes it as an DMA normal transfer (i.e. control bit &lt;EM&gt;CSR_ESG &lt;/EM&gt;= 0). And the DMA transfer triggered by &lt;EM&gt;Dma_Ip_SetLogicChannelCommand()&lt;/EM&gt;&amp;nbsp;will use the configuration stored in &lt;STRONG&gt;internal TCD register&lt;/STRONG&gt;. The offset after transmission can be normally observed in this case.&lt;/P&gt;
&lt;P&gt;2. When the S/G list length is greater than 1, the driver regards it as S/G mode and switches&lt;EM&gt; CSR_ESG&lt;/EM&gt; = 1. In this case,&amp;nbsp; the DMA engine will import the next configuration to the internal TCD register after former transfer complete.&lt;/P&gt;
&lt;P&gt;Note:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Last address adjustment&lt;/EM&gt; field configured in S32DS_CT is &lt;STRONG&gt;invalid.&lt;/STRONG&gt; DMA engine don`t writeback it to external TCD list.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;If user assert &lt;EM&gt;INTMAJOR&amp;nbsp;&lt;/EM&gt;for every S/G list elements, then the&amp;nbsp;number of interruptions may be inconsistent with the number of S/G list. The process of interrupt request to M7_NVIC and the DMA engine process are&amp;nbsp;&lt;STRONG&gt;asynchronous.&amp;nbsp;&lt;/STRONG&gt;Then the IRQ handling process &lt;STRONG&gt;maybe slow&lt;/STRONG&gt; than DMA engine.&lt;/LI&gt;
&lt;LI&gt;If the user drive DMA S/G by software codes (i.e. triggering DMA with &lt;EM&gt;Dma_Ip_SetLogicChannelCommand&lt;/EM&gt;), it is necessary to &lt;STRONG&gt;clear the &lt;EM&gt;CSR_DONE &lt;/EM&gt;&lt;/STRONG&gt;bit (could do it in DMA interrupt callback) to trigger the next transmission.&lt;/LI&gt;
&lt;LI&gt;It better to assert &lt;EM&gt;INTMAJOR&amp;nbsp;&lt;/EM&gt;for every DMA S/G elements because the RTD DMA irq driver&amp;nbsp;&lt;EM&gt;IrqHandler&amp;nbsp;&lt;/EM&gt;will check the&amp;nbsp;&lt;EM&gt;reg_CSR_INTMAJOR&amp;nbsp;&lt;/EM&gt;bit.&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Sat, 02 Apr 2022 09:56:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1437993#M14743</guid>
      <dc:creator>frank_yang_1_offboarding</dc:creator>
      <dc:date>2022-04-02T09:56:47Z</dc:date>
    </item>
    <item>
      <title>Re: S32K3 DMA</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1440324#M14830</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Thank you very much for your patience!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Apr 2022 07:28:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA/m-p/1440324#M14830</guid>
      <dc:creator>Zhiwei</dc:creator>
      <dc:date>2022-04-07T07:28:10Z</dc:date>
    </item>
  </channel>
</rss>

