作者escorpion (pavone先生)
看板Electronics
标题[问题] 使用Terasic DE0写入SDRAM当掉问题
时间Tue Dec 12 00:53:03 2017
大家好,
最近开始接触FPGA,使用Terasic DE0开发板,
然後用SOPC builder和 Nios ii 处理器对板子上的SDRAM做R/W的动作。
我的C程式码很简单,
就是对一个address写一个固定值进去,
然後再把这个address的值读出来看看有没有写成功。
程式码大概如下(所有用到的变数都是unsigned int):
while(1)
{
scanf("%d",&i); // enter 1/0 for write/read
scanf("%d",&offset); //enter address offset
if(i)
{
scanf("%d", &data);// enter data to be written
IOWR(SDRAM_BASE, offset, data);
}
else
{
printf("%d", IORD(SDRAM_BASE, offset));
}
}
所以我的动作就是一开始按1,然後给一个offset值跟data值,
之後按0看看刚刚输入的值有没有正确读出。
可是测试的结果是offset值在0~7之间一切都是正常的,
当变成8时程式就会当掉。
我後来发现不一定是8, 在某些不固定的address写进去时也会发生此现象,
有时甚至会跑出乱码。
想请问一下有大大知道这是什麽情况吗?
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.15.236
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1513011186.A.6DA.html
1F:→ mmonkeyboyy: 是不是写到某个位元就当掉? 12/21 21:27