现在的位置: 首页 > 综合 > 正文

FPGA中用C语言指针实现内存测试

2013年08月28日 ⁄ 综合 ⁄ 共 786字 ⁄ 字号 评论关闭

如题;

这是老师给的一个题目,目的是让我们熟悉,FPGA的C语言操作,防止眼高手低。

 

说实话,TestApp_Memory是XPS自带的一个检测程序,原理很好理解,本来就是数据写进去再读出来的过程。可是一提到我们自己操作,还要用底层的“地址指针”,听着有点发怵,而且网上相关资料有相对较少,开始的时候可真难难道我了。

 

刚开始想,既然是底层操作,看系统自带的文档吧,呵呵,刚好那个RAM的IP核有一份文档,而且在GUI中很容易的可以调出来,但是,23页英文的文档啊………

 

最后,还是顺手求助,google,真的是顺手啊,然后发现了下面这篇文章:

 从TestApp_Memory说起~

呵呵,帮了大忙了,真的,原来可以找到实现的源码啊,这不就简单了吗,废话不多说了,我把最后8位数据写入读取的代码贴上来好了(至于16位和32位,大同小异,其实,参照xutil_memtest.c中的源码很容易就可以写出来的)。

 

//8位数据读取,写入测试……

  u8 uVal = 0x00;
  u8 bIsSuccess = 1;
  u32 i;
  u8 * uAddr =(Xuint8*)XPAR_MICRON_RAM_MEM0_BASEADDR;
  for(i=0L;i<1024;i++)
    {
       uAddr[i] = uVal;
    }
  for(i=0L;i<1024;i++)
    {
       if(uAddr[i] != uVal) bIsSuccess = 0;
    }
  if(bIsSuccess == 0)
   {
       print("enen,shibaile……");
   }
  else
  {
        print("hehe,chenggongle^_^");
  }

 

最后,反思,果然如老师所说的,FPGA可以用C语言的指针就是地址的特点,进行硬件操作,很方便啊,现在我有一点点感觉了。

抱歉!评论已关闭.