<?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中的主题 flexbus and DMA</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200411#M2880</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've a question about flexbus on kinetis (I use K60).&lt;/P&gt;&lt;P&gt;I need to trasfer a large file from on-chip ram to an external memory connected on the flexbus. I need to do this with low CPU intervention.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;is it possible wiht flexbus?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In other word can I copy a on-chip memory zone (from address A to addressB) out through flexbus?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In other word, again, Is it possible to use flexbus with DMA on Kinets?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks a lot for help.&lt;/P&gt;&lt;P&gt;AlexGiov&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Jan 2012 07:06:50 GMT</pubDate>
    <dc:creator>AlexGiov</dc:creator>
    <dc:date>2012-01-25T07:06:50Z</dc:date>
    <item>
      <title>flexbus and DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200411#M2880</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've a question about flexbus on kinetis (I use K60).&lt;/P&gt;&lt;P&gt;I need to trasfer a large file from on-chip ram to an external memory connected on the flexbus. I need to do this with low CPU intervention.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;is it possible wiht flexbus?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In other word can I copy a on-chip memory zone (from address A to addressB) out through flexbus?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In other word, again, Is it possible to use flexbus with DMA on Kinets?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks a lot for help.&lt;/P&gt;&lt;P&gt;AlexGiov&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2012 07:06:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200411#M2880</guid>
      <dc:creator>AlexGiov</dc:creator>
      <dc:date>2012-01-25T07:06:50Z</dc:date>
    </item>
    <item>
      <title>Re: flexbus and DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200412#M2881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, it is possible to perform a DMA transfer from internal memory to FlexBus memory.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2012 21:39:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200412#M2881</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2012-01-25T21:39:15Z</dc:date>
    </item>
    <item>
      <title>Re: flexbus and DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200413#M2882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's a snippet from my K70 flexbus DMA code using CW10.2.&amp;nbsp; I previously setup my flexbus for 32-bit transfers starting at address 0x60000000.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define FLEXBUS_START_ADDRESS&amp;nbsp;&amp;nbsp; &amp;nbsp;0x60000000&lt;BR /&gt;#define NWORDS&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1000&lt;BR /&gt;uint32&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaBuf[NWORDS];&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC7 |= SIM_SCGC7_DMA_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_CSR_REG(DMA_BASE_PTR,1) = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// major loop count (current = beginning)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_CITER_ELINKNO_REG(DMA_BASE_PTR,1) =&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_BITER_ELINKNO_REG(DMA_BASE_PTR,1) = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// minor loop count (in bytes), word sizes&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_NBYTES_MLNO_REG(DMA_BASE_PTR,1) = NWORDS &amp;lt;&amp;lt; 2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_ATTR_REG(DMA_BASE_PTR,1) =&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; DMA_ATTR_SMOD(0)| DMA_ATTR_SSIZE(2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| DMA_ATTR_DMOD(0)| DMA_ATTR_DSIZE(2) ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// source addr, inc, end adj&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_SADDR_REG(DMA_BASE_PTR,1) = (uint32)&amp;amp;dmaBuf;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_SOFF_REG(DMA_BASE_PTR,1) = sizeof(uint32);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_SLAST_REG(DMA_BASE_PTR,1) = -(NWORDS &amp;lt;&amp;lt; 2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// dest addr, inc, end adj&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_DADDR_REG(DMA_BASE_PTR,1) = FLEXBUS_START_ADDRESS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_DOFF_REG(DMA_BASE_PTR,1) = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_DLAST_SGA_REG(DMA_BASE_PTR,1) = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DMA is now ready to loop through my dmaBuf, transfering all 1000 32-bit words out to a single flexbus location. I call this statement every 1ms (in my main systick event loop) to trigger it:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CSR_REG(DMA_BASE_PTR,1) |= DMA_CSR_START_MASK;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;In the future I will add completion interrupts and error checking and such, but for now this minimal code seems to be doing the job quite reliably.&amp;nbsp; DMA is a beautiful thing.&lt;/P&gt;&lt;P&gt;Steve Kaiser&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2012 07:25:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/flexbus-and-DMA/m-p/200413#M2882</guid>
      <dc:creator>ee</dc:creator>
      <dc:date>2012-05-11T07:25:11Z</dc:date>
    </item>
  </channel>
</rss>

