<?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>Kinetis MicrocontrollersのトピックDMA With minor loops</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/DMA-With-minor-loops/m-p/461934#M27706</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have K60 Tower board: TWRK60F120MUM&lt;/P&gt;&lt;P&gt;I have DMA transfer 2 bytes for each external trigger (from PORT B input)&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SADDR_SADDR((void*)&amp;amp;FTM1_CNT) ;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address increment: no increment needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SLAST_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address reload after major loop finishes: no reload needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_ATTR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_ATTR_SSIZE(1) | DMA_ATTR_DSIZE(1) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; // destination configuration &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DADDR_DADDR((void*)UserDataPtr);//&amp;amp;gdwDummyDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DLASTSGA_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; //in Bytes : reload after major loop finishes&lt;/P&gt;&lt;P&gt;&amp;nbsp; // set CITER and BITER to maximum value &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_BITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_BITER_ELINKNO_BITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CITER_ELINKNO_CITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_NBYTES_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // enable auto close request &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disale ELINK&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= DMA_CSR_DREQ_MASK;&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;&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; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I want to transfer 8 bytes for each trigger, changed CNT to SC. and I make the following modifications:&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SADDR_SADDR((void*)&amp;amp;FTM1_SC) ;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x4;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address increment: no increment needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SLAST_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address reload after major loop finishes: no reload needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_ATTR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_ATTR_SSIZE(2) | DMA_ATTR_DSIZE(2) | DMA_ATTR_DMOD(8) | DMA_ATTR_SMOD(8) ; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; // destination configuration &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DADDR_DADDR((void*)UserDataPtr);//&amp;amp;gdwDummyDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x4; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DLASTSGA_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; //in Bytes : reload after major loop finishes&lt;/P&gt;&lt;P&gt;&amp;nbsp; // set CITER and BITER to maximum value &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_BITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_BITER_ELINKNO_BITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CITER_ELINKNO_CITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_NBYTES_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // enable auto close request &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disale ELINK&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= DMA_CSR_DREQ_MASK;&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;&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; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It only transfer once (8 Bytes). It doesn't continuously transfer with each trigger.&lt;/P&gt;&lt;P&gt;Suppose NBYTES=8 is minor loop. Why it only transfer once (8 bytes)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;david Zhou&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 11 May 2016 21:11:57 GMT</pubDate>
    <dc:creator>davidzhou</dc:creator>
    <dc:date>2016-05-11T21:11:57Z</dc:date>
    <item>
      <title>DMA With minor loops</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/DMA-With-minor-loops/m-p/461934#M27706</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have K60 Tower board: TWRK60F120MUM&lt;/P&gt;&lt;P&gt;I have DMA transfer 2 bytes for each external trigger (from PORT B input)&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SADDR_SADDR((void*)&amp;amp;FTM1_CNT) ;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address increment: no increment needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SLAST_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address reload after major loop finishes: no reload needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_ATTR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_ATTR_SSIZE(1) | DMA_ATTR_DSIZE(1) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; // destination configuration &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DADDR_DADDR((void*)UserDataPtr);//&amp;amp;gdwDummyDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DLASTSGA_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; //in Bytes : reload after major loop finishes&lt;/P&gt;&lt;P&gt;&amp;nbsp; // set CITER and BITER to maximum value &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_BITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_BITER_ELINKNO_BITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CITER_ELINKNO_CITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_NBYTES_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // enable auto close request &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disale ELINK&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= DMA_CSR_DREQ_MASK;&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;&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; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I want to transfer 8 bytes for each trigger, changed CNT to SC. and I make the following modifications:&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SADDR_SADDR((void*)&amp;amp;FTM1_SC) ;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x4;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address increment: no increment needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_SLAST_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Source address reload after major loop finishes: no reload needed&lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_ATTR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_ATTR_SSIZE(2) | DMA_ATTR_DSIZE(2) | DMA_ATTR_DMOD(8) | DMA_ATTR_SMOD(8) ; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; // destination configuration &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DADDR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DADDR_DADDR((void*)UserDataPtr);//&amp;amp;gdwDummyDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DOFF_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x4; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_DLASTSGA_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; //in Bytes : reload after major loop finishes&lt;/P&gt;&lt;P&gt;&amp;nbsp; // set CITER and BITER to maximum value &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_BITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_BITER_ELINKNO_BITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CITER_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CITER_ELINKNO_CITER_MASK; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ChnInit1.TCD.DMA_TCD_NBYTES_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // enable auto close request &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disale ELINK&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ChnInit1.TCD.DMA_TCD_CSR_Reg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= DMA_CSR_DREQ_MASK;&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;&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; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It only transfer once (8 Bytes). It doesn't continuously transfer with each trigger.&lt;/P&gt;&lt;P&gt;Suppose NBYTES=8 is minor loop. Why it only transfer once (8 bytes)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;david Zhou&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 May 2016 21:11:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/DMA-With-minor-loops/m-p/461934#M27706</guid>
      <dc:creator>davidzhou</dc:creator>
      <dc:date>2016-05-11T21:11:57Z</dc:date>
    </item>
    <item>
      <title>Re: DMA With minor loops</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/DMA-With-minor-loops/m-p/461935#M27707</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It need to set ChnInit1.TCD.DMA_TCD_NBYTES_Reg value to you expected total transfer bytes, such as 0x400 (1KBytes).&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 May 2016 06:34:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/DMA-With-minor-loops/m-p/461935#M27707</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2016-05-12T06:34:20Z</dc:date>
    </item>
  </channel>
</rss>

