<?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 Software Development KitのトピックRe: eDMA driver</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651547#M7045</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the workaround. &lt;SPAN style="font-size: 15px; font-family: helvetica,arial,sans-serif;"&gt;I was wondering if it's the rignt way to set the TCD&amp;nbsp; &lt;/SPAN&gt;because I have to call &lt;SPAN style="font-size: 13px; font-family: courier new,courier,monospace;"&gt;&lt;EM&gt;EDMA_TcdDisableInterrupts()&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #333333; font-size: 15px; font-family: helvetica,arial,sans-serif;"&gt; in order to clear the INTMAJOR previously enabled by &lt;/SPAN&gt;&lt;SPAN style="font-size: 13px; font-family: courier new,courier,monospace;"&gt;&lt;EM&gt;EDMA_SubmitTransfer()&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: helvetica,arial,sans-serif;"&gt; ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_handle_t g_EDMA_Handle;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_GetDefaultConfig(&amp;amp;userConfig);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_Init(DMA0, &amp;amp;userConfig);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_CreateHandle(&amp;amp;g_EDMA_Handle, DMA0, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_tcd_t *tcdRegs;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tcdRegs = (edma_tcd_t *)(&amp;amp;g_EDMA_Handle.base-&amp;gt;TCD[g_EDMA_Handle.channel]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tcdRegs-&amp;gt;SLAST = -sizeof(SPI_data_patterns);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_PrepareTransfer(&amp;amp;transferConfig, SPI_data_patterns, sizeof(SPI_data_patterns[0]),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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; (void *)&amp;amp;SPI0-&amp;gt;PUSHR, sizeof(SPI0-&amp;gt;PUSHR),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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(SPI_data_patterns[0]), sizeof(SPI_data_patterns),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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; kEDMA_MemoryToPeripheral);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_SubmitTransfer(&amp;amp;g_EDMA_Handle, &amp;amp;transferConfig);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px; color: #339966;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Disable TCD[n].CSR.INTMAJOR because it has been previously set by EDMA_SubmitTransfer(),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #339966;"&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and the corresponding N&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;VIC interrupt is still enabled by EDMA_CreateHandle()*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_TcdDisableInterrupts((edma_tcd_t *)(&amp;amp;g_EDMA_Handle.base-&amp;gt;TCD[g_EDMA_Handle.channel]),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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; (uint32_t)(kEDMA_MajorInterruptEnable));&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;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp; for(;;){ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wait20ms();&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_StartTransfer(&amp;amp;g_EDMA_Handle);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #339966;"&gt;/* Wait for SPI0 finish */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(DSPI_GetStatusFlags(SPI0) &amp;amp; kDSPI_EndOfQueueFlag))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;Pat&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Nov 2016 15:11:39 GMT</pubDate>
    <dc:creator>Pat</dc:creator>
    <dc:date>2016-11-18T15:11:39Z</dc:date>
    <item>
      <title>eDMA driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651543#M7041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;Looking for some guidance on porting my TCD-DMA configuration to the KSDK v2.0 using the eDMA driver API. My code transfer data from buffer to SPI over DMA.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;static uint32_t SPI_data_patterns[] =&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DSPI_PUSHR_PCS0 | DSPI_PUSHR_CTAS(0) | DSPI_PUSHR_CONT | DSPI_PUSHR_TXDATA(0x0ec0),&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DSPI_PUSHR_PCS0 | DSPI_PUSHR_CTAS(0) | DSPI_PUSHR_EOQ&amp;nbsp; | DSPI_PUSHR_TXDATA(0x0000)&lt;BR /&gt;};&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;static uint32_t *p_SPI_data_patterns = SPI_data_patterns;&lt;BR /&gt;static uint32_t SPI_data_patterns_size = sizeof(SPI_data_patterns);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void test(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Load address of source data */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].SADDR.R = p_SPI_data_patterns;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Read 4 bytes per transfer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].ATTR.B.SSIZE = kEDMA_TransferSize4Bytes;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* After transfer, add 4 to src addr */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].SOFF.B.SOFF = 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* After major loop, reset src addr */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].SLAST.B.SLAST = -SPI_data_patterns_size; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Source modulo feature not used */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].ATTR.B.SMOD = 0;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Load address of destination */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].DADDR.B.DADDR = &amp;amp;SPI0.PUSHR.R;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Write 4 bytes per transfer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].ATTR.B.DSIZE = kEDMA_TransferSize4Bytes;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* After transfer, add 0 to dest addr */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].DOFF.B.DOFF = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* After major loop, reset dest addr */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].DLASTSGA.B.DLASTSGA = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Destination modulo feature not used */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].ATTR.B.DMOD = 0;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Transfer 4 bytes per minor loop */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].NBYTES.MLNO.B.NBYTES = 4;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; /* Initialize the begining and current major loop iteration counts */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].BITER.ELINKNO.B.BITER = SPI_data_patterns_size / 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CITER.ELINKNO.B.CITER = SPI_data_patterns_size / 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].BITER.ELINKNO.B.ELINK = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CITER.ELINKNO.B.ELINK = 0;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.DREQ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.INTHALF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.INTMAJOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.MAJORELINK&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.ESG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.BWC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.START&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.DONE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.TCD[16].CSR.B.ACTIVE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /*eDMA request signal for channel 16 is enabled, start DMA/SPI transfer*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DMA_0.ERQ.B.ERQ16 = 1U;&lt;/P&gt;&lt;P&gt;...&lt;BR /&gt;}&amp;nbsp; &amp;nbsp; &lt;BR /&gt;void my10msISR(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (SPI_0.SR.B.EOQF){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*clear EOQF, so next frames are TXed by DMA*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_0.SR.R = DSPI_SR_EOQF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_0.ERQ.B.ERQ16 = 1U;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;...&lt;BR /&gt;&amp;nbsp;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Pat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Nov 2016 16:39:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651543#M7041</guid>
      <dc:creator>Pat</dc:creator>
      <dc:date>2016-11-11T16:39:22Z</dc:date>
    </item>
    <item>
      <title>Re: eDMA driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651544#M7042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Pat,&lt;/P&gt;&lt;P&gt;do you want to develop code for&amp;nbsp; DMA and SPI module based on SDK2.0? The SDK2.0 has the example for spi plus DMA.&lt;/P&gt;&lt;P&gt;For example, this is the directory of example for DMA and SPI based on K64.&lt;/P&gt;&lt;P&gt;C:\Freescale\SDK2.0_FRDM_K64F\boards\frdmk64f\driver_examples\dspi\edma_transfer\kdsp:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can download SDK2.0 from the link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nxp.com/ksdk"&gt;http://www.nxp.com/ksdk&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 06:47:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651544#M7042</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2016-11-17T06:47:03Z</dc:date>
    </item>
    <item>
      <title>Re: eDMA driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651545#M7043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi XiangJun,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I already downloaded and saw the examples provided in KSDK2.0 which &lt;SPAN data-dobid="hdw"&gt;unfortunately&lt;/SPAN&gt; don't match with my working "simple" DMA-SPI Tx tranfer. The TCD configuration is done just one time during initialisation. During runtime I only have to enable the corresponding DMA channel in order to send my data and DMA stop automatically, and waiting for a new activation, and so on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, I would like porting my TCD configuration to the KSDK v2.0 using the eDMA driver API. For example, I'm facing a problem when I would like set the &lt;STRONG&gt;SLAST field&lt;/STRONG&gt;, it seems that it's &lt;STRONG&gt;not covered by the eDMA API ?!&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Pat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 10:00:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651545#M7043</guid>
      <dc:creator>Pat</dc:creator>
      <dc:date>2016-11-17T10:00:49Z</dc:date>
    </item>
    <item>
      <title>Re: eDMA driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651546#M7044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;Hi Pat,&lt;/P&gt;&lt;P&gt;I do not see a specific EDMA API for modifying the LAST.&lt;/P&gt;&lt;P&gt;I tested below code in the &lt;SPAN&gt;edma&lt;/SPAN&gt; scatter gather for frdm-k64f using KSDK_v2.&lt;/P&gt;&lt;P style="mso-layout-grid-align:none;text-autospace:none;"&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EDMA_&lt;SPAN class="GramE"&gt;CreateHandle&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="GramE"&gt;(&lt;/SPAN&gt;&amp;amp;&lt;SPAN&gt;g_EDMA_Handle&lt;/SPAN&gt;, DMA0, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="mso-layout-grid-align:none;text-autospace:none;"&gt;&lt;STRONG&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:#7F0055;"&gt;#if&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt; 1&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F;"&gt;//DES 1=test, 0=default code&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="mso-layout-grid-align:none;text-autospace:none;"&gt;&lt;SPAN style="mso-spacerun: yes; color: black; font-size: 10.0pt; font-family: Consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10.0pt; font-family: Consolas;"&gt;edma_tcd_t&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt; *&lt;SPAN&gt;tcdRegs&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="mso-layout-grid-align:none;text-autospace:none;"&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;tcdRegs&lt;/SPAN&gt;&lt;/SPAN&gt; = (&lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10.0pt; font-family: Consolas;"&gt;edma_tcd_t&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt; *)(&amp;amp;&lt;SPAN&gt;g_EDMA_Handle.&lt;SPAN style="color:#0000C0;"&gt;base&lt;/SPAN&gt;&lt;/SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:#0000C0;background:silver;mso-highlight:silver;"&gt;TCD&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt;[&lt;SPAN&gt;g_EDMA_Handle.&lt;SPAN style="color:#0000C0;"&gt;channel&lt;/SPAN&gt;&lt;/SPAN&gt;]);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="mso-layout-grid-align:none;text-autospace:none;"&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;tcdRegs&lt;/SPAN&gt;&lt;/SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:#0000C0;"&gt;SLAST&lt;/SPAN&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:black;"&gt; = -4;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style="font-size:10.0pt;font-family:Consolas;color:#7F0055;"&gt;#&lt;SPAN&gt;endif&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 16:48:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651546#M7044</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2016-11-17T16:48:54Z</dc:date>
    </item>
    <item>
      <title>Re: eDMA driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651547#M7045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the workaround. &lt;SPAN style="font-size: 15px; font-family: helvetica,arial,sans-serif;"&gt;I was wondering if it's the rignt way to set the TCD&amp;nbsp; &lt;/SPAN&gt;because I have to call &lt;SPAN style="font-size: 13px; font-family: courier new,courier,monospace;"&gt;&lt;EM&gt;EDMA_TcdDisableInterrupts()&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #333333; font-size: 15px; font-family: helvetica,arial,sans-serif;"&gt; in order to clear the INTMAJOR previously enabled by &lt;/SPAN&gt;&lt;SPAN style="font-size: 13px; font-family: courier new,courier,monospace;"&gt;&lt;EM&gt;EDMA_SubmitTransfer()&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: helvetica,arial,sans-serif;"&gt; ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_handle_t g_EDMA_Handle;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_GetDefaultConfig(&amp;amp;userConfig);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_Init(DMA0, &amp;amp;userConfig);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_CreateHandle(&amp;amp;g_EDMA_Handle, DMA0, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_tcd_t *tcdRegs;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tcdRegs = (edma_tcd_t *)(&amp;amp;g_EDMA_Handle.base-&amp;gt;TCD[g_EDMA_Handle.channel]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tcdRegs-&amp;gt;SLAST = -sizeof(SPI_data_patterns);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_PrepareTransfer(&amp;amp;transferConfig, SPI_data_patterns, sizeof(SPI_data_patterns[0]),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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; (void *)&amp;amp;SPI0-&amp;gt;PUSHR, sizeof(SPI0-&amp;gt;PUSHR),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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(SPI_data_patterns[0]), sizeof(SPI_data_patterns),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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; kEDMA_MemoryToPeripheral);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_SubmitTransfer(&amp;amp;g_EDMA_Handle, &amp;amp;transferConfig);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px; color: #339966;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Disable TCD[n].CSR.INTMAJOR because it has been previously set by EDMA_SubmitTransfer(),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #339966;"&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and the corresponding N&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;VIC interrupt is still enabled by EDMA_CreateHandle()*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_TcdDisableInterrupts((edma_tcd_t *)(&amp;amp;g_EDMA_Handle.base-&amp;gt;TCD[g_EDMA_Handle.channel]),&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&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; (uint32_t)(kEDMA_MajorInterruptEnable));&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;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp; for(;;){ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wait20ms();&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_StartTransfer(&amp;amp;g_EDMA_Handle);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #339966;"&gt;/* Wait for SPI0 finish */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(DSPI_GetStatusFlags(SPI0) &amp;amp; kDSPI_EndOfQueueFlag))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;Pat&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Nov 2016 15:11:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651547#M7045</guid>
      <dc:creator>Pat</dc:creator>
      <dc:date>2016-11-18T15:11:39Z</dc:date>
    </item>
    <item>
      <title>Re: eDMA driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651548#M7046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pat,&lt;/P&gt;&lt;P&gt;Since the LAST was initialized to 0 and there is not a standard API function call to change it, this is just one way to do it.&lt;/P&gt;&lt;P&gt;You could go implement this into your own API call as well.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Nov 2016 18:05:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/eDMA-driver/m-p/651548#M7046</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2016-11-18T18:05:26Z</dc:date>
    </item>
  </channel>
</rss>

