how to know DDR memory bandwidth of T4240rdb board?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

how to know DDR memory bandwidth of T4240rdb board?

1,297 次查看
dhanasekaran
Contributor III

Hi!

      how to  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.

Thanks in Advance,

Dhanasekaran K.

0 项奖励
回复
2 回复数

1,146 次查看
ufedor
NXP Employee
NXP Employee

It is needed to utilize the DMA to reveal actual DDR memory bandwidth.

0 项奖励
回复

1,146 次查看
dhanasekaran
Contributor III

Hi!

            I already tried single write DMA Transfer(32MB only) between DDR memory locations and calculate the time taken which is 0.012823027  in sec for 32MB so per sec 2.43GB.

            But in this test polling status register require some delay otherwise it stuck. 

   

while((*((unsigned int *)(mptr+DMA1_SR0)) & 0x04) == 4)
{
usleep(1);// If it is not here operation stuck

}


if( clock_gettime( CLOCK_REALTIME, &start) == -1 ) {
perror( "clock gettime" );
return EXIT_FAILURE;
}
      while((*(unsigned int *)(mptr+DMA1_SR0)&(1<<2))==0x4)
        {
                usleep(1);// If it is not here operation stuck
        }

 printf("\nDMA transfer is finished\n");


if( clock_gettime( CLOCK_REALTIME, &stop) == -1 ) {
perror( "clock gettime" );
return EXIT_FAILURE;
}

elapsedTime = ( stop.tv_sec - start.tv_sec )
+ ((double)( stop.tv_nsec - start.tv_nsec )
/(double)BILLION);

printf("\ndma elapsed time in sec :%lf transfer size%dMB\n",elapsedTime,(size/(1024 * 1024)));

Regards,

Dhanasekaran K

0 项奖励
回复