<?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: dma config issue in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644268#M39079</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;You are right.&lt;/P&gt;&lt;P&gt;There doesn't need to set the ADC0_SC1A [AIEN] bit, the DMA was triggered by ADC0_SC1A[COCO] bit.&lt;/P&gt;&lt;P&gt;There are some modules need to enable both the interrupt and DMA bits, while the ADC module is an exception.&lt;/P&gt;&lt;P&gt;Sorry for&amp;nbsp; my previous answer. Customer just using below ADC channel scan line:&lt;/P&gt;&lt;P&gt;volatile unsigned char&amp;nbsp; uc_adc_mux[6]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = {17, 18, 16 };&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Mux scan line&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thank you for the attention.&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>Tue, 15 Nov 2016 01:11:24 GMT</pubDate>
    <dc:creator>Hui_Ma</dc:creator>
    <dc:date>2016-11-15T01:11:24Z</dc:date>
    <item>
      <title>dma config issue</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644265#M39076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;I want to scan 3 ADC channels with eDMA using two dma channels 0 an 1 on K02 microcontroller. So far my config should make it work but i don't find why it doesn't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SIM-&amp;gt;SCGC6 |= SIM_SCGC6_ADC0_MASK; //enable clock for ADC0&lt;BR /&gt;ADC0-&amp;gt;SC2 |=ADC_SC2_DMAEN_MASK;&lt;BR /&gt;ADC0-&amp;gt;CFG1|=ADC_CFG1_MODE(0x03)|ADC_CFG1_ADIV(0x02)|ADC_CFG1_ADLSMP_MASK;&lt;BR /&gt;ADC0-&amp;gt;CFG2|=ADC_CFG2_ADHSC_MASK|ADC_CFG2_ADLSTS(0);&lt;BR /&gt;ADC0-&amp;gt;SC3 |=ADC_SC3_CAL_MASK;&lt;BR /&gt;while(ADC0-&amp;gt;SC3 &amp;amp; ADC_SC3_CAL_MASK){};&lt;BR /&gt;ADC0-&amp;gt;SC1[0] = ADC_SC1_ADCH(31);&lt;BR /&gt;ADC0-&amp;gt;SC1[0]|=ADC_SC1_AIEN_MASK;&lt;BR /&gt;/* DMA */&lt;BR /&gt;SIM-&amp;gt;SCGC6|= SIM_SCGC6_DMAMUX_MASK;&lt;BR /&gt;SIM-&amp;gt;SCGC7|= SIM_SCGC7_DMA_MASK;&lt;BR /&gt;DMAMUX-&amp;gt;CHCFG[FIRSTDMACHANNEL]&amp;amp;=~DMAMUX_CHCFG_ENBL_MASK;&lt;BR /&gt;DMAMUX-&amp;gt;CHCFG[FIRSTDMACHANNEL]|=DMAMUX_CHCFG_SOURCE(63);//DMA source is an array&lt;BR /&gt;DMAMUX-&amp;gt;CHCFG[FIRSTDMACHANNEL]|=DMAMUX_CHCFG_ENBL_MASK;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].SADDR=(uint32_t)&amp;amp;adc_mux[0];//source is adc_mux array for channel config&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].DADDR=(uint32_t)&amp;amp;(ADC0-&amp;gt;SC1[0]);&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].SOFF=0x01;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].DOFF=0;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].ATTR=DMA_ATTR_SSIZE(0)| DMA_ATTR_DSIZE(0);&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].NBYTES_MLNO=0x01;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].CITER_ELINKNO=0x03;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].BITER_ELINKNO=0x03;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].SLAST=-3;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].CSR=0;&lt;BR /&gt;DMA0-&amp;gt;TCD[FIRSTDMACHANNEL].DLAST_SGA = 0x00;&lt;BR /&gt;DMAMUX-&amp;gt;CHCFG[SECONDDMACHANNEL]&amp;amp;=~DMAMUX_CHCFG_ENBL_MASK;&lt;BR /&gt;DMAMUX-&amp;gt;CHCFG[SECONDDMACHANNEL]|=DMAMUX_CHCFG_SOURCE(40);//DMA source is an ADC0&lt;BR /&gt;DMAMUX-&amp;gt;CHCFG[SECONDDMACHANNEL]|=DMAMUX_CHCFG_ENBL_MASK;&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].SADDR=(uint32_t)&amp;amp;(ADC0-&amp;gt;R[0]);&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].DADDR=(uint32_t)&amp;amp;adc_result[0];&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].SOFF=0;&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].SLAST=0x00;&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].DOFF=0x02;&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].ATTR=DMA_ATTR_SSIZE(1)|DMA_ATTR_DSIZE(1);&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].NBYTES_MLNO=0x02;&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].CITER_ELINKYES= DMA_CITER_ELINKYES_ELINK_MASK|&lt;BR /&gt; DMA_CITER_ELINKYES_LINKCH(FIRSTDMACHANNEL)|&lt;BR /&gt; DMA_CITER_ELINKYES_CITER(0x0C);&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].BITER_ELINKYES=DMA_BITER_ELINKYES_ELINK_MASK|&lt;BR /&gt; DMA_BITER_ELINKYES_LINKCH(FIRSTDMACHANNEL)|&lt;BR /&gt; DMA_BITER_ELINKYES_BITER(0x0C);&lt;BR /&gt;DMA0-&amp;gt;TCD[SECONDDMACHANNEL].DLAST_SGA = -24;&lt;BR /&gt;DMA0&amp;gt;TCD[SECONDDMACHANNEL].CSR=DMA_CSR_MAJORELINK_MASK&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|DMA_CSR_MAJORLINKCH(FIRSTDMACHANNEL);&lt;BR /&gt;ADC0-&amp;gt;SC1[0]=ADC_SC1_ADCH(0x14); // trigger first conversion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the exact same dma config from this post:&lt;A href="https://community.nxp.com/message/837236"&gt;https://community.nxp.com/message/837236&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 10:47:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644265#M39076</guid>
      <dc:creator>gnichimohamed</dc:creator>
      <dc:date>2016-11-09T10:47:16Z</dc:date>
    </item>
    <item>
      <title>Re: dma config issue</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644266#M39077</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;I do a demo software for your reference.&lt;/P&gt;&lt;P&gt;Please refer attached example code for the detailed info.&lt;/P&gt;&lt;P&gt;The demo was tested with TWR-K60D100M board.&lt;/P&gt;&lt;P&gt;The default IAR project could be downloaded from &lt;A href="http://www.nxp.com/webapp/sps/download/license.jsp?colCode=KINETIS512_V2_SC&amp;amp;location=null&amp;amp;fsrch=1&amp;amp;sr=1&amp;amp;pageNum=1&amp;amp;Parent_nodeId=&amp;amp;Parent_pageType="&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;best regards,&lt;/P&gt;&lt;P&gt;Hui&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 03:21:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644266#M39077</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2016-11-14T03:21:15Z</dc:date>
    </item>
    <item>
      <title>Re: dma config issue</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644267#M39078</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui,&lt;/P&gt;&lt;P&gt;Thank you for your answer, i don't understand why we need that ADC0_SC1A [AIEN] bit set. I have found that for my config that i didn't set the DMA_ERQ.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2016 12:58:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644267#M39078</guid>
      <dc:creator>gnichimohamed</dc:creator>
      <dc:date>2016-11-14T12:58:02Z</dc:date>
    </item>
    <item>
      <title>Re: dma config issue</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644268#M39079</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;You are right.&lt;/P&gt;&lt;P&gt;There doesn't need to set the ADC0_SC1A [AIEN] bit, the DMA was triggered by ADC0_SC1A[COCO] bit.&lt;/P&gt;&lt;P&gt;There are some modules need to enable both the interrupt and DMA bits, while the ADC module is an exception.&lt;/P&gt;&lt;P&gt;Sorry for&amp;nbsp; my previous answer. Customer just using below ADC channel scan line:&lt;/P&gt;&lt;P&gt;volatile unsigned char&amp;nbsp; uc_adc_mux[6]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = {17, 18, 16 };&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Mux scan line&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thank you for the attention.&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>Tue, 15 Nov 2016 01:11:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644268#M39079</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2016-11-15T01:11:24Z</dc:date>
    </item>
    <item>
      <title>Re: dma config issue</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644269#M39080</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Ma Hui&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm attempting to port the code example you've provided to the FRDM-KV31F platform using MCUXpresso. At a customer's request, I'm writing register level code, and trying to minimize abstraction, so I'm not using the KSDK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My questions are around the DMAMUX configuration for this part.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been looking through the&amp;nbsp;dma_request_source_t table to find appropriate values for both the DMA and ADC0 source.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've found the correct value for the ADC0 to be 0x40 for the&amp;nbsp;DMAMUX-&amp;gt;CHCFG[1]. I'm having trouble locating the correct value to enter into the DMAMUX-&amp;gt;CHCFG[0] for the DMA Source.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help in this porting effort would be greatly appreciated.&lt;/P&gt;&lt;PRE&gt;&amp;nbsp; //****************************************************************************
 //**** DMA channel 0, use for Write ADC mux channel, form SRAM to ADC ********
 //****************************************************************************
 DMAMUX-&amp;gt;CHCFG[0] = DMAMUX_CHCFG_ENBL_MASK|DMAMUX_CHCFG_SOURCE(0x36); //DMA source DMA Mux

&amp;nbsp; //****************************************************************************
 //**** DMA channel 1, use for Read ADC result data, form ADC to SRAM *********
 //****************************************************************************
 //NVIC_SetIsr(INT_DMA1,2); //17

 DMAMUX-&amp;gt;CHCFG[1] = DMAMUX_CHCFG_ENBL_MASK|DMAMUX_CHCFG_SOURCE(kDmaRequestMux0ADC0); //DMA source ADC0&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bets regards,&lt;/P&gt;&lt;P&gt;Josh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Mar 2017 18:12:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644269#M39080</guid>
      <dc:creator>joshuawillis</dc:creator>
      <dc:date>2017-03-30T18:12:20Z</dc:date>
    </item>
    <item>
      <title>Re: dma config issue</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644270#M39081</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Josh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the later reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The KV31 DMA request source number in decimal.&lt;/P&gt;&lt;P&gt;If you want to select ADC0 as DMA channel0 trigger source, the register of DMAMUX_CHCFG0 [SOURCE] bits should be 0x28.&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Wed, 05 Apr 2017 09:23:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/dma-config-issue/m-p/644270#M39081</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-04-05T09:23:37Z</dc:date>
    </item>
  </channel>
</rss>

