ZYNQ_PS_DDR全地址读写测试

  1. 通过修改xtime_l.c的XTime_GetTime代码完成对于程序运行耗用时间的计算
void XTime_GetTime(XTime *Xtime)
{
    u32 low;
    u32 high;

    /* Reading Global Timer Counter Register */
    do
    {
        high = Xil_In32(GLOBAL_TMR_BASEADDR + GTIMER_COUNTER_UPPER_OFFSET);
        low = Xil_In32(GLOBAL_TMR_BASEADDR + GTIMER_COUNTER_LOWER_OFFSET);
    } while(Xil_In32(GLOBAL_TMR_BASEADDR + GTIMER_COUNTER_UPPER_OFFSET) != high);

    *Xtime = (((XTime) high) << 32) | (XTime) low;
}
  1. ZYNQ PS端DDR3的全地址读写测试和所用时间的测试

#include "stdio.h"
#include "xparameters.h"
#include "xparameters_ps.h"
#include "xil_printf.h"
#include "xil_io.h"
#include "sleep.h"
#include "xtime_l.h"
#include "xpm_counter.h"


#define COUNTS_PER_SECOND          (XPAR_CPU_CORTEXA9_CORE_CLOCK_FREQ_HZ / 2)


#define DDR_BASEARDDR      XPAR_DDR_MEM_BASEADDR + 0x00100000

int main()

{

    u32 i;
    u32 j=0;
    u32 k=0;
    u8 rev;
    XTime tEnd, tCur;
    u32 tUsed;
    xil_printf("Wait for read and write test for PS_DDR3......\n\r");
    XTime_GetTime(&tCur);
    for(i=0; i<(((u32)XPAR_DDR_MEM_HIGHADDR)-((u32)DDR_BASEARDDR)); i++)
    {

        Xil_Out8(DDR_BASEARDDR+i,(i+0x20));
        rev=Xil_In8(DDR_BASEARDDR+i);
              if(rev==(u8)(i+0x20)){
              	j++;
              }
              else {
               k++;
              }

    }
    if(j==(((u32)XPAR_DDR_MEM_HIGHADDR)-((u32)DDR_BASEARDDR))){
    	xil_printf("The PS_DDR3 TEST SUCCESSFUL\n\r");
    }
    else{
        xil_printf("The PS_DDR3 TEST FAILED\n\r");
    }
    sleep(1);
        xil_printf("The correct count is:%x\r",j);
    sleep(1);
        xil_printf("The error count is:%x\r",k);
        XTime_GetTime(&tEnd);
        tUsed = ((tEnd-tCur)*1000000)/(COUNTS_PER_SECOND);
        xil_printf("time elapsed is %d us\r\n",tUsed);

    return 0;

}

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个会飞的小苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值