<?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: how to know DDR memory bandwidth of T4240rdb board? in QorIQ</title>
    <link>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814112#M6894</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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I already tried single write DMA Transfer(32MB only) between DDR memory locations and calculate the time taken which is 0.012823027&amp;nbsp; in sec for 32MB so per sec 2.43GB.&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; But in this test polling status register require some delay otherwise it stuck.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;while((*((unsigned int *)(mptr+DMA1_SR0)) &amp;amp; 0x04) == 4)&lt;BR /&gt; {&lt;BR /&gt; usleep(1);// If it is not here operation stuck&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; if( clock_gettime( CLOCK_REALTIME, &amp;amp;start) == -1 ) {&lt;BR /&gt; perror( "clock gettime" );&lt;BR /&gt; return EXIT_FAILURE;&lt;BR /&gt; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while((*(unsigned int *)(mptr+DMA1_SR0)&amp;amp;(1&amp;lt;&amp;lt;2))==0x4)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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; usleep(1);// If it is not here operation stuck&lt;BR /&gt;&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;&amp;nbsp;printf("\nDMA transfer is finished\n");&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; if( clock_gettime( CLOCK_REALTIME, &amp;amp;stop) == -1 ) {&lt;BR /&gt; perror( "clock gettime" );&lt;BR /&gt; return EXIT_FAILURE;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;elapsedTime = ( stop.tv_sec - start.tv_sec )&lt;BR /&gt; + ((double)( stop.tv_nsec - start.tv_nsec )&lt;BR /&gt; /(double)BILLION);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;printf("\ndma elapsed time in sec :%lf transfer size%dMB\n",elapsedTime,(size/(1024 * 1024)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dhanasekaran K&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jul 2018 05:07:00 GMT</pubDate>
    <dc:creator>dhanasekaran</dc:creator>
    <dc:date>2018-07-18T05:07:00Z</dc:date>
    <item>
      <title>how to know DDR memory bandwidth of T4240rdb board?</title>
      <link>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814110#M6892</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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; how to&amp;nbsp; know throughput of DDR memory in T4240rdb, I tried to write some pattern on memory location and calculate time taken for the operation it seem 2.5GB/s only(933 MHz ddr clock speed and 64bit bus width). Is there any tool available to measure ddr bandwidth? I expect upto 13.9GB/s.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in Advance,&lt;/P&gt;&lt;P&gt;Dhanasekaran K.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2018 07:27:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814110#M6892</guid>
      <dc:creator>dhanasekaran</dc:creator>
      <dc:date>2018-07-16T07:27:14Z</dc:date>
    </item>
    <item>
      <title>Re: how to know DDR memory bandwidth of T4240rdb board?</title>
      <link>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814111#M6893</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is needed to utilize the DMA to reveal actual DDR memory bandwidth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2018 07:04:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814111#M6893</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2018-07-17T07:04:32Z</dc:date>
    </item>
    <item>
      <title>Re: how to know DDR memory bandwidth of T4240rdb board?</title>
      <link>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814112#M6894</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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I already tried single write DMA Transfer(32MB only) between DDR memory locations and calculate the time taken which is 0.012823027&amp;nbsp; in sec for 32MB so per sec 2.43GB.&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; But in this test polling status register require some delay otherwise it stuck.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;while((*((unsigned int *)(mptr+DMA1_SR0)) &amp;amp; 0x04) == 4)&lt;BR /&gt; {&lt;BR /&gt; usleep(1);// If it is not here operation stuck&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; if( clock_gettime( CLOCK_REALTIME, &amp;amp;start) == -1 ) {&lt;BR /&gt; perror( "clock gettime" );&lt;BR /&gt; return EXIT_FAILURE;&lt;BR /&gt; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while((*(unsigned int *)(mptr+DMA1_SR0)&amp;amp;(1&amp;lt;&amp;lt;2))==0x4)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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; usleep(1);// If it is not here operation stuck&lt;BR /&gt;&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;&amp;nbsp;printf("\nDMA transfer is finished\n");&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; if( clock_gettime( CLOCK_REALTIME, &amp;amp;stop) == -1 ) {&lt;BR /&gt; perror( "clock gettime" );&lt;BR /&gt; return EXIT_FAILURE;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;elapsedTime = ( stop.tv_sec - start.tv_sec )&lt;BR /&gt; + ((double)( stop.tv_nsec - start.tv_nsec )&lt;BR /&gt; /(double)BILLION);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;printf("\ndma elapsed time in sec :%lf transfer size%dMB\n",elapsedTime,(size/(1024 * 1024)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dhanasekaran K&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2018 05:07:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/how-to-know-DDR-memory-bandwidth-of-T4240rdb-board/m-p/814112#M6894</guid>
      <dc:creator>dhanasekaran</dc:creator>
      <dc:date>2018-07-18T05:07:00Z</dc:date>
    </item>
  </channel>
</rss>

