<?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>ColdFire/68K Microcontrollers and Processors中的主题 MCF52223EVB DMA data transfer</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223EVB-DMA-data-transfer/m-p/162118#M5229</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have any tips on how to go about using DMA controller for data transfer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 06 Jun 2008 02:42:30 GMT</pubDate>
    <dc:creator>ad777</dc:creator>
    <dc:date>2008-06-06T02:42:30Z</dc:date>
    <item>
      <title>MCF52223EVB DMA data transfer</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223EVB-DMA-data-transfer/m-p/162118#M5229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have any tips on how to go about using DMA controller for data transfer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jun 2008 02:42:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223EVB-DMA-data-transfer/m-p/162118#M5229</guid>
      <dc:creator>ad777</dc:creator>
      <dc:date>2008-06-06T02:42:30Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52223EVB DMA data transfer</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223EVB-DMA-data-transfer/m-p/162119#M5230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi&lt;BR /&gt;&lt;BR /&gt;DMA can be used for memory-memory transfer or together with DMA timers and UARTs. The exact use varies depending on which method is reuired.&lt;BR /&gt;&lt;BR /&gt;Here's a quick example of doing memory-memory transfer as a starter:&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;        DMA_SR_BCR3 = ((unsigned long)(Size));                           // the number of byte transfers to be made (SR_BCRn)        if ((unsigned long)ptrFrom &amp;lt; START_OF_SRAM) {                                DMA_SAR3 = (BACKDOOR_FLASH + (unsigned long)ptrFrom);        // if from FLASH, set to backdoor        }        else {            DMA_SAR3  = (unsigned long)ptrFrom;                          // address of first byte to be transfered  (SARn)        }        DMA_DAR3  = (unsigned long)ptrTo;                                // address of first destination byte       (DARn)        DMA_DCR3  = (DCR_BWC_16K | DCR_SINC | DCR_DINC | DCR_SSIZE_BYTE | DCR_DSIZE_BYTE | DCR_START); // set up DMA operation (DCRn) and start DMA transfer        while (!(DMA_SR_BCR3 &amp;amp; DSR_DONE)) { SIM_DMA_3 };                 // wait until the transfer has terminated        DMA_SR_BCR3 = DSR_DONE;                                          // clear all status bits ready for future transfer&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;Note that:&lt;BR /&gt;- DMA can not access FLASH directly but must use a backdoor address.&lt;BR /&gt;- DMA controller doesn't always have rights to access memory and peripherals:&lt;BR /&gt;&lt;BR /&gt;GPACR0 = SUP_USER_FULL_ACCESS;&amp;nbsp; for example allows peripheral access.&lt;BR /&gt;&lt;BR /&gt;The following is needed to allow FLASH access (as in the comment, this is also required for the USB DMA controller to be able to access FLASH)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PACR1 = 0x04;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable DMA to access FLASH (also by USB DMA controller)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPACR1 = 0x04;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;There may be various other details depending on exact use.&lt;BR /&gt;&lt;BR /&gt;You could also look at the uTasker project since this includes DMA support for memory and UARTs and supports your chip.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.uTasker.com" rel="nofollow noopener noreferrer noopener noreferrer" target="_blank"&gt;www.uTasker.com&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:07:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223EVB-DMA-data-transfer/m-p/162119#M5230</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-10-29T09:07:53Z</dc:date>
    </item>
  </channel>
</rss>

