FPGA中用C语言指针实现内存测试
2010-05-09 21:59
681 查看
如题;
这是老师给的一个题目,目的是让我们熟悉,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语言的指针就是地址的特点,进行硬件操作,很方便啊,现在我有一点点感觉了。
这是老师给的一个题目,目的是让我们熟悉,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语言的指针就是地址的特点,进行硬件操作,很方便啊,现在我有一点点感觉了。
相关文章推荐
- C语言利用 void 类型指针实现面向对象类概念与抽象。
- 关于AVL平衡二叉树的c语言实现(函数内部改变指针本身)
- 指针实现字符串IP地址转化为十进制IP地址输出-c语言
- C语言实现的线性表 函数形参:指针类型与变量类型的区别 (SqList *L)(SqList L)
- [C语言教程]指针转换方式实现C语言的指针操作安全代码
- 通过swap代码分析C语言指针在汇编级别的实现
- C语言指针实现循环报数问题(简单约瑟夫环问题)
- C语言用指针实现将字符串里的单词顺序倒置
- C语言用结构体和指针实现面向对象编程
- C语言指针实现排序算法
- c语言实现学生成绩录入,主要是对指针的运用
- C语言实现带头指针的单向链表库
- C语言指针实现简单队列
- c语言用指针实现求最大数和最小数的程序
- 【C语言】自己编写程序实现strchr函数。即在给定字符串中找特定的字符并返回该处指针。
- C和指针第二章--表达式计算器的C语言实现
- 【C语言】使用指针实现交换变量值
- C语言学习之 通过指向函数的指针 实现函数的调用
- DES加密:8051实现(C语言) & FPGA实现(VHDL+NIOS II)
- 经典排序思想,并用C语言指针实现排序算法